Змінні в тексті
Навігація
Змінні зберігають деяке значення, наприклад число, рядок або інший тип даних. Змінні використовуються в:
- Назві завдання (у шаблоні завдання або при створенні завдання)
- Описі завдання (у шаблоні завдання або при створенні завдання)
- Шаблонах електронної пошти
- Діях сценаріїв, кнопках, вхідних вебхуках, правилах пошти для завдань:
- Send HTTP request
- Send SMS
- Write to WhatsApp
- Write to Instagram
- Масових діях, сценаріях, кнопках, вхідних вебхуках, правилах пошти для завдань:
- Change name
- Change description
- Add comment
- Set field value (для полів типу "Text")
Щоб додати змінну в текст, наприклад, в опис завдання, натисніть на посилання «different variables» (1), створіть змінну і додайте її в текст потрібного поля в шаблоні завдання (2):
Обчислення зі змінними
Іноді буває недостатньо просто вставити значення змінної в текст — потрібно ще й виконати обчислення зі значеннями змінних або обробити отриманий рядок. Для таких дій використовується наступний синтаксис:
%%%FORMULA TEXT%%%
Приклади
Важливо
- Текст формули повинен бути записаний в одному рядку і не може бути розбитий. Іншими словами, формулу не можна перенести в наступний рядок клавішею Enter.
- Змінні у формулі не можна форматувати (наприклад, зробити напівжирним або курсивом).
- Якщо потрібно виділити результат формули напівжирним, застосуйте форматування до всієї формули разом із результатом.
IF
Щоб вставляти текст залежно від значень змінних (умов), використовуйте наступний синтаксис:
TEXT
%%$ENDBLOCK$%%
Приклад
%%$IF({{Task.Order Amount}} > 100000)$%%
VIP CUSTOMER
%%$ENDBLOCK$%%
Результат:
ELSE
ELSE використовується тільки разом з IF. Коли умова в IF не виконується, відображається текст з частини ELSE блоку.
%%$IF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Приклад
%%$IF({{Task. Invoice №}}="")$%%
The field [Invoice №] is not filled in
%%$ELSE$%%
The required task field is filled in! :)
%%$ENDBLOCK$%%
Результат:
- Якщо поле не заповнене, буде відображено повідомлення "The field [Invoice №] is not filled in".
- Якщо поле заповнене, буде відображено повідомлення "The required task field is filled in! :)".
ELSEIF
Допомагає створити більш складний вираз з умовами:
%%$IF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%
Примітка
- Останній блок ELSE є необов'язковою частиною блоку.
Приклад
%%$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$%%
Результат:
- Якщо усі три поля не заповнені, буде відображено тільки перше повідомлення "The field [Invoice Number] is not filled in", решта пропуститься.
- Якщо поля "Invoice Number" і "UPD Number" заповнені, але поле "Contract Number" не заповнене, тоді буде показано відповідне повідомлення "The field [Contract Number] is not filled in".
FOREACH
Коли змінна представляє список значень, наприклад {{Task.Subtasks}} або {{Task.Assignee}}, і потрібно відобразити інформацію для кожного значення, використовуйте наступний синтаксис:
TEXT
%%$ENDBLOCK$%%
Приклад
Результат:
Jamse Davis - Developer
Mary Brown - CEO
Результат:
2120 - Sub-final finishing
2121 - Final touches
Приклад з умовою
%%$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$%%
Результат
З усього списку контрагентів будуть показані тільки ті, у яких сума контракту більше 1000:
LLC Sunrise, 1500
LLC Sunset, 1700
LLC Dawn, 2500
ELSE всередині 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$%%
Результат:
LLC Sunrise, 5689845987654, 1500 $
LLC Sunset, 5689845125699, 1700 $
LLC Dawn, 5689845589674, 2500 $
LLC Light, 5689845235689, 500 $
TABLE
Якщо змінна представляє список значень і потрібно показати інформацію для кожного значення у вигляді таблиці, використовуйте наступний синтаксис:
TEXT
%%$ENDBLOCK$%%
Приклад
Приклад показує, як витягти тільки потрібні блоки з доданого Аналітичного тегу (Data tag) у завданні і відправити цю інформацію клієнту у вигляді таблиці. Таблицю додають за допомогою редактора 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")%%%
Результат:
Order №2118
| Graphic design | 1 600.00 |
| Programming | 3 000.00 |
| Development of TA | 300.00 |
Total order amount: 4 900.00 dollars
Приклад із заголовком та підсумком
Щоб додати заголовок або рядок підсумків у таблицю, використовуйте такі параметри в синтаксисі:
Таблиця намальована за допомогою редактора Planfix
%%$ENDBLOCK$%%
Приклад:
%%$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$%%
Результат:
| # | 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 | |
Цифри, виділені червоним, показують, скільки рядків використовувати у заголовку та підсумках.
Наприклад, числа (1;1) у наведеному прикладі означають, що один рядок на початку буде використано для заголовка таблиці, а один рядок в кінці — для підсумків.
Щоб використовувати два рядки в заголовку таблиці, вкажіть так — (2;1).
Приклад:
%%$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$%%
Результат:
| 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 | |
Приклад з умовою
%%$TABLE(Variable;0;0;Condition_WITHOUT_If)$%%
Table drawn using the 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$%%
Результат:
| Counterparty | TIN | Contract amount |
|---|---|---|
| LLC Sunrise | 5689845987654 | 1500$ |
| LLC Sunset | 5689845125699 | 1700$ |
| LLC Dawn | 5689845589674 | 2500$ |
| LLC Light | 5689845235689 | 500$ |
Щоб додати заголовок до таблиці, клацніть по ній правою кнопкою миші і виберіть Row - Insert Row Above:
FOREACH та TABLE з інфоблоками
Коли ви парсите електронний лист або відповідаєте на HTTP-запит, отримуєте кілька рядків даних і хочете додати їх у вигляді структурованого тексту або таблиці:
- Витягніть дані в інфоблоки:
- Потім використайте наступний синтаксис:
%%$FOREACH({{Infoblock.!line}};Separator)$%%
{{Infoblock.!line.Infoblock name}}
%%$ENDBLOCK$%%
%%$TABLE({{Infoblock.!line}})$%%
{{Infoblock.!line.Infoblock name}}
%%$ENDBLOCK$%%
Приклад
Давайте витягнемо дані в інфоблоки "Product" і "Price" та додамо їх у таблицю:
%%$TABLE({{Infoblock.!line}})$%%
| {{Infoblock.!string.Product}} | {{Infoblock.!string.Price}} |
%%$ENDBLOCK$%%
Результат:
| Pencil | 1,00 |
| Pen | 2,00 |
| Notebook | 10,00 |