Variablen im Text

Aus Planfix
Wechseln zu: Navigation, Suche

Dieser Hilfetext gilt nicht für Dokumentvorlagen. Lesen Sie, wie Variablen in Dokumentvorlagen verwendet werden hier.

Navigation

Variablen speichern einen Wert, z. B. eine Zahl, eine Zeichenfolge 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, Scripts, 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 aus, nur den Wert einer Variable in den Text einzusetzen; es müssen auch Berechnungen mit den Werten der Variablen durchgeführt oder die erhaltene Zeichenfolge verarbeitet werden. Für solche Aktionen verwenden Sie 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 Formeltext muss in einer einzigen Zeichenfolge geschrieben werden und darf nicht umgebrochen werden. Mit anderen Worten: Die Formel darf nicht durch Drücken der Enter-Taste in die nächste Zeile gesetzt werden.
  • Variablen innerhalb 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 zusammen mit dem Ergebnis an.

IF

Um Text abhängig von den Werten von Variablen (Bedingungen) einzufügen, verwenden Sie folgende Syntax:

%%$IF(Logische Formel)$%%
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(Logische Formel)$%%
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 komplexerer Ausdrücke mit mehreren Bedingungen:

%%$IF(Logische Formel)$%%
TEXT
%%$ELSEIF(Logische Formel)$%%
TEXT
%%$ELSEIF(Logische Formel)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%


Hinweis

  • Das 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 restlichen 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 repräsentiert, z. B. {{Task.Subtasks}} oder {{Task.Assignee}}, und Sie Informationen für jeden Wert anzeigen möchten, verwenden Sie folgende Syntax:

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


Wichtig: in diesem Teil des Ausdrucks — %%$FOREACH(Variable;Delimiter)$%% — muss unbedingt die Variable der ersten Ebene angegeben werden, 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(Logische Formel)$%%
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 repräsentiert und Sie die Informationen für jeden Wert in Form einer Tabelle anzeigen möchten, verwenden Sie folgende Syntax:

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

Beispiel

Das Beispiel zeigt, wie nur die benötigten Blöcke aus dem hinzugefügten Daten-Tag in der Aufgabe extrahiert und diese Informationen dem Auftraggeber als Tabelle gesendet werden. 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 Gesamtsumme

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 markierten Zahlen geben an, wie viele Zeilen für Kopfzeile und Summen verwendet werden.

Beispielsweise bedeuten die Zahlen (1;1) im obigen Beispiel, dass eine Zeile am Anfang für die Tabellenkopfzeile und eine Zeile am Ende für die Tabellen-Summen verwendet wird.

Um zwei Zeilen in der Tabellenkopfzeile zu verwenden, geben Sie dies 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 der Tabelle eine Kopfzeile hinzuzufügen, klicken Sie mit der rechten Maustaste auf die Tabelle 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 Tabelle hinzufügen:

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

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


Beispiel

Extrahieren wir Daten in die Infoblöcke "Product" und "Price" und fügen sie in die Tabelle ein:

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

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

%%$ENDBLOCK$%%


Ergebnis:

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


Gehe zu