Fichier Comptabilité Autres Administration Certification

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
version:web:fonction:editeuretat:dataset [2020/04/24 09:05]
nicolas
version:web:fonction:editeuretat:dataset [2021/07/19 17:43] (Version actuelle)
nicolas
Ligne 4: Ligne 4:
 Vous pouvez aussi consulter Vous pouvez aussi consulter
  
-  * [[:version:web:menu:ecran:etat|Utilisation des états dans LoGeAs]]+  * [[clientlourd:autres:etat|Utilisation des états dans LoGeAs]]
   * [[:version:web:fonction:editeuretat:prefiltrage|Mieux utilisez l'outil de pré-filtrage des états (lorsqu'il est disponible)]]   * [[:version:web:fonction:editeuretat:prefiltrage|Mieux utilisez l'outil de pré-filtrage des états (lorsqu'il est disponible)]]
   * [[:version:web:menu:ecran:etat:etatenveloppe|Paramétrage des états enveloppe et étiquette]]|   * [[:version:web:menu:ecran:etat:etatenveloppe|Paramétrage des états enveloppe et étiquette]]|
Ligne 20: Ligne 20:
   - Afin l'état lui même, possède sur son dataset (objet d'accès au donnée) un ensemble de filtrage   - Afin l'état lui même, possède sur son dataset (objet d'accès au donnée) un ensemble de filtrage
  
-Afin de faciliter le choix des données qui vont être traitées, il est possible de lancer à l'ouverture de l'état un "pré-filtre" qui va permettre de limiter les données à trier. {{:version:web:fonction:editeuretat:schema_filtrage.png?800}}+Afin de faciliter le choix des données qui vont être traitées, il est possible de lancer à l'ouverture de l'état un "pré-filtre" qui va permettre de limiter les données à trier. {{:version:web:fonction:editeuretat:schema_filtrage.jpg?800}}
  
 ===== La gestion du pré-filtre ===== ===== La gestion du pré-filtre =====
Ligne 26: Ligne 26:
 ==== Paramétrer dans l'état l'usage du le pré-filtre ==== ==== Paramétrer dans l'état l'usage du le pré-filtre ====
  
-{{:version:web:fonction:editeuretat:dataset01.png?400  }}Pour que le filtre soit lancer il faut sur le DataSet concerné:+{{:version:web:fonction:editeuretat:dataset01.jpg?400  }}Pour que le filtre soit lancer il faut sur le DataSet concerné:
  
   * initialiser à "True" (vrai) l'option ShowFilterDialog   * initialiser à "True" (vrai) l'option ShowFilterDialog
Ligne 36: Ligne 36:
 ==== Utilisez le pré-filtre ==== ==== Utilisez le pré-filtre ====
  
-[[:version:web:fonction:editeuretat:prefiltrage|Voir la page dédié]]+[[:version:web:fonction:editeuretat:prefiltrage|Voir la page dédié]]\\
 [[:version:web:fonction:editeuretat:prefiltragedefaut|Le paramétrage des pré-filtres par défaut]] [[:version:web:fonction:editeuretat:prefiltragedefaut|Le paramétrage des pré-filtres par défaut]]
-===== Les outils de filtrage lié au DataSet de l'état ===== 
  
-===== Quelques informations complémentaire pour les développeurs ===== 
  
-==== Organisation des interaction entre les filtrages ====+===== Le DataSet TfrxQuery de Logeas informatique =====
  
-=== Note pour les développeurs ===+Quelques informations complémentaire pour les développeurs and co\\ 
 +**Unité D:\dev\logeas\src\Commun\Program\FRX\frxGSComponents.pas**
  
