Skip to content

Variabili nel testo

Questo articolo di help non si applica ai modelli di documento. Leggi come usare le variabili nei modelli di documento qui.

Navigazione

Le variabili memorizzano un valore, ad esempio un numero, una stringa o un altro tipo di dato. Le variabili vengono utilizzate in:

  • Nome del Task (nel modello di Task o durante la creazione del Task)
  • Descrizione del Task (nel modello di Task o durante la creazione del Task)
  • Modelli di email
  • Azioni di Script, pulsanti, webhook in ingresso, regole email per i Task:
    • Send HTTP request
    • Send SMS
    • Write to WhatsApp
    • Write to Instagram
  • Azioni di massa, script, pulsanti, webhook in ingresso, regole email per i Task:
    • Change name
    • Change description
    • Add comment
    • Set field value (per i campi "Text")


Per aggiungere una variabile al testo, ad esempio nella descrizione del Task, clicca sul link "diverse variabili" (1), crea la variabile e aggiungila al testo del campo desiderato nel modello di Task (2):

vBmUi1.jpg

Calcoli con le variabili

A volte non basta inserire il valore di una variabile nel testo, ma è necessario anche effettuare calcoli sui valori delle variabili o elaborare la stringa ottenuta. Per tali azioni si utilizza la seguente sintassi:

%%%FORMULA TEXT%%%

Esempi

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")%%%

Importante

  • Il testo della formula deve essere scritto in un'unica riga e non può essere spezzato. In altre parole, la formula non può andare a capo con il tasto Invio.
  • Le variabili nella formula non possono essere formattate, ad esempio in grassetto o corsivo.
  • Se è necessario evidenziare il risultato della formula in grassetto, applica la formattazione all'intera formula insieme al risultato.

IF

Per inserire testo in base ai valori delle variabili (condizioni), usa la seguente sintassi:

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

Esempio

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


Risultato:

VIP CUSTOMER

ELSE

ELSE viene utilizzato solo insieme a IF. Quando la condizione in IF non è vera, viene mostrato il testo nella parte ELSE del blocco.

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

Esempio

%%$IF({{Task. Invoice №}}="")$%%
The field [Invoice №] is not filled in
%%$ELSE$%%
The required task field is filled in! :)
%%$ENDBLOCK$%%


Risultato:

  • Se il campo non è compilato, verrà visualizzato il messaggio "The field [Invoice №] is not filled in".
  • Se il campo è compilato, verrà visualizzato il messaggio "The required task field is filled in! :)".

ELSEIF

Aiuta a creare espressioni più complesse con condizioni:

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


Nota

  • L'ultimo ELSE è una parte opzionale del blocco.

Esempio

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


Risultato:

  • Se tutti e tre i campi non sono compilati, verrà visualizzato solo il primo messaggio "The field [Invoice Number] is not filled in" e il resto verrà saltato.
  • Se i campi "Invoice Number" e "UPD Number" sono compilati, ma il campo "Contract Number" non lo è, verrà visualizzato il corrispondente messaggio "The field [Contract Number] is not filled in".

FOREACH

Quando una variabile rappresenta una lista di valori, ad esempio {{Task.Subtasks}} o {{Task.Assignee}}, e hai bisogno di visualizzare le informazioni per ogni valore, usa la seguente sintassi:

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


Importante: in questa parte dell'espressione — %%$FOREACH(Variable;Delimiter)$%% — assicurati di specificare la variabile di primo livello, cioè {{Task.Subtasks}} o {{Task.Assignee}}, e nient'altro.

Esempio

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


Risultato:

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


Risultato:

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

Esempio con condizione

Sintassi:

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


Risultato

Dall'intera lista delle controparti verranno mostrati solo quelli con un importo del contratto maggiore di 1000:

LLC Sunrise, 1500

LLC Sunset, 1700

LLC Dawn, 2500

Blocco ELSE all'interno di FOREACH

Sintassi:

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


Risultato:

LLC Sunrise, 5689845987654, 1500 $
LLC Sunset, 5689845125699, 1700 $
LLC Dawn, 5689845589674, 2500 $
LLC Light, 5689845235689, 500 $

TABLE

Se una variabile rappresenta una lista di valori e hai bisogno di visualizzare le informazioni per ogni valore sotto forma di tabella, usa la seguente sintassi:

%%$TABLE(Variable)$%%
TEXT
%%$ENDBLOCK$%%

Esempio

L'esempio mostra come estrarre solo i blocchi necessari dal data tag aggiunto al Task e inviare queste informazioni al cliente come tabella. La tabella è aggiunta usando l'editor 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")%%%


Risultato:

Order №2118

Graphic design 1 600.00
Programming 3 000.00
Development of TA 300.00

Total order amount: 4 900.00 dollars

Esempio con intestazione e totale

Per aggiungere un'intestazione o una riga dei totali alla tabella, usa i seguenti parametri nella sintassi:

%%$TABLE(Variable;0;0)$%%
Tabella disegnata usando l'editor Planfix
%%$ENDBLOCK$%%

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


Risultato:

# 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

I numeri evidenziati in rosso indicano quante righe usare nell'intestazione e nei totali.

Ad esempio, i numeri (1;1) nel precedente esempio significano che una riga all'inizio sarà usata per l'intestazione della tabella e una riga alla fine sarà usata per i totali della tabella.

Per usare due righe nell'intestazione della tabella, specificalo così — (2;1).

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


Risultato:

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

Esempio con condizione

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


Risultato:

Counterparty TIN Contract amount
LLC Sunrise 5689845987654 1500$
LLC Sunset 5689845125699 1700$
LLC Dawn 5689845589674 2500$
LLC Light 5689845235689 500$


Per aggiungere un'intestazione alla tabella, fai clic destro su di essa e seleziona Row - Insert Row Above:

Pvy4PR.jpg

FOREACH e TABLE con infoblock

Quando analizzi un'email o rispondi a una richiesta HTTP, ricevi diverse righe di dati e vuoi aggiungerle sotto forma di testo strutturato o di tabella:

%%$FOREACH({{Infoblock.!row}};Separator)$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%

%%$TABLE({{Infoblock.!row}})$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%


Esempio

Estraiamo i dati negli infoblock "Product" e "Price" e li aggiungiamo alla tabella:

%%$TABLE({{Infoblock.!row}})$%%

{{Infoblock.!string.Product}} {{Infoblock.!string.Price}}

%%$ENDBLOCK$%%


Risultato:

Pencil 1,00
Pen 2,00
Notebook 10,00


Vai a