Descriptor (TQueryExecuteTask)
Ligne 139 : | Ligne 139 : | ||
===output=== | ===output=== | ||
Cette section décrit la destination de l'export | Cette section décrit la destination de l'export | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | !Item | ||
+ | !Type | ||
+ | !O/F | ||
+ | !Valeur | ||
+ | |- | ||
+ | |BooksheetName | ||
+ | |string | ||
+ | |F | ||
+ | |Nom de l'onglet si le document est un classeur | ||
+ | |- | ||
+ | |BooksheetInfo | ||
+ | |string | ||
+ | |F | ||
+ | |Titre de l'onglet si le document est un claseur | ||
+ | |- | ||
+ | |OutputContainerName | ||
+ | |string | ||
+ | |F | ||
+ | |Nom du containeur de sortie | ||
+ | |- | ||
+ | |OutputFileName | ||
+ | |string | ||
+ | |F | ||
+ | |Nom du fichier de sortie | ||
+ | |- | ||
+ | |OutputDocumentName | ||
+ | |string | ||
+ | |F | ||
+ | |Nom du document de sortie | ||
+ | |- | ||
+ | |OutputMailTo | ||
+ | |string | ||
+ | |F | ||
+ | |Adresse(s) messagerie de sortie | ||
+ | |- | ||
+ | |OutputMailSubject | ||
+ | |string | ||
+ | |F | ||
+ | |Sujet du mail | ||
+ | |- | ||
+ | |OutputMailBody | ||
+ | |string | ||
+ | |F | ||
+ | |Corps du mail | ||
+ | |- | ||
+ | |OutputQueueName | ||
+ | |string | ||
+ | |F | ||
+ | |Nom de la file d'attente de sortie | ||
+ | |- | ||
+ | |OutputEncoding | ||
+ | |string | ||
+ | |F | ||
+ | |Encodage du fichier de sortie | ||
+ | |- | ||
+ | |OutputContentType | ||
+ | |string | ||
+ | |F | ||
+ | |Type de contenu du fichier de sortie | ||
+ | |- | ||
+ | |ExportColumns | ||
+ | |boolean | ||
+ | |F | ||
+ | |Exporter les entêtes de colonne | ||
+ | |- | ||
+ | |Compressed | ||
+ | |boolean | ||
+ | |F | ||
+ | |Compresser le fichier de sortie | ||
+ | |- | ||
+ | |columns | ||
+ | |Liste de column | ||
+ | |O | ||
+ | |Liste des colonnes à exporter | ||
+ | |} | ||
+ | |||
+ | '''column :''' | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | !Item | ||
+ | !Type | ||
+ | !O/F | ||
+ | !Valeur | ||
+ | |- | ||
+ | |PropName | ||
+ | |string | ||
+ | |O | ||
+ | |Nom de l'attribut de la classe de la requête | ||
+ | |- | ||
+ | |Title | ||
+ | |string | ||
+ | |O | ||
+ | |Titre de la colonne | ||
+ | |- | ||
+ | |Offset | ||
+ | |integer | ||
+ | |F | ||
+ | |Offset dans le fichier de sortie (format fixe) | ||
+ | |- | ||
+ | |Length | ||
+ | |integer | ||
+ | |F | ||
+ | |Longueur dans le fichier de sortie (format fixe) | ||
+ | |} | ||
===exporter=== | ===exporter=== | ||
Cette section décrit le formatage des données exportées. | Cette section décrit le formatage des données exportées. | ||
+ | |||
+ | Les propriétés de l'exporteur dépendent du type de l'exporteur. | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | !Item | ||
+ | !Type | ||
+ | !O/F | ||
+ | !Valeur | ||
+ | |- | ||
+ | |ClassName | ||
+ | |string | ||
+ | |O | ||
+ | |Nom de la classe de l'exporteur | ||
+ | |- | ||
+ | |NumberFormat | ||
+ | |string | ||
+ | |F | ||
+ | |Format de nombre | ||
+ | |- | ||
+ | |WordWrap | ||
+ | |string | ||
+ | |F | ||
+ | |WordWrap | ||
+ | |- | ||
+ | |Landscape | ||
+ | |string | ||
+ | |F | ||
+ | |Landscape | ||
+ | |- | ||
+ | |AsCube | ||
+ | |string | ||
+ | |F | ||
+ | |AsCube | ||
+ | |- | ||
+ | |PrintColors | ||
+ | |string | ||
+ | |F | ||
+ | |PrintColors | ||
+ | |- | ||
+ | |ExportColors | ||
+ | |string | ||
+ | |F | ||
+ | |ExportColors | ||
+ | |- | ||
+ | |Borderaround | ||
+ | |string | ||
+ | |F | ||
+ | |BorderAround | ||
+ | |- | ||
+ | |GridMode | ||
+ | |string | ||
+ | |F | ||
+ | |GridMode | ||
+ | |- | ||
+ | |FitToWidth | ||
+ | |string | ||
+ | |F | ||
+ | |FitToWidth | ||
+ | |- | ||
+ | |ScaleFactor | ||
+ | |string | ||
+ | |F | ||
+ | |ScaleFactor | ||
+ | |- | ||
+ | |PageOrder | ||
+ | |string | ||
+ | |F | ||
+ | |PageOrder | ||
+ | |- | ||
+ | |Title | ||
+ | |string | ||
+ | |F | ||
+ | |Title | ||
+ | |- | ||
+ | |Title2 | ||
+ | |string | ||
+ | |F | ||
+ | |Title2 | ||
+ | |- | ||
+ | |HeaderPage | ||
+ | |string | ||
+ | |F | ||
+ | |HeaderPage | ||
+ | |- | ||
+ | |HeaderText | ||
+ | |string | ||
+ | |F | ||
+ | |HeaderText | ||
+ | |- | ||
+ | |FooterText | ||
+ | |string | ||
+ | |F | ||
+ | |FooterText | ||
+ | |} | ||
+ | |||
+ | '''Classe d'exporteur''' | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | |TCSVExporter | ||
+ | |Export au format CSV (.csv) | ||
+ | |- | ||
+ | |TPdfExporter | ||
+ | |Acrobat Reader (.pdf) | ||
+ | |- | ||
+ | |TXMLExporter | ||
+ | |Export au format xml (.xml) | ||
+ | |- | ||
+ | |TOpenXmlExporter | ||
+ | |Microsoft Excel 2007 (.xlsx) | ||
+ | |- | ||
+ | |TOpenDocumentExporter | ||
+ | |Open Office 1.2 (.ods) | ||
+ | |} | ||
===interface=== | ===interface=== | ||
Cette section indique que la classe principale du descriptif est une interface. | Cette section indique que la classe principale du descriptif est une interface. | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | !Item | ||
+ | !Type | ||
+ | !O/F | ||
+ | !Valeur | ||
+ | |- | ||
+ | |ClassName | ||
+ | |string | ||
+ | |O | ||
+ | |Nom de l'interface | ||
+ | |- | ||
+ | |OrderBy | ||
+ | |string | ||
+ | |F | ||
+ | |Ordre de tri du résultat (membre de l'interface) | ||
+ | |- | ||
+ | |OrderByDesc | ||
+ | |boolean | ||
+ | |F | ||
+ | |Ordre de tri descendant | ||
+ | |- | ||
+ | |UnionAll | ||
+ | |boolean | ||
+ | |F | ||
+ | |Utiliser "UNION ALL" au lieu de "UNION" | ||
+ | |} | ||
+ | |||
+ | Lorsqu'une interface est utilisée toutes les requêtes dont la classe supporte l'interface sont jointe dans une UNION : | ||
+ | |||
+ | <pre> | ||
+ | Statements "Before" | ||
+ | ( | ||
+ | Code SQL généré par la requête 1 si sa classe supporte l'interface | ||
+ | ) | ||
+ | UNION | ||
+ | ( | ||
+ | Code SQL généré par la requête 2 si sa classe supporte l'interface | ||
+ | ) | ||
+ | UNION | ||
+ | .... | ||
+ | Order By défini dans la section Interface | ||
+ | Statements "After" | ||
+ | </pre> | ||
+ | |||
===parameters=== | ===parameters=== | ||
Cette section décrit des paramètres communs à toutes les requêtes. | Cette section décrit des paramètres communs à toutes les requêtes. | ||
− | ==== | + | ====parameter==== |
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | !Item | ||
+ | !Type | ||
+ | !O/F | ||
+ | !Valeur | ||
+ | |- | ||
+ | |Name | ||
+ | |string | ||
+ | |O | ||
+ | |Nom du paramètre | ||
+ | |- | ||
+ | |dataType | ||
+ | |string | ||
+ | |F | ||
+ | |Type de donnée attendu | ||
+ | |- | ||
+ | |value | ||
+ | |string | ||
+ | |O | ||
+ | |Valeur sérialisée du paramètre | ||
+ | |} | ||
===statements=== | ===statements=== | ||
Ligne 155 : | Ligne 447 : | ||
====statement==== | ====statement==== | ||
+ | |||
+ | {|class="wikitable" | ||
+ | |- | ||
+ | !Item | ||
+ | !Type | ||
+ | !O/F | ||
+ | !Valeur | ||
+ | |- | ||
+ | |Provider | ||
+ | |string | ||
+ | |F | ||
+ | |Nom du provider auquel s'applique l'ordre | ||
+ | |- | ||
+ | |SQL | ||
+ | |string | ||
+ | |O | ||
+ | |Code SQL généré | ||
+ | |- | ||
+ | |mode | ||
+ | |string | ||
+ | |O | ||
+ | |Mode de génération (Before,After) | ||
+ | |} | ||
Exemple : | Exemple : |
Version du 22 janvier 2020 à 11:09
Sommaire |
property Descriptor:TfwxmlDocument;
Cette propriété contient le descriptif d'exportation.
La structure d'un descripteur d'exportation est la suivante :
<root> <title>...</title> <queries> <query>...</query> ... </queries> <output>...</output> <exporter>...</exporter> <interface>...</interface> <parameters> <parameter>...</parameter> ... </parameters> <statements> <statement>...</statement> ... </statements> <root>
Title
Titre du descriptif
queries
Cette section est une collection de requêtes (query)
query
Cette section décrit une requête
Item | Type | O/F | Valeur |
---|---|---|---|
ClassName | string | O | Nom de la classe de la requête |
navMode | string | F | Mode de navigation |
Filter | string | F | Expression objet de filtre |
Descendants | boolean | F | Inclure les classes descendantes |
ClassFilter | string | F | Filtre sur les classes |
OrderBy | string | F | Ordre de tri |
NoOrderBy | boolean | F | Pas de tri |
NoOrderByOID | boolean | F | Pas de tri par OID |
Distinct | boolean | F | Ajout de la clause distinct |
ShareRestrictions | string | F | Restrictions de partage |
NoInCommitCache | boolean | F | ignorer le cache |
Args | Liste de Arg | F | Liste d'arguments par index |
parameters | Liste de parameter | F | Liste de paramètres par nom |
Arg
Text de l'élément Arg | Valeur sérialisée du paramètre |
Parameter
Name | Nom du paramètre |
Value | Valeur sérialisée du paramètre |
output
Cette section décrit la destination de l'export
Item | Type | O/F | Valeur |
---|---|---|---|
BooksheetName | string | F | Nom de l'onglet si le document est un classeur |
BooksheetInfo | string | F | Titre de l'onglet si le document est un claseur |
OutputContainerName | string | F | Nom du containeur de sortie |
OutputFileName | string | F | Nom du fichier de sortie |
OutputDocumentName | string | F | Nom du document de sortie |
OutputMailTo | string | F | Adresse(s) messagerie de sortie |
OutputMailSubject | string | F | Sujet du mail |
OutputMailBody | string | F | Corps du mail |
OutputQueueName | string | F | Nom de la file d'attente de sortie |
OutputEncoding | string | F | Encodage du fichier de sortie |
OutputContentType | string | F | Type de contenu du fichier de sortie |
ExportColumns | boolean | F | Exporter les entêtes de colonne |
Compressed | boolean | F | Compresser le fichier de sortie |
columns | Liste de column | O | Liste des colonnes à exporter |
column :
Item | Type | O/F | Valeur |
---|---|---|---|
PropName | string | O | Nom de l'attribut de la classe de la requête |
Title | string | O | Titre de la colonne |
Offset | integer | F | Offset dans le fichier de sortie (format fixe) |
Length | integer | F | Longueur dans le fichier de sortie (format fixe) |
exporter
Cette section décrit le formatage des données exportées.
Les propriétés de l'exporteur dépendent du type de l'exporteur.
Item | Type | O/F | Valeur |
---|---|---|---|
ClassName | string | O | Nom de la classe de l'exporteur |
NumberFormat | string | F | Format de nombre |
WordWrap | string | F | WordWrap |
Landscape | string | F | Landscape |
AsCube | string | F | AsCube |
PrintColors | string | F | PrintColors |
ExportColors | string | F | ExportColors |
Borderaround | string | F | BorderAround |
GridMode | string | F | GridMode |
FitToWidth | string | F | FitToWidth |
ScaleFactor | string | F | ScaleFactor |
PageOrder | string | F | PageOrder |
Title | string | F | Title |
Title2 | string | F | Title2 |
HeaderPage | string | F | HeaderPage |
HeaderText | string | F | HeaderText |
FooterText | string | F | FooterText |
Classe d'exporteur
TCSVExporter | Export au format CSV (.csv) |
TPdfExporter | Acrobat Reader (.pdf) |
TXMLExporter | Export au format xml (.xml) |
TOpenXmlExporter | Microsoft Excel 2007 (.xlsx) |
TOpenDocumentExporter | Open Office 1.2 (.ods) |
interface
Cette section indique que la classe principale du descriptif est une interface.
Item | Type | O/F | Valeur |
---|---|---|---|
ClassName | string | O | Nom de l'interface |
OrderBy | string | F | Ordre de tri du résultat (membre de l'interface) |
OrderByDesc | boolean | F | Ordre de tri descendant |
UnionAll | boolean | F | Utiliser "UNION ALL" au lieu de "UNION" |
Lorsqu'une interface est utilisée toutes les requêtes dont la classe supporte l'interface sont jointe dans une UNION :
Statements "Before" ( Code SQL généré par la requête 1 si sa classe supporte l'interface ) UNION ( Code SQL généré par la requête 2 si sa classe supporte l'interface ) UNION .... Order By défini dans la section Interface Statements "After"
parameters
Cette section décrit des paramètres communs à toutes les requêtes.
parameter
Item | Type | O/F | Valeur |
---|---|---|---|
Name | string | O | Nom du paramètre |
dataType | string | F | Type de donnée attendu |
value | string | O | Valeur sérialisée du paramètre |
statements
Cette section décrit des ajouts SQL générés lors de la création du code sql
statement
Item | Type | O/F | Valeur |
---|---|---|---|
Provider | string | F | Nom du provider auquel s'applique l'ordre |
SQL | string | O | Code SQL généré |
mode | string | O | Mode de génération (Before,After) |
Exemple :
Création dynamique de descriptif d'exportation :
//Function CreateDescriptor():TxmlDocument; var itr,itqs,itq,itt,itcs,itc,itu,itvs,itv,itas:TxmlItem; begin Result := TxmlDocument.Create(nil); itr := TxmlItem.Create(Result); itr.ItemName := 'root'; // Add a main query // main is the default query name // itqs := itr.AddItem('queries'); itq := itqs.AddItem('query'); itq.AddItems(['QueryName','ClassName'],['main','WfClasseA']); // Filtering // itq.AddItemText('Filter','(unBool=%1)'); itas := itq.AddItem('Args'); itas.AddItemSerializedVariant('Arg',True); // serializedValue for boolean true // Output // itt := itr.addItem('output'); itt.AddItemText('ExportColumns','true'); // Columns // itcs := itt.AddItem('columns'); // itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unCode','Code']); // itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unBool','Boolean']); // Translate value list // itvs := itc.AddItem('values'); itv := itvs.AddItem('value'); itv.AddAttribute('oldValue','N'); itv.AddAttribute('newValue','false'); // itv := itvs.AddItem('value'); itv.AddAttribute('oldValue','O'); itv.AddAttribute('newValue','true'); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unCompteur','Compteur']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unEntier','Entier']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unEtat','Enuméré']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unDouble','Double']); // Define which exporter to used // CSV for excel csv format // itu := itr.AddItem('exporter'); itu.AddItems(['ClassName'],['TCSVExporter']); end;
Affectation du descriptif à l'instance :
//Procedure Test; var qbe:TQueryExecuteTask; doc:TxmlDocument; begin qbe := TQueryExecuteTask.Create; doc := CreateDescriptor(); AStr := doc.SaveToString; // Do not create the descriptor directly inside the Descriptor.document // instead, use an intermediate document. // This will recreate the document with the correct internal item classes // qbe.Descriptor.Document.LoadFromString(AStr); ... end;
Voir aussi: