« Descriptor (TQueryExecuteTask) » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| 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 à 10:09
<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
| 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 :
<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 —
}}