Variablen im Text

Aus Planfix
Wechseln zu: Navigation, Suche

Dieser Hilfeartikel gilt nicht für Dokumentvorlagen. Lesen Sie, wie Sie Variablen in Dokumentvorlagen verwenden hier.

Navigation

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

vBmUi1.jpg

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

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

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:

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

Beispiel

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


Ergebnis:

VIP CUSTOMER

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:

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


Wichtig: in diesem Teil des Ausdrucks — %%$FOREACH(Variable;Delimiter)$%% — geben Sie unbedingt die Variable der ersten Ebene an, also {{Task.Subtasks}} oder {{Task.Assignee}}, und nichts anderes.

Beispiel

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


Ergebnis:

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


Ergebnis:

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

Beispiel mit Bedingung

Syntax:

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

Syntax:

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

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

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

Pvy4PR.jpg

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:

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


Gehe zu