« Descriptor (TQueryExecuteTask) » : différence entre les versions
(→query) |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
__TOC__ | __TOC__ | ||
<source lang='delphi'>property Descriptor:TfwxmlDocument;</source> | <source lang='delphi'>property Descriptor:TfwxmlDocument;</source> | ||
Ligne 7 : | Ligne 6 : | ||
La structure d'un descripteur d'exportation est la suivante : | La structure d'un descripteur d'exportation est la suivante : | ||
{{tip|Toutes les valeurs sont définies dans le texte des éléments, sauf spécifié}} | |||
<source lang="xml"> | <source lang="xml"> |
Version du 22 janvier 2020 à 09:04
<source lang='delphi'>property Descriptor:TfwxmlDocument;</source>
Cette propriété contient le descriptif d'exportation.
La structure d'un descripteur d'exportation est la suivante :
<source lang="xml"> <root>
<title>...</title>
<queries> <query>...</query> ... </queries>
<output>...</output>
<exporter>...</exporter>
<interface>...</interface>
<parameters> <parameter>...</parameter> ... </parameters>
<statements> <statement>...</statement> ... </statements>
<root> </source>
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
exporter
Cette section décrit le formatage des données exportées.
interface
Cette section indique que la classe principale du descriptif est une interface.
parameters
Cette section décrit des paramètres communs à toutes les requêtes.
parametre
statements
Cette section décrit des ajouts SQL générés lors de la création du code sql
statement
Exemple :
Création dynamique de descriptif d'exportation :
<source lang="delphi"> //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; </source>
Affectation du descriptif à l'instance :
<source lang="delphi"> //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; </source>
Voir aussi:
{{#if:TQueryExecuteTask_(class)|
{{#if:TQueryExecuteTask_(class)|— TQueryExecuteTask_(class) |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}