Variables dans le texte
Les variables stockent une valeur, telle qu'un nombre, une chaîne ou un autre type de données. Les variables sont utilisées dans :
- Nom de la tâche (dans le modèle de tâche ou lors de la création d'une tâche)
- Description de la tâche (dans le modèle de tâche ou lors de la création d'une tâche)
- Modèles d'e-mail
- Actions de Script, boutons, webhooks entrants, règles e-mail pour les tâches :
- Send HTTP request
- Send SMS
- Write to WhatsApp
- Write to Instagram
- Actions en masse, scénarios, boutons, webhooks entrants, règles e-mail pour les tâches :
- Change name
- Change description
- Add comment
- Set field value (pour les champs "Text")
Pour ajouter une variable dans le texte, par exemple dans la description de la tâche, cliquez sur le lien "different variables" (1), créez la variable et ajoutez-la au texte du champ souhaité dans le modèle de tâche (2) :
Calculs avec des variables
Parfois, il ne suffit pas d'insérer la valeur d'une variable dans le texte ; il faut également effectuer des calculs avec les valeurs des variables ou traiter la chaîne obtenue. Pour ces actions, utilisez la syntaxe suivante :
%%%FORMULA TEXT%%%
Exemples
Important
- Le texte de la formule doit être écrit sur une seule ligne et ne peut pas être interrompu. En d'autres termes, la formule ne peut pas être repartie sur la ligne suivante en appuyant sur la touche Entrée.
- Les variables dans la formule ne peuvent pas être formatées, par exemple en gras ou en italique.
- Si vous devez mettre en gras le résultat de la formule, appliquez le formatage à l'ensemble de la formule avec le résultat.
IF
Pour insérer du texte en fonction des valeurs des variables (conditions), utilisez la syntaxe suivante :
TEXT
%%$ENDBLOCK$%%
Exemple
%%$IF({{Task.Order Amount}} > 100000)$%%
VIP CUSTOMER
%%$ENDBLOCK$%%
Résultat:
ELSE
ELSE s'utilise uniquement avec IF. Lorsque la condition dans IF est fausse, le texte de la partie ELSE du bloc est affiché.
%%$IF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Exemple
%%$IF({{Task. Invoice №}}="")$%%
The field [Invoice №] is not filled in
%%$ELSE$%%
The required task field is filled in! :)
%%$ENDBLOCK$%%
Résultat:
- Si le champ n'est pas rempli, le message "The field [Invoice №] is not filled in" sera affiché.
- Si le champ est rempli, le message "The required task field is filled in! :)" sera affiché.
ELSEIF
Permet de créer une expression plus complexe avec des conditions :
%%$IF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Remarque
- Le dernier ELSE est une partie optionnelle du bloc.
Exemple
%%$IF({{Task.Invoice Number}}="")$%%
The field [Invoice Number] is not filled in
%%$ELSEIF({{Task.UPD Number}}="")$%%
The field [UPD Number] is not filled in
%%$ELSEIF({{Task.Contract Number}}="")$%%
The field [Contract Number] is not filled in
%%$ELSE$%%
All task fields are filled in, you're awesome! :)
%%$ENDBLOCK$%%
Résultat:
- Si les trois champs ne sont pas remplis, seul le premier message "The field [Invoice Number] is not filled in" sera affiché ; les autres seront ignorés.
- Si les champs "Invoice Number" et "UPD Number" sont remplis, mais que le champ "Contract Number" ne l'est pas, alors le message correspondant "The field [Contract Number] is not filled in" sera affiché.
FOREACH
Lorsque une variable représente une liste de valeurs, par exemple {{Task.Subtasks}} ou {{Task.Assignee}}, et que vous devez afficher des informations pour chaque valeur, utilisez la syntaxe suivante :
TEXT
%%$ENDBLOCK$%%
Exemple
Résultat:
Jamse Davis - Developer
Mary Brown - CEO
Résultat:
2120 - Sub-final finishing
2121 - Final touches
Exemple avec condition
%%$FOREACH(Variable;Delimiter;Condition_WITHOUT_If)$%%
TEXT
%%$ENDBLOCK$%%
%%$FOREACH({{Task.Subtasks}};"";{{Task.Subtasks."Contract Amount ($)"}}>1000))$%%
{{Task.Subtasks.Counterparty}}, contract amount {{Task.Subtasks."Contract Amount ($)"}}
%%$ENDBLOCK$%%
Résultat
De la liste entière des counterparties, seuls ceux avec un montant de contrat supérieur à 1000 seront affichés :
LLC Sunrise, 1500
LLC Sunset, 1700
LLC Dawn, 2500
Bloc ELSE à l'intérieur d'un FOREACH
%%$FOREACH(Variable;Delimiter)$%%
TEXT
%%$IF(Logical formula)$%%
TEXT
%%$ENDBLOCK$%%
TEXT
%%$ENDBLOCK$%%
%%$FOREACH({{Task.Subtasks}})$%%%%$IF({{Task.Subtasks.Status}}="TKP added to calculation")$%%
{{Task.Subtasks.Counterparty}}, {{Task.Subtasks.Counterparty.TIN}}, contract amount {{Task.Subtasks."Contract Amount"}} {{Task.Subtasks.Currency.Symbol}}
%%$ENDBLOCK$%%%%$ENDBLOCK$%%
Résultat:
LLC Sunrise, 5689845987654, 1500 $
LLC Sunset, 5689845125699, 1700 $
LLC Dawn, 5689845589674, 2500 $
LLC Light, 5689845235689, 500 $
TABLE
Si une variable représente une liste de valeurs, et que vous devez afficher l'information pour chaque valeur sous forme de tableau, utilisez la syntaxe suivante :
TEXT
%%$ENDBLOCK$%%
Exemple
L'exemple montre comment extraire uniquement les blocs nécessaires à partir du data tag ajouté dans la tâche et envoyer ces informations au client sous forme de tableau. Le tableau est ajouté en utilisant l'éditeur Planfix :
Order №{{Task.Number}}
%%$TABLE({{Data tag.Service}})$%%
| {{Data tag.Service.Service Name}} | {{Data tag.Service.Amount}} |
%%$ENDBLOCK$%%
Montant total de la commande : %%%TEXT(SUM({{Data tag.Service.Amount}});",.2f")+MULTIPLE(SUM({{Data tag.Service.Amount}}); " ruble"; " rubles")%%%
Résultat:
Order №2118
| Graphic design | 1 600.00 |
| Programming | 3 000.00 |
| Development of TA | 300.00 |
Montant total de la commande : 4 900.00 dollars
Exemple avec en-tête et total
Pour ajouter un en-tête ou une ligne de totaux au tableau, utilisez les paramètres suivants dans la syntaxe :
Table dessinée avec l'éditeur Planfix
%%$ENDBLOCK$%%
Exemple:
%%$TABLE({{Data Tag.Service}};1;1)$%%
| # | Name | Price |
|---|---|---|
| {{Data tag.Service.Record Number}} | {{Data tag.Service.Service Name}} | {{Data tag.Service.Amount}} |
| Total | %%%SUM({{Data tag.Service.Amount}})%%% | |
%%$ENDBLOCK$%%
Résultat:
| # | Name | Price |
|---|---|---|
| 1 | Development of TA | 1 000.00 |
| 2 | Programming | 3 705.00 |
| 3 | Graphic design | 1 035.00 |
| 4 | Testing | 690.00 |
| Total | 6430 | |
Les nombres mis en évidence en rouge indiquent combien de lignes utiliser pour l'en-tête et les totaux.
Par exemple, les nombres (1;1) dans l'exemple ci-dessus signifient qu'une ligne au début sera utilisée pour l'en-tête du tableau et une ligne à la fin sera utilisée pour les totaux du tableau.
Pour utiliser deux lignes dans l'en-tête du tableau, précisez-les ainsi — (2;1).
Exemple:
%%$TABLE({{Data tag .Service}};2;1)$%%
| Set of services | ||
|---|---|---|
| # | Name | Price |
| {{Data tag.Service.Record Number}} | {{Data tag.Service.Service Name}} | {{Data tag.Service.Amount}} |
| Total | %%%SUM({{Data tag.Service.Amount}})%%% | |
%%$ENDBLOCK$%%
Résultat:
| Set of services | ||
|---|---|---|
| # | Name | Price |
| 1 | Development of TA | 1 000.00 |
| 2 | Programming | 3 705.00 |
| 3 | Graphic design | 1 035.00 |
| 4 | Testing | 690.00 |
| Total | 6430 | |
Exemple avec condition
%%$TABLE(Variable;0;0;Condition_WITHOUT_If)$%%
Table drawn using the Planfix editor
%%$ENDBLOCK$%%
%%$TABLE({{Task.Subtasks}};1;0;{{Task.Subtasks.Status}}="TKP added to calculation")$%%
| Counterparty | TIN | Contract amount |
|---|---|---|
| {{Task.Subtasks.Counterparty}} | {{Task.Subtasks.Counterparty.TIN}} | {{Task.Subtasks."Contract Amount"}}{{Task.Subtasks.Currency.Symbol}} |
%%$ENDBLOCK$%%
Résultat:
| Counterparty | TIN | Contract amount |
|---|---|---|
| LLC Sunrise | 5689845987654 | 1500$ |
| LLC Sunset | 5689845125699 | 1700$ |
| LLC Dawn | 5689845589674 | 2500$ |
| LLC Light | 5689845235689 | 500$ |
Pour ajouter un en-tête au tableau, faites un clic droit dessus et sélectionnez Row - Insert Row Above :
FOREACH et TABLE avec infoblocks
Lors de l'analyse d'un e-mail ou de la réponse à une requête HTTP, vous recevez plusieurs lignes de données et souhaitez les ajouter sous forme de texte structuré ou de tableau :
- Extraites les données dans des infoblocks :
- Puis utilisez la syntaxe suivante :
%%$FOREACH({{Infoblock.!row}};Separator)$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%
%%$TABLE({{Infoblock.!row}})$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%
Exemple
Extraitons les données dans les infoblocks "Product" et "Price" et ajoutons-les au tableau :
%%$TABLE({{Infoblock.!row}})$%%
| {{Infoblock.!string.Product}} | {{Infoblock.!string.Price}} |
%%$ENDBLOCK$%%
Résultat:
| Pencil | 1,00 |
| Pen | 2,00 |
| Notebook | 10,00 |