Variabile în text
Variabilele stochează o valoare, cum ar fi un număr, un șir de caractere sau alt tip de date. Variabilele sunt folosite în:
- Sarcină — nume (în șablonul de sarcină sau la crearea unei sarcini)
- Descrierea sarcinii (în șablonul de sarcină sau la crearea unei sarcini)
- Șabloane de e-mail
- Acțiuni script, butoane, webhooks intrante, reguli de e-mail pentru sarcini:
- Trimite cerere HTTP
- Trimite SMS
- Trimite pe WhatsApp
- Trimite pe Instagram
- Acțiuni în masă, scripturi, butoane, webhooks intrante, reguli de e-mail pentru sarcini:
- Schimbă numele
- Schimbă descrierea
- Adaugă comentariu
- Setează valoarea câmpului (pentru câmpurile 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):
Calculări cu variabile
Uneori nu este suficient să inserați valoarea unei variabile în text — mai trebuie să faceți calcule cu valorile din variabile sau să prelucrați șirul obținut. Pentru astfel de acțiuni folosiți 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 un rând nou prin apăsarea tastei Enter.
- Variabilele din formulă nu pot fi formattate (de ex. bold sau italic).
- Dacă trebuie să evidențiați rezultatul formulei cu bold, aplicați formatarea la întreaga formulă î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 numai î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 №}}="")$%%
Câmpul [Invoice №] nu este completat
%%$ELSE$%%
Câmpul obligatoriu al sarcinii este completat! :)
%%$ENDBLOCK$%%
Rezultat:
- Dacă câmpul nu este completat, va fi afișat mesajul "Câmpul [Invoice №] nu este completat".
- Dacă câmpul este completat, va fi afișat mesajul "Câmpul obligatoriu al sarcinii este completat! :)".
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 o parte opțională a blocului.
Exemplu
%%$IF({{Task.Invoice Number}}="")$%%
Câmpul [Invoice Number] nu este completat
%%$ELSEIF({{Task.UPD Number}}="")$%%
Câmpul [UPD Number] nu este completat
%%$ELSEIF({{Task.Contract Number}}="")$%%
Câmpul [Contract Number] nu este completat
%%$ELSE$%%
Toate câmpurile sarcinii sunt completate, ești grozav! :)
%%$ENDBLOCK$%%
Rezultat:
- Dacă toate cele trei câmpuri nu sunt completate, va fi afișat doar primul mesaj "Câmpul [Invoice Number] nu este completat", restul fiind sărite.
- Dacă câmpurile "Invoice Number" și "UPD Number" sunt completate, dar câmpul "Contract Number" nu este, se va afișa mesajul corespunzător "Câmpul [Contract Number] nu este completat".
FOREACH
Când o variabilă reprezintă o listă de valori, de exemplu {{Task.Subtasks}} sau {{Task.Assignee}}, și trebuie să afișați informații pentru fiecare element, 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 element 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ă în sarcină și să trimiteți aceste informații clientului sub formă de 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 de 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 cu roșu indică câte rânduri să fie folosite în antet și la 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 antet, 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)$%%
Tabel desenat folosind editorul Planfix
%%$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 el și selectați Row - Insert Row Above:
FOREACH și TABLE cu infoblockuri
Când parsați un e-mail 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 infoblockuri:
- Apoi folosiți următoarea sintaxă:
%%$FOREACH({{Infoblock.!line}};Separator)$%%
{{Infoblock.!line.Infoblock name}}
%%$ENDBLOCK$%%
%%$TABLE({{Infoblock.!line}})$%%
{{Infoblock.!line.Infoblock name}}
%%$ENDBLOCK$%%
Exemplu
Să extragem date în infoblockurile "Product" și "Price" și să le adăugăm în tabel:
%%$TABLE({{Infoblock.!line}})$%%
| {{Infoblock.!string.Product}} | {{Infoblock.!string.Price}} |
%%$ENDBLOCK$%%
Rezultat:
| Pencil | 1,00 |
| Pen | 2,00 |
| Notebook | 10,00 |