Variabile în text
- Calculations with variables
- IF
- ELSE
- ELSEIF
- FOREACH
- TABLE
- FOREACH and TABLE with infoblocks
Variabilele stochează o valoare, cum ar fi un număr, un șir de caractere sau alt tip de date. Variabilele se folosesc în:
- Sarcină — nume (în șablon de sarcină sau la crearea unei sarcini)
- Descrierea sarcinii (în șablon de sarcină sau la crearea unei sarcini)
- Șabloane de email
- Acțiuni script, butoane, webhook-uri inbound, reguli de email pentru sarcini:
- Send HTTP request
- Send SMS
- Write to WhatsApp
- Write to Instagram
- Acțiuni în bloc, scripturi, butoane, webhook-uri inbound, reguli de email pentru sarcini:
- Change name
- Change description
- Add comment
- Set field value (pentru câmpuri de tip "Text")
Pentru a adăuga o variabilă în text, de exemplu în descrierea sarcinii, faceți clic pe linkul "different variables" (1), creați variabila și adăugați-o în textul câmpului dorit din șablonul de sarcină (2):
Calculations with Variables
Uneori nu este suficient să inserezi valoarea unei variabile în text — mai trebuie să faci calcule cu valorile din variabile sau să procesezi șirul obținut. Pentru astfel de acțiuni se folosește următoarea sintaxă:
%%%FORMULA TEXT%%%
Exemple
Important
- Textul formulei trebuie scris într-un singur șir și nu poate fi întrerupt. Cu alte cuvinte, formula nu poate fi mutată pe următorul rând prin apăsarea tastei Enter.
- Variabilele din formulă nu pot fi formatate (de ex. îngroșare sau cursiv).
- Dacă trebuie să evidențiați rezultatul formulei cu caractere îngroșate, aplicați formatarea întregii formule împreună cu rezultatul.
IF
Pentru a insera text în funcție de valorile variabilelor (condiții), folosiți următoarea sintaxă:
TEXT
%%$ENDBLOCK$%%
Exemplu
%%$IF({{Task.Order Amount}} > 100000)$%%
VIP CUSTOMER
%%$ENDBLOCK$%%
Rezultat:
ELSE
ELSE se folosește doar împreună cu IF. Când condiția din IF nu este adevărată, se afișează textul din partea ELSE a blocului.
%%$IF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Exemplu
%%$IF({{Task. Invoice №}}="")$%%
The field [Invoice №] is not filled in
%%$ELSE$%%
The required task field is filled in! :)
%%$ENDBLOCK$%%
Rezultat:
- Dacă câmpul nu este completat, va fi afișat mesajul "The field [Invoice №] is not filled in".
- Dacă câmpul este completat, va fi afișat mesajul "The required task field is filled in! :)".
ELSEIF
Ajută la crearea unei expresii mai complexe cu condiții:
%%$IF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Notă
- Ultimul ELSE este parte opțională a blocului.
Exemplu
%%$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$%%
Rezultat:
- Dacă toate cele trei câmpuri nu sunt completate, va fi afișat doar primul mesaj "The field [Invoice Number] is not filled in", celelalte vor fi sărite.
- Dacă câmpurile "Invoice Number" și "UPD Number" sunt completate, dar câmpul "Contract Number" nu este, atunci va fi afișat mesajul corespunzător "The field [Contract Number] is not filled in".
FOREACH
Când o variabilă reprezintă o listă de valori, cum ar fi {{Task.Subtasks}} sau {{Task.Assignee}}, și trebuie să afișați informații pentru fiecare valoare, folosiți următoarea sintaxă:
TEXT
%%$ENDBLOCK$%%
Exemplu
Rezultat:
Jamse Davis - Developer
Mary Brown - CEO
Rezultat:
2120 - Sub-final finishing
2121 - Final touches
Exemplu cu condiție
%%$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$%%
Rezultat
Din întreaga listă de parteneri, vor fi afișați doar cei cu o sumă a contractului mai mare de 1000:
LLC Sunrise, 1500
LLC Sunset, 1700
LLC Dawn, 2500
Bloc ELSE în interiorul 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$%%
Rezultat:
LLC Sunrise, 5689845987654, 1500 $
LLC Sunset, 5689845125699, 1700 $
LLC Dawn, 5689845589674, 2500 $
LLC Light, 5689845235689, 500 $
TABLE
Dacă o variabilă reprezintă o listă de valori și trebuie să afișați informațiile pentru fiecare valoare sub forma unui tabel, folosiți următoarea sintaxă:
TEXT
%%$ENDBLOCK$%%
Exemplu
Exemplul arată cum să extrageți doar blocurile necesare dintr-o etichetă de date adăugată la sarcină și să trimiteți aceste informații clientului sub forma unui tabel. Tabelul este adăugat folosind editorul Planfix:
Order №{{Task.Number}}
%%$TABLE({{Data tag.Service}})$%%
| {{Data tag.Service.Service Name}} | {{Data tag.Service.Amount}} |
%%$ENDBLOCK$%%
Total order amount: %%%TEXT(SUM({{Data tag.Service.Amount}});",.2f")+MULTIPLE(SUM({{Data tag.Service.Amount}}); " ruble"; " rubles")%%%
Rezultat:
Order №2118
| Graphic design | 1 600.00 |
| Programming | 3 000.00 |
| Development of TA | 300.00 |
Total order amount: 4 900.00 dollars
Exemplu cu antet și total
Pentru a adăuga un antet sau un rând cu totaluri la tabel, folosiți următorii parametri în sintaxă:
Tabel desenat folosind editorul Planfix
%%$ENDBLOCK$%%
Exemplu:
%%$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$%%
Rezultat:
| # | 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 | |
Numerele evidențiate în roșu indică câte rânduri să folosiți în antet și în totaluri.
De exemplu, numerele (1;1) din exemplul de mai sus înseamnă că un rând la început va fi folosit pentru antetul tabelului și un rând la sfârșit va fi folosit pentru totaluri.
Pentru a folosi două rânduri în antetul tabelului, specificați astfel — (2;1).
Exemplu:
%%$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$%%
Rezultat:
| 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 | |
Exemplu cu condiție
%%$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$%%
Rezultat:
| Counterparty | TIN | Contract amount |
|---|---|---|
| LLC Sunrise | 5689845987654 | 1500$ |
| LLC Sunset | 5689845125699 | 1700$ |
| LLC Dawn | 5689845589674 | 2500$ |
| LLC Light | 5689845235689 | 500$ |
Pentru a adăuga un antet la tabel, faceți clic dreapta pe acesta și selectați Row - Insert Row Above:
FOREACH and TABLE with infoblocks
Când parsați un email sau răspundeți la o cerere HTTP, primiți mai multe linii de date și doriți să le adăugați sub formă de text structurat sau tabel:
- Extrageți datele în infoblocuri:
- from JSON
- from HTML table
- Apoi folosiți următoarea sintaxă:
%%$FOREACH({{Infoblock.!row}};Separator)$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%
%%$TABLE({{Infoblock.!row}})$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%
Exemplu
Să extragem date în infoblocurile "Product" și "Price" și să le adăugăm în tabel:
%%$TABLE({{Infoblock.!row}})$%%
| {{Infoblock.!string.Product}} | {{Infoblock.!string.Price}} |
%%$ENDBLOCK$%%
Rezultat:
| Pencil | 1,00 |
| Pen | 2,00 |
| Notebook | 10,00 |
Mergeți la
- Go to