Variablen im Text
Variablen speichern einen Wert, z. B. eine Zahl, einen String oder einen anderen Datentyp. Variablen werden verwendet in:
- Aufgabenname (in der Aufgaben-Vorlage oder beim Erstellen einer Aufgabe)
- Aufgabenbeschreibung (in der Aufgaben-Vorlage oder beim Erstellen einer Aufgabe)
- E-Mail-Vorlagen
- Script-Aktionen, Buttons, eingehende Webhooks, E-Mail-Regeln für Aufgaben:
- Send HTTP request
- Send SMS
- Write to WhatsApp
- Write to Instagram
- Massenaktionen, Skripte, Buttons, eingehende Webhooks, E-Mail-Regeln für Aufgaben:
- Change name
- Change description
- Add comment
- Set field value (für "Text"-Felder)
Um eine Variable in den Text einzufügen, z. B. in die Aufgabenbeschreibung, klicken Sie auf den Link "verschiedene Variablen" (1), erstellen Sie die Variable und fügen Sie sie in den Text des gewünschten Feldes in der Aufgaben-Vorlage ein (2):
Berechnungen mit Variablen
Manchmal reicht es nicht, nur den Wert einer Variable in den Text einzufügen, sondern Sie müssen auch Berechnungen mit den Werten in den Variablen durchführen oder den erhaltenen String weiterverarbeiten. Für solche Aktionen verwenden Sie die folgende Syntax:
%%%FORMULA TEXT%%%
Beispiele
Wichtig
- Der Formelausdruck muss als ein String geschrieben werden und darf nicht umgebrochen werden. Mit anderen Worten: die Formel darf nicht durch Drücken der Eingabetaste in die nächste Zeile verschoben werden.
- Variablen in der Formel dürfen nicht formatiert werden, z. B. fett oder kursiv gemacht werden.
- Wenn Sie das Ergebnis der Formel fett hervorheben möchten, wenden Sie die Formatierung auf die gesamte Formel einschließlich des Ergebnisses an.
IF
Um Text abhängig von Variablenwerten (Bedingungen) einzufügen, verwenden Sie die folgende Syntax:
TEXT
%%$ENDBLOCK$%%
Beispiel
%%$IF({{Task.Order Amount}} > 100000)$%%
VIP CUSTOMER
%%$ENDBLOCK$%%
Ergebnis:
ELSE
ELSE wird nur zusammen mit IF verwendet. Wenn die Bedingung in IF nicht zutrifft, wird der Text aus dem ELSE-Teil des Blocks angezeigt.
%%$IF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Beispiel
%%$IF({{Task. Invoice №}}="")$%%
The field [Invoice №] is not filled in
%%$ELSE$%%
The required task field is filled in! :)
%%$ENDBLOCK$%%
Ergebnis:
- Wenn das Feld nicht ausgefüllt ist, wird die Meldung "The field [Invoice №] is not filled in" angezeigt.
- Wenn das Feld ausgefüllt ist, wird die Meldung "The required task field is filled in! :)" angezeigt.
ELSEIF
Ermöglicht die Erstellung eines komplexeren Ausdrucks mit mehreren Bedingungen:
%%$IF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Hinweis
- Der letzte ELSE ist ein optionaler Teil des Blocks.
Beispiel
%%$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$%%
Ergebnis:
- Wenn alle drei Felder nicht ausgefüllt sind, wird nur die erste Meldung "The field [Invoice Number] is not filled in" angezeigt, die anderen werden übersprungen.
- Wenn die Felder "Invoice Number" und "UPD Number" ausgefüllt sind, aber das Feld "Contract Number" nicht, wird die entsprechende Meldung "The field [Contract Number] is not filled in" angezeigt.
FOREACH
Wenn eine Variable eine Liste von Werten darstellt, z. B. {{Task.Subtasks}} oder {{Task.Assignee}}, und Sie Informationen für jeden Wert anzeigen möchten, verwenden Sie die folgende Syntax:
TEXT
%%$ENDBLOCK$%%
Beispiel
Ergebnis:
Jamse Davis - Developer
Mary Brown - CEO
Ergebnis:
2120 - Sub-final finishing
2121 - Final touches
Beispiel mit Bedingung
%%$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$%%
Ergebnis
Aus der gesamten Liste der Auftraggeber/innen werden nur diejenigen angezeigt, deren Vertragsbetrag mehr als 1000 beträgt:
LLC Sunrise, 1500
LLC Sunset, 1700
LLC Dawn, 2500
ELSE-Block innerhalb eines FOREACH-Blocks
%%$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$%%
Ergebnis:
LLC Sunrise, 5689845987654, 1500 $
LLC Sunset, 5689845125699, 1700 $
LLC Dawn, 5689845589674, 2500 $
LLC Light, 5689845235689, 500 $
TABLE
Wenn eine Variable eine Liste von Werten darstellt und Sie die Informationen für jeden Wert in Tabellenform anzeigen möchten, verwenden Sie die folgende Syntax:
TEXT
%%$ENDBLOCK$%%
Beispiel
Das Beispiel zeigt, wie man nur die benötigten Blöcke aus dem hinzugefügten Daten-Tag in der Aufgabe extrahiert und diese Informationen dem Auftraggeber als Tabelle sendet. Die Tabelle wird mit dem Planfix-Editor hinzugefügt:
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")%%%
Ergebnis:
Order №2118
| Graphic design | 1 600.00 |
| Programming | 3 000.00 |
| Development of TA | 300.00 |
Total order amount: 4 900.00 dollars
Beispiel mit Kopfzeile und Summe
Um eine Kopfzeile oder eine Summenzeile zur Tabelle hinzuzufügen, verwenden Sie die folgenden Parameter in der Syntax:
Tabelle, gezeichnet mit dem Planfix-Editor
%%$ENDBLOCK$%%
Beispiel:
%%$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$%%
Ergebnis:
| # | 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 | |
Die in rot hervorgehobenen Zahlen geben an, wie viele Zeilen in Kopfzeile bzw. Summe verwendet werden.
Beispielsweise bedeuten die Zahlen (1;1) im obigen Beispiel, dass eine Zeile am Anfang für die Tabellenüberschrift verwendet wird und eine Zeile am Ende für die Tabellensumme.
Um zwei Zeilen in der Tabellenkopfzeile zu verwenden, geben Sie es so an — (2;1).
Beispiel:
%%$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$%%
Ergebnis:
| 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 | |
Beispiel mit Bedingung
%%$TABLE(Variable;0;0;Condition_WITHOUT_If)$%%
Tabelle, gezeichnet mit dem 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$%%
Ergebnis:
| Counterparty | TIN | Contract amount |
|---|---|---|
| LLC Sunrise | 5689845987654 | 1500$ |
| LLC Sunset | 5689845125699 | 1700$ |
| LLC Dawn | 5689845589674 | 2500$ |
| LLC Light | 5689845235689 | 500$ |
Um eine Kopfzeile zur Tabelle hinzuzufügen, klicken Sie mit der rechten Maustaste auf diese und wählen Sie Row - Insert Row Above:
FOREACH und TABLE mit Infoblöcken
Beim Parsen einer E-Mail oder beim Beantworten einer HTTP-Anfrage erhalten Sie mehrere Zeilen mit Daten und möchten diese als strukturierten Text oder als Tabelle hinzufügen:
- Extrahieren Sie die Daten in Infoblöcke:
- Verwenden Sie dann die folgende Syntax:
%%$FOREACH({{Infoblock.!row}};Separator)$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%
%%$TABLE({{Infoblock.!row}})$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%
Beispiel
Extrahieren wir die Daten in die Infoblöcke "Product" und "Price" und fügen sie der Tabelle hinzu:
%%$TABLE({{Infoblock.!row}})$%%
| {{Infoblock.!string.Product}} | {{Infoblock.!string.Price}} |
%%$ENDBLOCK$%%
Ergebnis:
| Pencil | 1,00 |
| Pen | 2,00 |
| Notebook | 10,00 |