-Le principe de fonctionnement retenu est le suivant : 
  
 +==== Organisation des interaction entre les filtrages ====
 +Le principe de fonctionnement retenu est le suivant :
   * au lancement de l'état (Initialisation et exécution) **TfrxGSQuery.Create**  on ne connait pas le nom de la table ou la requête SQL, on crée donc le DataSet principal (dataset et ftable qui pointe vers le même objet) et le secondaire (fTableInterne) vide (enfin avec un ID sinon TkbmMemSQL plante) car TReport à besoin de l'objet   * au lancement de l'état (Initialisation et exécution) **TfrxGSQuery.Create**  on ne connait pas le nom de la table ou la requête SQL, on crée donc le DataSet principal (dataset et ftable qui pointe vers le même objet) et le secondaire (fTableInterne) vide (enfin avec un ID sinon TkbmMemSQL plante) car TReport à besoin de l'objet
   * ensuite la création de la table (CreateTable) est appelez en fonction de l'initialisation des données   * ensuite la création de la table (CreateTable) est appelez en fonction de l'initialisation des données
Ligne 56: Ligne 56:
   * Enfin on filtre éventuellement ftable/Dataset avec le filtre défini dans le composant de l'état.   * Enfin on filtre éventuellement ftable/Dataset avec le filtre défini dans le composant de l'état.
  
-=== Les propriétés du DataSet "TfrxGSQuery" === +==== Les propriétés du DataSet "TfrxGSQuery" ==== 
- +=== Propriétés liées au pré-filtrage ===
-== Propriétés liées au pré-filtrage == +
 ^Propriété^Type^Lecture/Ecriture^Commentaire| ^Propriété^Type^Lecture/Ecriture^Commentaire|
 |FilterName|String|Lecture/Ecriture|Nom de filtre choisi dans le pré-filtre| |FilterName|String|Lecture/Ecriture|Nom de filtre choisi dans le pré-filtre|
 |NonEtat|String|Lecture/Ecriture| | |NonEtat|String|Lecture/Ecriture| |
 |ShowFilterDialog|Boolean|Lecture/Ecriture|lance ou non le pré-filtre| |ShowFilterDialog|Boolean|Lecture/Ecriture|lance ou non le pré-filtre|
- +=== Propriétés liées au filtrage finales des données reçues ===
-== Propriétés liées au filtrage finales des données reçues == +
 ^Propriété^Type^Lecture/Ecriture^Commentaire| ^Propriété^Type^Lecture/Ecriture^Commentaire|
 |SQL|String|Lecture/Ecriture|Requête SQL demandée| |SQL|String|Lecture/Ecriture|Requête SQL demandée|
 |Filter|String|Lecture/Ecriture|Si "Filtered" est vrai, active un filtre supplémentaire sur les données reçu depuis la base| |Filter|String|Lecture/Ecriture|Si "Filtered" est vrai, active un filtre supplémentaire sur les données reçu depuis la base|
 |Filtered|Boolean|Lecture/Ecriture|Active "Filter" ci-dessus| |Filtered|Boolean|Lecture/Ecriture|Active "Filter" ci-dessus|
- +=== Propriétés liées à la possibilité d'export (hors interface) ===
-== Propriétés liées à la possibilité d'export (hors interface) == +
 ^Propriété^Type^Lecture/Ecriture^Commentaire| ^Propriété^Type^Lecture/Ecriture^Commentaire|
 |CanExport|Boolean|Lecture/Ecriture|Active le menu d'export de la table sur le clic droit sur le nom de l'état (à l’exécution)| |CanExport|Boolean|Lecture/Ecriture|Active le menu d'export de la table sur le clic droit sur le nom de l'état (à l’exécution)|
- +=== Propriétés informatives ===
-== Propriétés informatives == +
 ^Propriété^Type^Lecture/Ecriture^Commentaire| ^Propriété^Type^Lecture/Ecriture^Commentaire|
 |Description|String|Lecture/Ecriture|| |Description|String|Lecture/Ecriture||
Ligne 84: Ligne 76:
 |SQLFinal|String|Lecture seul|Requête SQL exécutée sur la base de donnée| |SQLFinal|String|Lecture seul|Requête SQL exécutée sur la base de donnée|
 |UserName|String|Lecture/Ecriture|Nom de la table dans l'interface, les scripts …| |UserName|String|Lecture/Ecriture|Nom de la table dans l'interface, les scripts …|
