Variabili nel testo
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):
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
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:
TEXT
%%$ENDBLOCK$%%
Esempio
%%$IF({{Task.Order Amount}} > 100000)$%%
VIP CUSTOMER
%%$ENDBLOCK$%%
Risultato:
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:
TEXT
%%$ENDBLOCK$%%
Esempio
Risultato:
Jamse Davis - Developer
Mary Brown - CEO
Risultato:
2120 - Sub-final finishing
2121 - Final touches
Esempio con condizione
%%$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
%%$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:
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:
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:
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:
- Estrai i dati in infoblock:
- Poi usa la seguente sintassi:
%%$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 |