Zmienne w tekście: Różnice pomiędzy wersjami
PlanfixBot (dyskusja | edycje) (Utworzono nową stronę "{{#seo: |title=Zmienne w tekście |titlemode=append |keywords=planfix, variables, task template, document template, using variables, variables in text, text with variables, for each, foreach, if, else, elseif, table |description=Używanie zmiennych w tekście }} <div style="background:#ffbaba;padding:10px;border:1px solid #ff9b9b;">Ten artykuł pomocy nie dotyczy szablonów dokumentów. Przeczytaj jak używać zmiennych w szablonach dokumentów Zmienne w szablon…") |
PlanfixBot (dyskusja | edycje) Nie podano opisu zmian |
||
| Linia 6: | Linia 6: | ||
}} | }} | ||
<div style="background:#ffbaba;padding:10px;border:1px solid #ff9b9b;">Ten artykuł pomocy nie dotyczy szablonów dokumentów. Przeczytaj jak używać zmiennych w szablonach dokumentów [[Zmienne w szablonach dokumentów|tutaj]].</div> | <div style="background:#ffbaba;padding:10px;border:1px solid #ff9b9b;">Ten artykuł pomocy nie dotyczy szablonów dokumentów. Przeczytaj, jak używać zmiennych w szablonach dokumentów [[Zmienne w szablonach dokumentów|tutaj]].</div> | ||
== Nawigacja == | == Nawigacja == | ||
*[[#Calculations with variables| | *[[#Calculations with variables|Obliczenia ze zmiennymi]] | ||
*[[#IF|IF]] | *[[#IF|IF]] | ||
*[[#ELSE|ELSE]] | *[[#ELSE|ELSE]] | ||
| Linia 14: | Linia 14: | ||
*[[#FOREACH|FOREACH]] | *[[#FOREACH|FOREACH]] | ||
*[[#TABLE|TABLE]] | *[[#TABLE|TABLE]] | ||
*[[#FOREACH and TABLE with infoblocks|FOREACH | *[[#FOREACH and TABLE with infoblocks|FOREACH i TABLE z infoblockami]] | ||
Zmienne przechowują pewną wartość, | Zmienne przechowują pewną wartość, na przykład liczbę, ciąg znaków lub inny typ danych. Zmienne są używane w: | ||
* | *Nazwie zadania (w szablonie zadania lub podczas tworzenia zadania) | ||
* | *Opisie zadania (w szablonie zadania lub podczas tworzenia zadania) | ||
* | *Szablonach e-mail | ||
* | *Akcjach skryptów, przyciskach, przychodzących webhookach, regułach e-mail dla zadań: | ||
**Send HTTP request | **Send HTTP request | ||
**Send SMS | **Send SMS | ||
**Write to WhatsApp | **Write to WhatsApp | ||
**Write to Instagram | **Write to Instagram | ||
* | *Hurtowych akcjach, skryptach, przyciskach, przychodzących webhookach, regułach e-mail dla zadań: | ||
**Change name | **Change name | ||
**Change description | **Change description | ||
| Linia 32: | Linia 32: | ||
Aby dodać zmienną do tekstu, na przykład w opisie zadania, kliknij link | Aby dodać zmienną do tekstu, na przykład w opisie zadania, kliknij link „różne zmienne” (1), utwórz zmienną i dodaj ją do tekstu odpowiedniego pola w szablonie zadania (2): | ||
https://s.pfx.so/pf/FX/vBmUi1.jpg | https://s.pfx.so/pf/FX/vBmUi1.jpg | ||
== '''Obliczenia ze zmiennymi''' == | == '''Obliczenia ze zmiennymi''' == | ||
Czasami nie wystarczy wstawić | Czasami nie wystarczy wstawić wartości zmiennej do tekstu — trzeba wykonać obliczenia na wartościach zmiennych lub przetworzyć otrzymany ciąg. Do takich działań używa się następującej składni: | ||
%%%'''FORMULA TEXT'''%%% | %%%'''FORMULA TEXT'''%%% | ||
| Linia 44: | Linia 44: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>Work will be completed in %%%DATEDIF(NOW(); {{Task.Completion Date}}; "d")%%% %%%MULTIPLE(DATEDIF(NOW(); {{Task.Completion Date}}; "d");"day"; "days")%%%</nowiki></div> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>Work will be completed in %%%DATEDIF(NOW(); {{Task.Completion Date}}; "d")%%% %%%MULTIPLE(DATEDIF(NOW(); {{Task.Completion Date}}; "d");"day"; "days")%%%</nowiki></div> | ||
=== Ważne === | === Ważne === | ||
*Tekst formuły musi być | *Tekst formuły musi być zapisany w jednym wierszu i nie może być przerwany. Innymi słowy formuła nie może być przeniesiona do następnego wiersza przez naciśnięcie Enter. | ||
*Zmienne | *Zmienne w formule nie mogą być formatowane, np. pogrubione lub kursywą. | ||
*Jeśli chcesz wyróżnić wynik formuły pogrubieniem, zastosuj formatowanie do całej formuły wraz z wynikiem. | *Jeśli chcesz wyróżnić wynik formuły pogrubieniem, zastosuj formatowanie do całej formuły wraz z wynikiem. | ||
== '''IF''' == | == '''IF''' == | ||
Aby wstawić tekst | Aby wstawić tekst w zależności od wartości zmiennych (warunków), użyj następującej składni: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">%%$<span style="color:green">IF(</span><span style="color:blue">Logical formula</span><span style="color:green">)</span>$%%<br><span style="color:red">'''TEXT'''</span><br>%%$<span style="color:green">ENDBLOCK</span>$%% | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">%%$<span style="color:green">IF(</span><span style="color:blue">Logical formula</span><span style="color:green">)</span>$%%<br><span style="color:red">'''TEXT'''</span><br>%%$<span style="color:green">ENDBLOCK</span>$%% | ||
| Linia 64: | Linia 64: | ||
== '''ELSE''' == | == '''ELSE''' == | ||
'''ELSE''' | '''ELSE''' jest używany tylko razem z IF. Gdy warunek w IF nie jest prawdziwy, wyświetlana jest część z bloku ELSE. | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | ||
| Linia 76: | Linia 76: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | ||
%%$<span style="color:green">IF</span>(<span style="color:blue"><nowiki>{{Task. Invoice №}}=""</nowiki></span>)$%%<br> | %%$<span style="color:green">IF</span>(<span style="color:blue"><nowiki>{{Task. Invoice №}}=""</nowiki></span>)$%%<br> | ||
<span style="color:red"> | <span style="color:red">Pole [Invoice №] nie jest wypełnione</span><br> | ||
%%$<span style="color:#ef18c7">ELSE</span>$%%<br> | %%$<span style="color:#ef18c7">ELSE</span>$%%<br> | ||
<span style="color:red"> | <span style="color:red">Wymagane pole zadania jest wypełnione! :)</span><br> | ||
%%$<span style="color:green">ENDBLOCK</span>$%% | %%$<span style="color:green">ENDBLOCK</span>$%% | ||
| Linia 84: | Linia 84: | ||
'''Wynik''': | '''Wynik''': | ||
*Jeśli pole nie jest wypełnione, wyświetlony zostanie komunikat | *Jeśli pole nie jest wypełnione, wyświetlony zostanie komunikat „Pole [Invoice №] nie jest wypełnione”. | ||
*Jeśli pole jest wypełnione, wyświetlony zostanie komunikat | *Jeśli pole jest wypełnione, wyświetlony zostanie komunikat „Wymagane pole zadania jest wypełnione! :)”. | ||
</div> | </div> | ||
| Linia 104: | Linia 104: | ||
'''Uwaga'''<br> | '''Uwaga'''<br> | ||
*Ostatni | *Ostatni <span style="color:#ef18c7">ELSE</span> jest częścią opcjonalną bloku. | ||
</div> | </div> | ||
=== Przykład === | === Przykład === | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | ||
%%$<span style="color:green">IF</span>(<span style="color:blue"><nowiki>{{Task.Invoice Number}}=""</nowiki></span>)$%%<br> | %%$<span style="color:green">IF</span>(<span style="color:blue"><nowiki>{{Task.Invoice Number}}=""</nowiki></span>)$%%<br> | ||
<span style="color:red"> | <span style="color:red">Pole [Invoice Number] nie jest wypełnione</span><br> | ||
%%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue"><nowiki>{{Task.UPD Number}}=""</nowiki></span>)$%%<br> | %%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue"><nowiki>{{Task.UPD Number}}=""</nowiki></span>)$%%<br> | ||
<span style="color:red"> | <span style="color:red">Pole [UPD Number] nie jest wypełnione</span><br> | ||
%%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue"><nowiki>{{Task.Contract Number}}=""</nowiki></span>)$%%<br> | %%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue"><nowiki>{{Task.Contract Number}}=""</nowiki></span>)$%%<br> | ||
<span style="color:red"> | <span style="color:red">Pole [Contract Number] nie jest wypełnione</span><br> | ||
%%$<span style="color:#ef18c7">ELSE</span>$%%<br> | %%$<span style="color:#ef18c7">ELSE</span>$%%<br> | ||
<span style="color:red"> | <span style="color:red">Wszystkie pola zadania są wypełnione, jesteś świetny! :)</span><br> | ||
%%$<span style="color:green">ENDBLOCK</span>$%% | %%$<span style="color:green">ENDBLOCK</span>$%% | ||
| Linia 121: | Linia 121: | ||
'''Wynik''': | '''Wynik''': | ||
*Jeśli wszystkie trzy pola | *Jeśli wszystkie trzy pola są niewypeł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 | *Jeśli pola "Invoice Number" i "UPD Number" są wypełnione, ale pole "Contract Number" nie, zostanie wyświetlony odpowiedni komunikat „Pole [Contract Number] nie jest wypełnione”.</div> | ||
== '''FOREACH''' == | == '''FOREACH''' == | ||
Gdy zmienna reprezentuje listę wartości, | Gdy zmienna reprezentuje listę wartości, na przykład <nowiki>{{Task.Subtasks}}</nowiki> lub <nowiki>{{Task.Assignee}}</nowiki>, i trzeba wyświetlić informacje dla każdej wartości, użyj następującej składni: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">%%$<span style="color:green;">FOREACH(<span style="color:blue;">Variable</span>;<span style="color:blue;">Delimiter</span>)</span>$%%<br>'''<span style="color:red;">TEXT</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%% | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">%%$<span style="color:green;">FOREACH(<span style="color:blue;">Variable</span>;<span style="color:blue;">Delimiter</span>)</span>$%%<br>'''<span style="color:red;">TEXT</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%% | ||
'''Ważne''': w tej części wyrażenia — %%$<span style="color:green;">FOREACH(<span style="color:blue;">Variable</span>;<span style="color:blue;">Delimiter</span>)</span>$%% — koniecznie podaj zmienną pierwszego poziomu, | '''Ważne''': w tej części wyrażenia — %%$<span style="color:green;">FOREACH(<span style="color:blue;">Variable</span>;<span style="color:blue;">Delimiter</span>)</span>$%% — koniecznie podaj zmienną pierwszego poziomu, tzn. <nowiki>{{Task.Subtasks}}</nowiki> lub <nowiki>{{Task.Assignee}}</nowiki>, i nic więcej.</div> | ||
=== Przykład === | === Przykład === | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>%%$FOREACH({{Task.Assignee}};"<br>")$%%</nowiki><nowiki>{{Task.Assignee}} - {{Task.Assignee.Position}}</nowiki>%%$ENDBLOCK$%% | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"><nowiki>%%$FOREACH({{Task.Assignee}};"<br>")$%%</nowiki><nowiki>{{Task.Assignee}} - {{Task.Assignee.Position}}</nowiki>%%$ENDBLOCK$%% | ||
| Linia 162: | Linia 162: | ||
'''Wynik''' | '''Wynik''' | ||
Z całej listy kontrahentów zostaną | Z całej listy kontrahentów zostaną wyświetleni tylko ci, których kwota kontraktu jest większa niż 1000: | ||
LLC Sunrise, 1500<br> | LLC Sunrise, 1500<br> | ||
| Linia 191: | Linia 191: | ||
== '''TABLE''' == | == '''TABLE''' == | ||
Jeśli zmienna reprezentuje listę wartości i | Jeśli zmienna reprezentuje listę wartości i potrzebujesz wyświetlić informacje dla każdej wartości w postaci tabeli, użyj następującej składni: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">%%$<span style="color:green;">TABLE(<span style="color:blue;">Variable</span>)</span>$%%<br>'''<span style="color:red;">TEXT</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%%</div> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">%%$<span style="color:green;">TABLE(<span style="color:blue;">Variable</span>)</span>$%%<br>'''<span style="color:red;">TEXT</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%%</div> | ||
== Przykład == | == Przykład == | ||
Przykład pokazuje, jak wyciągnąć tylko potrzebne bloki z dodanego | Przykład pokazuje, jak wyciągnąć tylko potrzebne bloki z dodanego znacznika danych w zadaniu i wysłać tę informację klientowi jako tabelę. Tabelę dodano za pomocą edytora Planfix: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | ||
| Linia 229: | Linia 229: | ||
</div> | </div> | ||
=== Przykład z nagłówkiem i sumą === | === Przykład z nagłówkiem i sumą === | ||
Aby dodać nagłówek lub wiersz | Aby dodać nagłówek lub wiersz sum do tabeli, użyj następujących parametrów w składni: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">%%$TABLE(Variable;<span style="color:red;">0</span>;<span style="color:red;">0</span>)$%%<br>Tabela narysowana przy użyciu edytora Planfix<br>%%$ENDBLOCK$%%</div> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">%%$TABLE(Variable;<span style="color:red;">0</span>;<span style="color:red;">0</span>)$%%<br>Tabela narysowana przy użyciu edytora Planfix<br>%%$ENDBLOCK$%%</div> | ||
| Linia 281: | Linia 281: | ||
</div> | </div> | ||
Liczby | Liczby wyróżnione na <span style="color:red;">czerwono</span> oznaczają, ile wierszy użyć w nagłówku i w sumie. | ||
Na przykład | Na przykład liczby (<span style="color:red;">1</span>;<span style="color:red;">1</span>) 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. | ||
Aby użyć dwóch wierszy w nagłówku tabeli, | Aby użyć dwóch wierszy w nagłówku tabeli, wpisz to tak — (<span style="color:red;">2</span>;<span style="color:red;">1</span>). | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | ||
| Linia 385: | Linia 385: | ||
Aby dodać nagłówek do tabeli, kliknij prawym przyciskiem myszy na | Aby dodać nagłówek do tabeli, kliknij prawym przyciskiem myszy na tabeli i wybierz '''Row''' - '''Insert Row Above''': | ||
https://s.pfx.so/pf/WJ/Pvy4PR.jpg | https://s.pfx.so/pf/WJ/Pvy4PR.jpg | ||
== '''FOREACH i TABLE z infoblockami''' == | == '''FOREACH i TABLE z infoblockami''' == | ||
Podczas parsowania e-maila lub odpowiadania na żądanie HTTP otrzymujesz kilka linii danych i chcesz dodać je w postaci tekstu | Podczas parsowania e-maila lub odpowiadania na żądanie HTTP otrzymujesz kilka linii danych i chcesz dodać je w postaci uporządkowanego tekstu lub tabeli: | ||
*Wyodrębnij dane do infoblocków: | *Wyodrębnij dane do infoblocków: | ||
** | **from JSON | ||
** | **from HTML table | ||
*Następnie użyj następującej składni: | *Następnie użyj następującej składni: | ||
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | <div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;"> | ||
Aktualna wersja na dzień 01:37, 7 gru 2025
Nawigacja
Zmienne przechowują pewną wartość, na przykład liczbę, ciąg znaków lub inny typ danych. Zmienne są używane w:
- Nazwie zadania (w szablonie zadania lub podczas tworzenia zadania)
- Opisie zadania (w szablonie zadania lub podczas tworzenia zadania)
- Szablonach e-mail
- Akcjach skryptów, przyciskach, przychodzących webhookach, regułach e-mail dla zadań:
- Send HTTP request
- Send SMS
- Write to WhatsApp
- Write to Instagram
- Hurtowych akcjach, skryptach, przyciskach, przychodzących webhookach, regułach e-mail dla zadań:
- Change name
- Change description
- Add comment
- Set field value (dla pól typu "Text")
Aby dodać zmienną do tekstu, na przykład w opisie zadania, kliknij link „różne zmienne” (1), utwórz zmienną i dodaj ją do tekstu odpowiedniego pola w szablonie zadania (2):
Obliczenia ze zmiennymi
Czasami nie wystarczy wstawić wartości zmiennej do tekstu — trzeba wykonać obliczenia na wartościach zmiennych lub przetworzyć otrzymany ciąg. 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ć przerwany. Innymi słowy formuła nie może być przeniesiona do następnego wiersza przez naciśnięcie Enter.
- Zmienne w formule nie mogą być formatowane, np. pogrubione lub kursywą.
- Jeśli chcesz wyróżnić wynik formuły pogrubieniem, zastosuj formatowanie do całej formuły wraz z wynikiem.
IF
Aby wstawić tekst w zależności 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 jest używany tylko razem z IF. Gdy warunek w IF nie jest prawdziwy, wyświetlana jest część z bloku ELSE.
%%$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, wyświetlony zostanie komunikat „Pole [Invoice №] nie jest wypełnione”.
- Jeśli pole jest wypełnione, wyświetlony zostanie komunikat „Wymagane pole zadania jest wypełnione! :)”.
ELSEIF
Pozwala stworzyć bardziej złożone wyrażenie z warunkami:
%%$IF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Uwaga
- Ostatni 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ś świetny! :)
%%$ENDBLOCK$%%
Wynik:
- Jeśli wszystkie trzy pola są niewypeł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, zostanie wyświetlony odpowiedni komunikat „Pole [Contract Number] nie jest wypełnione”.
FOREACH
Gdy zmienna reprezentuje listę wartości, na przykład {{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świetleni tylko ci, których kwota kontraktu jest większa 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 i potrzebujesz wyświetlić informacje dla każdej wartości w postaci tabeli, użyj następującej składni:
TEXT
%%$ENDBLOCK$%%
Przykład
Przykład pokazuje, jak wyciągnąć tylko potrzebne bloki z dodanego znacznika danych w zadaniu i wysłać tę informację klientowi jako tabelę. Tabelę dodano 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 sum do tabeli, użyj następujących parametrów w składni:
Tabela narysowana przy użyciu 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 oznaczają, 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.
Aby użyć dwóch wierszy w nagłówku tabeli, wpisz to tak — (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 przy użyciu 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 infoblockami
Podczas parsowania e-maila lub odpowiadania na żądanie HTTP otrzymujesz kilka linii danych i chcesz dodać je w postaci uporządkowanego tekstu lub tabeli:
- Wyodrębnij dane do infoblocków:
- from JSON
- from HTML table
- Następnie użyj następującej składni:
%%$FOREACH({{Infoblock.!line}};Separator)$%%
{{Infoblock.!line.Infoblock name}}
%%$ENDBLOCK$%%
%%$TABLE({{Infoblock.!line}})$%%
{{Infoblock.!line.Infoblock name}}
%%$ENDBLOCK$%%
Przykład
Wyodrębnijmy dane do infoblocków "Product" i "Price" i dodajmy je do tabeli:
%%$TABLE({{Infoblock.!line}})$%%
| {{Infoblock.!string.Product}} | {{Infoblock.!string.Price}} |
%%$ENDBLOCK$%%
Wynik:
| Pencil | 1,00 |
| Pen | 2,00 |
| Notebook | 10,00 |