- +=== Propriétés autres ===
-== Propriétés autres == +
 ^Propriété^Type^Lecture/Ecriture^Commentaire| ^Propriété^Type^Lecture/Ecriture^Commentaire|
 |BCDTOCurrency|Boolean|Lecture/Ecriture|?| |BCDTOCurrency|Boolean|Lecture/Ecriture|?|
Ligne 94: Ligne 84:
 |Name|String|Lecture/Ecriture|Nom du composant| |Name|String|Lecture/Ecriture|Nom du composant|
 |ShowFilterDialog|Boolean|Lecture/Ecriture|lance ou non le pré-filtre| |ShowFilterDialog|Boolean|Lecture/Ecriture|lance ou non le pré-filtre|
- +=== Propriétés non implémentées ou non testées ===
-== Propriétés non implémentées ou non testées == +
 ^Propriété^Type^Lecture/Ecriture^Commentaire| ^Propriété^Type^Lecture/Ecriture^Commentaire|
 |IgnoreDupParams|Boolean|Lecture/Ecriture|Indique pour les requêtes avec paramètres si on doit géré les doublons (non géré)| |IgnoreDupParams|Boolean|Lecture/Ecriture|Indique pour les requêtes avec paramètres si on doit géré les doublons (non géré)|
Ligne 106: Ligne 94:
 |FieldAliases|TStringList|Lecture/Ecriture|| |FieldAliases|TStringList|Lecture/Ecriture||
  
