Variabile în text

De la Planfix
Salt la: navigare, căutare

Acest articol de ajutor nu se aplică șabloanelor de document. Citiți cum se folosesc variabilele în șabloanele de document aici.

Navigare

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):

vBmUi1.jpg

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

Discounted price: %%%{{Task.Price}}*0.8%%%
Work will be completed in %%%DATEDIF(NOW(); {{Task.Completion Date}}; "d")%%% %%%MULTIPLE(DATEDIF(NOW(); {{Task.Completion Date}}; "d");"day"; "days")%%%

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ă:

%%$IF(Logical formula)$%%
TEXT
%%$ENDBLOCK$%%

Exemplu

%%$IF({{Task.Order Amount}} > 100000)$%%
VIP CUSTOMER
%%$ENDBLOCK$%%


Rezultat:

VIP CUSTOMER

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ă:

%%$FOREACH(Variable;Delimiter)$%%
TEXT
%%$ENDBLOCK$%%


Important: în această parte a expresiei — %%$FOREACH(Variable;Delimiter)$%% — asigurați-vă că specificați variabila de nivel unu, adică {{Task.Subtasks}} sau {{Task.Assignee}}, și nimic altceva.

Exemplu

%%$FOREACH({{Task.Assignee}};"<br>")$%%{{Task.Assignee}} - {{Task.Assignee.Position}}%%$ENDBLOCK$%%


Rezultat:

linda Martinez - Designer
Jamse Davis - Developer
Mary Brown - CEO
%%$FOREACH({{Task.Subtasks}};"<br>")$%%{{Task.Subtasks.Number}} - {{Task.Subtasks.Name}}%%$ENDBLOCK$%%


Rezultat:

2119 - Rough finish
2120 - Sub-final finishing
2121 - Final touches

Exemplu cu condiție

Sintaxă:

%%$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

Sintaxă:

%%$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ă:

%%$TABLE(Variable)$%%
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ă:

%%$TABLE(Variable;0;0)$%%
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:

Pvy4PR.jpg

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:

%%$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


Mergeți la