Zmienne w tekście
Nawigacja
Zmienne przechowują pewne wartości, takie jak liczba, ciąg znaków lub inny typ danych. Zmienne są używane w:
- Nazwie zadania (w szablonie zadania lub przy tworzeniu zadania)
- Opisie zadania (w szablonie zadania lub przy tworzeniu zadania)
- Szablonach e-mail
- Akcjach skryptu, przyciskach, webhookach przychodzących, regułach e-mail dla zadań:
- Wyślij żądanie HTTP
- Wyślij SMS
- Napisz do WhatsApp
- Napisz do Instagram
- Hurtowych akcjach, skryptach, przyciskach, webhookach przychodzących, regułach e-mail dla zadań:
- Zmień nazwę
- Zmień opis
- Dodaj komentarz
- Ustaw wartość pola (dla pól „Text”)
Aby dodać zmienną do tekstu, np. w opisie zadania, kliknij łącze „różne zmienne” (1), utwórz zmienną i dodaj ją do tekstu żądanego pola w szablonie zadania (2):
Obliczenia ze zmiennymi
Czasami nie wystarczy wstawić wartość zmiennej do tekstu — trzeba także wykonać obliczenia na wartościach w zmiennych lub przetworzyć otrzymany ciąg znaków. Do takich działań używa się następującej składni:
%%%FORMULA TEXT%%%
Przykłady
Ważne
- Tekst formuły musi być zapisany w jednym wierszu i nie może być dzielony. Innymi słowy, formuły nie wolno przenosić do następnego wiersza przez naciśnięcie klawisza Enter.
- Zmienne wewnątrz formuły nie mogą być formatowane, np. pogrubione lub pochylone.
- Jeśli chcesz wyróżnić wynik formuły pogrubieniem, zastosuj formatowanie do całej formuły wraz z wynikiem.
IF
Aby wstawić tekst zależnie od wartości zmiennych (warunków), użyj następującej składni:
TEXT
%%$ENDBLOCK$%%
Przykład
%%$IF({{Task.Order Amount}} > 100000)$%%
VIP CUSTOMER
%%$ENDBLOCK$%%
Wynik:
ELSE
ELSE używane jest tylko razem z IF. Gdy warunek w IF jest nieprawdziwy, wyświetlany jest tekst z części ELSE bloku.
%%$IF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Przykład
%%$IF({{Task. Invoice №}}="")$%%
Pole [Invoice №] nie jest wypełnione
%%$ELSE$%%
Wymagane pole zadania jest wypełnione! :)
%%$ENDBLOCK$%%
Wynik:
- Jeśli pole nie jest wypełnione, zostanie wyświetlony komunikat "Pole [Invoice №] nie jest wypełnione".
- Jeśli pole jest wypełnione, zostanie wyświetlony komunikat "Wymagane pole zadania jest wypełnione! :)".
ELSEIF
Pozwala utworzyć bardziej złożony wyraz z warunkami:
%%$IF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Uwaga
- Ostatni element ELSE jest częścią opcjonalną bloku.
Przykład
%%$IF({{Task.Invoice Number}}="")$%%
Pole [Invoice Number] nie jest wypełnione
%%$ELSEIF({{Task.UPD Number}}="")$%%
Pole [UPD Number] nie jest wypełnione
%%$ELSEIF({{Task.Contract Number}}="")$%%
Pole [Contract Number] nie jest wypełnione
%%$ELSE$%%
Wszystkie pola zadania są wypełnione, jesteś wspaniały! :)
%%$ENDBLOCK$%%
Wynik:
- Jeśli wszystkie trzy pola nie są wypełnione, zostanie wyświetlony tylko pierwszy komunikat "Pole [Invoice Number] nie jest wypełnione", pozostałe zostaną pominięte.
- Jeśli pola "Invoice Number" i "UPD Number" są wypełnione, ale pole "Contract Number" nie jest, wyświetlony zostanie odpowiedni komunikat "Pole [Contract Number] nie jest wypełnione".
FOREACH
Gdy zmienna reprezentuje listę wartości, np. {{Task.Subtasks}} lub {{Task.Assignee}}, i trzeba wyświetlić informacje dla każdej wartości, użyj następującej składni:
TEXT
%%$ENDBLOCK$%%
Przykład
Wynik:
Jamse Davis - Developer
Mary Brown - CEO
Wynik:
2120 - Sub-final finishing
2121 - Final touches
Przykład z warunkiem
%%$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$%%
Wynik
Z całej listy kontrahentów zostaną wyświetlone tylko te, które mają kwotę kontraktu większą niż 1000:
LLC Sunrise, 1500
LLC Sunset, 1700
LLC Dawn, 2500
Blok ELSE wewnątrz 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$%%
Wynik:
LLC Sunrise, 5689845987654, 1500 $
LLC Sunset, 5689845125699, 1700 $
LLC Dawn, 5689845589674, 2500 $
LLC Light, 5689845235689, 500 $
TABLE
Jeśli zmienna reprezentuje listę wartości, a trzeba wyświetlić informacje dla każdej wartości w formie tabeli, użyj następującej składni:
TEXT
%%$ENDBLOCK$%%
Przykład
Przykład pokazuje, jak wyodrębnić tylko potrzebne bloki z dodanego Znacznika danych w zadaniu i wysłać te informacje do klienta jako tabelę. Tabela jest dodana za pomocą edytora 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")%%%
Wynik:
Order №2118
| Graphic design | 1 600.00 |
| Programming | 3 000.00 |
| Development of TA | 300.00 |
Total order amount: 4 900.00 dollars
Przykład z nagłówkiem i sumą
Aby dodać nagłówek lub wiersz sumy do tabeli, użyj następujących parametrów w składni:
Tabela narysowana za pomocą edytora Planfix
%%$ENDBLOCK$%%
Przykład:
%%$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$%%
Wynik:
| # | 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 | |
Liczby wyróżnione na czerwono wskazują, ile wierszy użyć w nagłówku i w sumie.
Na przykład liczby (1;1) w powyższym przykładzie oznaczają, że jeden wiersz na początku będzie użyty jako nagłówek tabeli, a jeden wiersz na końcu będzie użyty jako suma tabeli.
Aby użyć dwóch wierszy w nagłówku tabeli, podaj to w ten sposób — (2;1).
Przykład:
%%$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$%%
Wynik:
| 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 | |
Przykład z warunkiem
%%$TABLE(Variable;0;0;Condition_WITHOUT_If)$%%
Tabela narysowana za pomocą edytora Planfix
%%$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$%%
Wynik:
| Counterparty | TIN | Contract amount |
|---|---|---|
| LLC Sunrise | 5689845987654 | 1500$ |
| LLC Sunset | 5689845125699 | 1700$ |
| LLC Dawn | 5689845589674 | 2500$ |
| LLC Light | 5689845235689 | 500$ |
Aby dodać nagłówek do tabeli, kliknij prawym przyciskiem myszy na tabeli i wybierz Row - Insert Row Above:
FOREACH i TABLE z infoblokami
Gdy parsujesz e-mail lub odpowiadasz na żądanie HTTP, otrzymujesz kilka linii danych i chcesz dodać je w postaci ustrukturyzowanego tekstu lub tabeli:
- Wyodrębnij dane do infobloków:
- Następnie użyj następującej składni:
%%$FOREACH({{Infoblock.!row}};Separator)$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%
%%$TABLE({{Infoblock.!row}})$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%
Przykład
Wyodrębnijmy dane do infobloków "Product" i "Price" i dodajmy je do tabeli:
%%$TABLE({{Infoblock.!row}})$%%
| {{Infoblock.!string.Product}} | {{Infoblock.!string.Price}} |
%%$ENDBLOCK$%%
Wynik:
| Pencil | 1,00 |
| Pen | 2,00 |
| Notebook | 10,00 |