-\\+==== Syntaxe SQL de la requête ==== 
 +=== Fonctions disponibles === 
 +[[https://components4developers.blog/2017/08/20/user-defined-functions-and-kbmmemsql/|Lien externe]] 
 +  * MATH.TRIG 
 +    * SIN(x) 
 +    * COS(x) 
 +    * TAN(x) 
 +    * LOG(x) 
 +    * LOG2(x) 
 +    * EXP(x) 
 +  * MATH 
 +    * TRUNC(x) Returns integer part 
 +    * FRAC(x) Returns fractional part 
 +    * MOD(x,y) Return remainder after integer division 
 +    * DIV(x,y) Integer division 
 +    * SQRT(x) Square root 
 +    * SQR(x) Square. Same as x*x 
 +    * ROOT(x,y) Calculate y’th root of x. 
 +    * MIN(x1..,xn) Return minimum argument value 
 +    * MAX(x1..,xn) Return maximum argument value 
 +    * AVG(x1..xn) Return average value of all arguments 
 +    * SUM(x1..,xn) Return sum of all arguments 
 +    * ABS(x) Return absolute (Non negative) value of x 
 +    * POW(x,y) Return x in the power of y 
 +  * STRING 
 +    * UPPER(x) Return uppercase value 
 +    * LOWER(x) Return lowercase value 
 +    * TRIM(x) Return value trimmed for leading and trailing spaces 
 +    * MID(x,y,z) Return z characters from x starting at y (first character is 1) 
 +    * LEFT(x,y) Return y leftmost characters of x 
 +    * RIGHT(x,y) Return y rightmost characters of x 
 +    * LENGTH(x) Return the length in characters of x 
 +    * LEFTPAD(x,y,z) Pad left of x with the character y until the complete result has a length of z 
 +    * RIGHTPAD(x,y,z) Pad right of x with the character y until the complete result has a length of z 
 +    * CHR(x) Convert the integer value x to a unicode character 
 +    * POS(x,y) Return the position in y, where the substring x is to be found. 0 is returned if x is not in y 
 +    * REPLACE(x,y,z,v,w) Search x for value y. When found, replace y with z. If v (optional) is true, then all occurrences are replaced.    If w (optional) is true, then search is case insensitive 
 +    * SPLIT(x,y,OUT z) Search x for the sub string y. When found return the leading part as result or null if nothing found. If z is provided (optional) then the trailing part is returned in the variable given by z. *NEW IN 7.77* 
 +  * DATETIME 
 +    * NOW Returns current date and time as a Delphi TDateTime type floating point value. 
 +    * DATE(x) Returns the date part of x which is a Delphi TDateTime type floating point value, as an integer. Same as TRUNC(somedate) 
 +    * TIME(x) Returns the time part of x which is a Delphi TDateTime type floating point value as a float. Same as FRAC(somedate) 
 +    * YEAR(x) Returns the year as an integer (2017) of the Delphi TDateTime type floating point value. 
 +    * MONTH(x) Returns the month as an integer (1 = Jan, 12=Dec) of the Delphi TDateTime type floating point value. 
 +    * DAY(x) Returns the day of month as an integer (1..31) of the Delphi TDateTime type floating point value. 
 +    * HOURS(x) Returns the hour value as an integer (0..23) of the Delphi TDateTIme type floating point value. 
 +    * MINUTES(x) Returns the minutes part as an integer (0..59) of the Delphi TDateTime type floating point value. 
 +    * SECONDS(x) Returns the seconds part as an integer (0..59) of the Delphi TDateTime type floating point value. 
 +    * DATESTRING(x) Returns the date of a Delphi TDateTime type floating point value as a formatted string according to the FormatSettings defined on the TkbmMemSQL component. 
 +    * TIMESTRING(x) Returns the time of a Delphi TDateTime type floating point value as a formatted string according to the FormatSettings defined on the TkbmMemSQL component. 
 +  * CAST 
 +    * CASTTODATETIME(x) Casts x to a Delphi TDateTime floating point value. If x is a string, it will be parsed according to the FormatSettings. 
 +    * CASTTOSTRING(x) Casts x to a string. If x is a TDateTime value, it will be converted to a date/time string value according to the FormatSettings. 
 +    * CASTTONUMBER(x) Casts x to a number. If x is a string, it will be converted to a floating point value according to the FormatSettings. 
 +  * CONDITIONAL 
 +    * IF(x,y,z,v) Depending on x, either y, z or v (optional) will be returned. If x is true, then y will be returned. If x is false, then z will be returned and if x is null then v alternative z will be returned if v is not specified. 
 +    * ISNULL(x) Return true or false depending on if x is null. 
 +  * CONVERSION 
 +    * DATATYPE(x,OUT y, OUT z) Parses the SQL style datatype (eg. VARCHAR(30)) given in x, and returns the Delphi TFieldType best matching as an integer or NULL if the given SQL datatype is invalid. If y is provided (optional), the size of the declaration (eg 30) is returned in the referenced variable. If z is provided (optional), the precision of the declaration (eg 0) is returned in the referenced variable.  
 +=== Fonctions ajoutées === 
 +^Nom et format^Explication^ 
 +|StrMonth(<DateTime>)|Rend le nom du mois sous forme abrégée| 
 +==== Syntaxe SQL ==== 
 + 
 +[[https://components4developers.blog/2018/10/30/kbmmw-features-4-sql-xml-json-handinhand/|Lien externe]] 
 + 
 +=== Limitations/problèmes connues === 
 + 
 +  * le requetteur ne gère pas plusieurs niveau (exemple : SELECT * FROM (SELECT * FROM Personne))  FAUX ??? 
 +  * les requettes doivent être au format SQL pas au format mormot !!! 
 +  * les parametre dans les requettes SQL ne sont pas gérés 
 +  * lors des regroupement par Group BY le renommage des champs initiaux d'une table pose probléme ... 
 +  * tous les champs déclaré doivent être repris dans ORDER BY!!! 
 +  * lors d'un plantage (mauvaise requette par exemple) il arrive que les tables disparaisse... Fermer le logiciel et rechargé !!!
  
  
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
version/web/fonction/editeuretat/dataset.1587711934.txt.gz · Dernière modification: 2021/06/21 16:54 (modification externe)