Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| doc:v3:acquisition:apprentissage:fonctionsevaluation [2017/12/27 11:12] – romain | doc:v3:acquisition:apprentissage:fonctionsevaluation [2023/03/17 09:56] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| - | ===== Convertir en entier (cast) | + | ===== Comment utiliser l' |
| - | Double | + | Pour utiliser un élément ou une fonction : |
| + | - dans la zone de texte en haut, posistionnez le curseur à l' | ||
| + | - Double | ||
| - | La fonction **long()** prend en paramètre une variable qu' | + | Deux cas possibles : |
| - | Dans la liste de champs en-dessous, il suffit donc de choisir le champs | + | * Soit vous avez une fonction comme split, qui affiche |
| + | * Soit vous avez une fonction sans point devant, donc avec () à la fin | ||
| - | Vous verrez alors apparaitre | + | Dans le **premier cas**, le champs à impacter doit être placé devant le point qui précède |
| - | A moins d'une erreur, il n'y a plus qu'à cliquer sur Valider pour que votre choix soit prêt à être appliqué. Il est indiqué | + | < |
| - | === Condition OU entre plusieurs champs === | + | @FLD19.split(' |
| + | </ | ||
| + | Dans le **second cas**, le champs | ||
| + | |||
| + | Dans ce second cas, la position du champs dépend ensuite de la fonction, pour plus d' | ||
| + | |||
| + | Vous pouvez également dans la zone **Options de capture** > **Fonction**, | ||
| + | ===== Fonctions disponibles ===== | ||
| + | |||
| + | ==== Concaténation | ||
| + | < | ||
| + | Permet de concaténer les valeurs de chacun des paramètres qui lui sont fournis. | ||
| + | |||
| + | Il est également possible de spécifier un séparateur. | ||
| + | |||
| + | {{wiki: | ||
| + | |||
| + | === Options de capture === | ||
| + | |||
| + | Deux syntaxes sont possibles. | ||
| + | |||
| + | Sans spécifier de séparateur: | ||
| + | < | ||
| + | |||
| + | En spécifiant un séparateur: | ||
| + | |||
| + | < | ||
| + | |||
| + | Où // | ||
| + | |||
| + | Chaque valeur peut être : | ||
| + | * Une chaîne de caractères encadrée par des quotes simples. | ||
| + | * Un numérique. | ||
| + | * [[# | ||
| + | * [[# | ||
| + | |||
| + | ==== Date d' | ||
| + | < | ||
| + | une macro qui fait une chose bien pratique de façon simple. | ||
| + | == Options de capture== | ||
| + | |||
| + | |||
| + | @fldX | ||
| + | La référence au champ date. | ||
| + | |||
| + | jours | ||
| + | Le nombre de jours que l'on souhaite ajouter à la date | ||
| + | ==== Concaténation de Date ==== | ||
| + | **@concatdate** permet de concaténer les valeurs de chacun des paramètres qui lui sont fournis et en plus leur applique la macro @Smartdate. | ||
| + | < | ||
| + | |||
| + | ou | ||
| + | < | ||
| + | |||
| + | Pour plus de détails se référer à la macro [[# | ||
| + | |||
| + | ==== Concaténation d' | ||
| + | |||
| + | |||
| + | **@concatdate** permet de concaténer les valeurs de chacun des paramètres qui lui sont fournis et en plus leur applique la macro **@Smartdate**. | ||
| + | < | ||
| + | |||
| + | ou | ||
| + | < | ||
| + | |||
| + | Pour plus de détails se référer à la macro [[# | ||
| + | ==== Condition OU entre plusieurs champs | ||
| **@or** renvoi 1 (sous forme de chaîne de caractère) si les champs champ1 OU champ2 ont été retrouvés sur le document. | **@or** renvoi 1 (sous forme de chaîne de caractère) si les champs champ1 OU champ2 ont été retrouvés sur le document. | ||
| Ligne 21: | Ligne 90: | ||
| Où champ1 et champ2 sont des références de champs (@FLDX) | Où champ1 et champ2 sont des références de champs (@FLDX) | ||
| - | === | + | ====Condition évaluée |
| < | < | ||
| Où // | Où // | ||
| - | Elle peut contenir des références à des champs d' | + | Elle peut contenir des références à des champs d' |
| **@condition** évalue l' | **@condition** évalue l' | ||
| est évaluée à faux. | est évaluée à faux. | ||
| - | {{wiki: | + | {{wiki: |
| par des simples quotes (sauf pour les valeurs 0, 1, True, False). | par des simples quotes (sauf pour les valeurs 0, 1, True, False). | ||
| Attention donc car un nombre devient une chaîne de caractère ! Il peut être alors nécessaire d' | Attention donc car un nombre devient une chaîne de caractère ! Il peut être alors nécessaire d' | ||
| de conversion ([[https:// | de conversion ([[https:// | ||
| - | === Conversion du jour numérique en texte === | + | ====Conversion du jour numérique en texte |
| **@int2day** est une macro qui traduit un jour exprimé sous forme numérique dans sa représentation littérale. | **@int2day** est une macro qui traduit un jour exprimé sous forme numérique dans sa représentation littérale. | ||
| Ligne 58: | Ligne 127: | ||
| En utilisant une [[cold: | En utilisant une [[cold: | ||
| @int2day(@< | @int2day(@< | ||
| - | === | + | ==== Conversion du mois texte |
| < | < | ||
| Ligne 82: | Ligne 151: | ||
| - | === Conversion du mois numérique en texte === | + | ==== Conversion du mois numérique en texte ==== |
| **@int2month** est une macro qui traduit un mois exprimé sous forme numérique dans sa représentation littérale. | **@int2month** est une macro qui traduit un mois exprimé sous forme numérique dans sa représentation littérale. | ||
| + | |||
| + | ==== Valeurs alternatives ==== | ||
| + | |||
| + | |||
| + | |||
| + | ** | ||
| + | @alternative** renvoi la première valeur non vide parmi une liste de valeurs possibles. | ||
| + | < | ||
| + | @alternative(@FLD4, | ||
| + | </ | ||
| + | La macro **@alternative** prend au minimum 2 paramètres. | ||
| + | |||
| + | Chaque paramètre alternatif peut être : | ||
| + | |||
| + | * Une chaîne de caractère (encadrée ou non par des simples quotes ou des doubles quotes) | ||
| + | | ||
| + | |||
| + | === Exemple === | ||
| + | |||
| + | ^ ID ^ Description du champ ^ Valeur retrouvée ^ | ||
| + | |3| Adresse de facturation | 2 Rue Pégoud, 90130 PETIT-CROIX | | ||
| + | |4| Recherche Adresse de livraison| 1 Rue du Général de Gaulle, 90130 Montreux-Château | | ||
| + | |||
| + | Nous avons deux champs. L'un nous retrouve l' | ||
| + | Nous voudrions, si l' | ||
| + | |||
| + | Créons un champ supplémentaire de type spécifique et utilisons la macro @alternative | ||
| + | @alternative(@FLD4, | ||
| + | | ||
| + | Le premier choix se porte sur le champ 4 (Recherche Adresse de livraison). S'il n'est pas trouvé on prendra la valeur | ||
| + | du champ 3 (Adresse de facturation). | ||
| + | |||
| + | Et si aucun n'est trouvé et que l'on souhaite indexer une valeur par défaut : | ||
| + | @alternative(@FLD4, | ||
| + | |||
| + | ==== Convertir en entier (cast) ==== | ||
| + | |||
| + | Double cliquez sur la fonction voulue donc " | ||
| + | |||
| + | La fonction **long()** prend en paramètre une variable qu' | ||
| + | |||
| + | Dans la liste de champs en-dessous, il suffit donc de choisir le champs qui contient la valeur que vous souhaitez convertir. Faites un double clic. | ||
| + | |||
| + | Vous verrez alors apparaitre la pseudo-variable, | ||
| + | A moins d'une erreur, il n'y a plus qu'à cliquer sur Valider pour que votre choix soit prêt à être appliqué. Il est indiqué dans le formulaire, section " | ||
| + | |||
| + | ==== Couper sur séparateur (split) ==== | ||
| + | |||
| + | La fonction split génère un tableau contenant toutes les parties. | ||
| + | |||
| + | Exemple : \\ | ||
| + | " | ||
| + | |||
| + | [" | ||
| + | |||
| + | Les index sont : 0,1 | ||
| + | |||
| + | Ou la première case donc index 0 : " | ||
| + | Et la deuxième case donc index 1 : " | ||
| + | |||
| + | Vous pouvez aussi parcourir les cases depuis la fin donc en partant de -1 pour la première case : | ||
| + | |||
| + | " | ||
| + | |||
| + | ==== Extraction d'une partie de la chaine ==== | ||
| + | |||
| + | Cette macro permet de ne prendre qu'une partie d'une valeur. | ||
| + | |||
| + | |||
| + | |||
| + | Il faut savoir qu'une chaine de texte en python est en réalité un tableau de caractères affichés les uns à la suite des autres. | ||
| + | |||
| + | C'est à dire : "glou glou" | ||
| + | est en fait un tableau qui contient : [" | ||
| + | |||
| + | Donc utiliser la macro ainsi : | ||
| + | |||
| + | @champ[0] affichera " | ||
| + | |||
| + | Ou encore : | ||
| + | |||
| + | @champ[1:3] affichera " | ||
| + | |||
| + | ==== Rechercher la position d'une chaine xxx depuis le debut ==== | ||
| + | |||
| + | @champ.find(' | ||
| + | |||
| + | La macro parcoure la chaine en affectant un numéro à chaque caractère (espaces compris), depuis 0. | ||
| + | Dès qu' | ||
| + | |||
| + | Si vous souhaitez obtenir la position du dernier caractère, vous pouvez utiliser la macro inverse rfind. | ||
| + | |||
| + | Exemple : | ||
| + | |||
| + | si le champ contient "le cheval s' | ||
| + | et que vous cherchez le premier a, utilisez @champ.find(' | ||
| + | Vous obtiendrez 7 | ||
| + | |||
| + | La macro compte les espaces comme des caractères. | ||