Змінні в тексті: відмінності між версіями
Aliona (обговорення | внесок) Немає опису редагування |
Aliona (обговорення | внесок) Немає опису редагування |
||
Рядок 46: | Рядок 46: | ||
<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>Ціна зі знижкою: %%%{{Завдання.Ціна}}*0.8%%%</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>Ціна зі знижкою: %%%{{Завдання.Ціна}}*0.8%%%</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>Роботи будуть закінчені через %%% | <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>Роботи будуть закінчені через %%%DATEDIF(NOW(); {{Завдання.Дата закінчення робіт}}; "д")%%% %%%PLURAL(DATEDIF(NOW(); {{Завдання.Дата закінчення робіт}}; "д");"день"; "дня"; "днів")%%%</nowiki></div> | ||
=== Важливо === | === Важливо === | ||
Рядок 158: | Рядок 158: | ||
=== Приклад === | === Приклад === | ||
<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>%%$ | <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({{Завдання.Виконавець}};"<br>")$%%</nowiki><nowiki>{{Завдання.Виконавець}} - {{Завдання.Виконавець.Посада}}</nowiki>%%$ENDBLOCK$%% | ||
Рядок 165: | Рядок 165: | ||
Анастасія Приходько - Дизайнер<br>Вася П'ятірочкін - Розробник<br>Катя Смирнова - СЕО</div> | Анастасія Приходько - Дизайнер<br>Вася П'ятірочкін - Розробник<br>Катя Смирнова - СЕО</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>%%$ | <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({{Завдання.Підзавдання}};"<br>")$%%</nowiki><nowiki>{{Завдання.Підзавдання.Номер}} - {{Завдання.Підзавдання.Назва}}</nowiki>%%$ENDBLOCK$%% | ||
Рядок 176: | Рядок 176: | ||
<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;"> | %%$<span style="color:green;">FOREACH(<span style="color:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>;<span style="color:blue;">Умова_БЕЗ_Якщо</span>)</span>$%%<br> '''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%% | ||
%%$ | %%$FOREACH(<nowiki>{{Завдання.Підзавдання}}</nowiki>;"")$%%%%$IF(<nowiki>{{Завдання.Підзавдання.Статус}}</nowiki>="ТКП додано в розрахунок")$%%<br> | ||
<nowiki>{{Завдання.Підзавдання.Контрагент}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}</nowiki><br> | <nowiki>{{Завдання.Підзавдання.Контрагент}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}</nowiki><br> | ||
%%$КІНЕЦЬБЛОКУ$%%%%$ | %%$КІНЕЦЬБЛОКУ$%%%%$ENDBLOCK$%% | ||
Рядок 194: | Рядок 194: | ||
=== Блок | === Блок IF всередині блоку FOREACH === | ||
<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;"> | %%$<span style="color:green;">FOREACH(<span style="color:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>)</span>$%%<br> '''<span style="color:red;">ТЕКСТ</span>'''<br> %%$<span style="color:green;">IF(</span><span style="color:blue;">Логічна формула</span><span style="color:green;">)</span>$%%<br> <span style="color:red;">ТЕКСТ</span><br> %%$<span style="color:green;">ENDBLOCK</span>$%%<br> '''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%% | ||
%%$ | %%$FOREACH(<nowiki>{{Завдання.Підзавдання}}</nowiki>)$%%%%$IF(<nowiki>{{Завдання.Підзавдання.Статус}}</nowiki>="ТКП додано в розрахунок")$%%<br> | ||
<nowiki>{{Завдання.Підзавдання.Контрагент}}, {{Завдання.Підзавдання.Контрагент.ІПН}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}</nowiki><br> | <nowiki>{{Завдання.Підзавдання.Контрагент}}, {{Завдання.Підзавдання.Контрагент.ІПН}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}</nowiki><br> | ||
%%$ | %%$ENDBLOCK$%%%%$ENDBLOCK$%% | ||
Рядок 213: | Рядок 213: | ||
</div> | </div> | ||
== ''' | == '''TABLE''' == | ||
Якщо змінна представляє собою список значень, і вам необхідно вивести інформацію для кожного значення у вигляді таблиці — використовуйте наступний синтаксис: | Якщо змінна представляє собою список значень, і вам необхідно вивести інформацію для кожного значення у вигляді таблиці — використовуйте наступний синтаксис: | ||
<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;"> | <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;">Змінна</span>)</span>$%%<br>'''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%%</div> | ||
=== Приклад === | === Приклад === | ||
Рядок 224: | Рядок 224: | ||
Замовлення №<nowiki>{{Завдання.Номер}}</nowiki> | Замовлення №<nowiki>{{Завдання.Номер}}</nowiki> | ||
<nowiki>%%$ | <nowiki>%%$TABLE({{Аналітика.Услуга}})$%%</nowiki> | ||
{| class="wikitable" | {| class="wikitable" | ||
|<nowiki>{{Аналітика.Услуга.Назва послуги}}</nowiki> | |<nowiki>{{Аналітика.Услуга.Назва послуги}}</nowiki> | ||
|<nowiki>{{Аналітика.Услуга.Сума}}</nowiki> | |<nowiki>{{Аналітика.Услуга.Сума}}</nowiki> | ||
|} | |} | ||
%%$ | %%$ENDBLOCK$%% | ||
Загальна сума замовлення: | Загальна сума замовлення: | ||
<nowiki>%%%ТЕКСТ(СУМА({{Аналітика.Услуга.Сума}});",.2f")+ | <nowiki>%%%ТЕКСТ(СУМА({{Аналітика.Услуга.Сума}});",.2f")+PLURAL(SUM({{Аналітика.Услуга.Сума}}); " гривня"; " гривні"; " гривень")%%%</nowiki> | ||
Рядок 256: | Рядок 256: | ||
Щоб вивести в таблиці шапку або рядок підсумків, використовуйте в синтаксисі наступні параметри: | Щоб вивести в таблиці шапку або рядок підсумків, використовуйте в синтаксисі наступні параметри: | ||
<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;">%%$TABLE(Змінна;<span style="color:red;">0</span>;<span style="color:red;">0</span>)$%%<br>Таблиця, намальована за д |
Версія за 15:02, 29 вересня 2023
Навігація
Змінні зберігають у собі яке-небудь значення, наприклад, число, рядок або інший тип даних. Змінні використовуються в:
- Назві завдання (у шаблоні завдання або при створенні завдання)
- Описі завдання (у шаблоні завдання або при створенні завдання)
- Шаблонах листів
- Діях сценаріїв, кнопок, вхідних вебхуків, правилах для завдань поштою:
- Відправити HTTP-запит
- Надіслати SMS
- Написати в WhatsApp
- Написати в Instagram
- Змінах завдань масовими діями, сценаріями, кнопками, вхідними вебхуками, правилами для завдань поштою:
- Змінити назву
- Змінити опис
- Додати коментар
- Встановити значення поля (для полів типу «Текст»)
Щоб додати змінну в текст, наприклад, в опис завдання, перейдіть за посиланням «різні змінні» (1), сформуйте змінну і додайте її в текст потрібного поля шаблону завдання (2):
Обчислення над змінними
Іноді простого вставлення значення змінної в текст буває недостатньо, а вам необхідно перед тим зробити обчислення над значеннями в змінних або обробити отриманий у ній рядок. Для таких дій використовуйте наступний синтаксис:
%%%ТЕКСТ ФОРМУЛИ%%%
Приклади
Важливо
- Текст формули обов'язково записується в один рядок і ніяк не переноситься, тобто формулу не можна переносити на наступний рядок, натискаючи Enter.
- Змінну в формулі не можна форматувати, наприклад, виділяти жирним або робити курсивом.
- Якщо результат формули необхідно виділити жирним, то застосовуйте форматування одразу до всієї формули разом з відсотками.
IF
Для вставки тексту залежно від значень змінних (умови) використовується наступний синтаксис:
ТЕКСТ
%%$ENDBLOCK$%%
Конструкцію необхідно додавати одним рядком без пропусків і переносів:
Приклад
Результат:
ELSE
Використовується тільки разом з ЯКЩО. Коли умова в ЯКЩО не буде істинною, відобразиться текст з частини блоку ELSE.
%%$IF(Логічна формула)$%%
ТЕКСТ
%%$ELSE$%%
ТЕКСТ
%%$ENDBLOCK$%%
Конструкцію необхідно додавати одним рядком без пропусків і переносів:
%%$IF(Логічна формула)$%%ТЕКСТ%%$ ELSE$%%ТЕКСТ%%$ENDBLOCK$%%
Приклад
%%$IF({{Завдання.Номер рахунку}}="")$%%
Не заповнено поле [Номер рахунку]
%%$ELSE$%%
Потрібне поле завдання заповнено! :)
%%$ENDBLOCK$%%
Результат:
- Якщо поле буде не заповнено — виведеться повідомлення «Не заповнено поле [Номер рахунку]».
- Якщо поле буде заповнено — виведеться повідомлення «Потрібне поле завдання заповнено! :)».
ELSEIF
Допоможе зібрати більш складну конструкцію з умовами:
%%$IF(Логічна формула)$%%
ТЕКСТ
%%$ELSEIF(Логічна формула)$%%
ТЕКСТ
%%$ELSEIF(Логічна формула)$%%
ТЕКСТ
%%$ELSE$%%
ТЕКСТ
%%$ENDBLOCK$%%
Зверніть увагу
- Останнє ІНАКШЕ — не обов'язкова частина блоку.
- Конструкцію необхідно додавати одним рядком без пропусків і переносів:
- %%$IF(Логічна формула)$%%ТЕКСТ%%$ELSEIF(Логічна формула)$%%ТЕКСТ%%$ELSEIF(Логічна формула)$%%ТЕКСТ%%$ ELSE$%%ТЕКСТ%%$ENDBLOCK$%%
Приклад
%%$IF({{Завдання.Номер рахунку}}="")$%%
Не заповнено поле [Номер рахунку]
%%$ELSEIF({{Завдання.Номер УПД}}="")$%%
Не заповнено поле [Номер УПД]
%%$ELSEIF({{Завдання.Номер контракту}}="")$%%
Не заповнено поле [Номер контракту]
%%$ELSE$%%
Всі поля завдання заповнені, ти молодець! :)
%%$ENDBLOCK$%%
Результат:
- Якщо всі три поля будуть не заповнені — виведеться лише перше повідомлення «Не заповнено поле [Номер рахунку]», інші будуть пропущені.
- Якщо поля «Номер рахунку» і «Номер УПД» будуть заповнені, а поле «Номер контракту» — ні, тоді відобразиться відповідний рядок «Не заповнено поле [Номер контракту]».
FOREACH
Коли змінна представляє собою список значень, наприклад {{Завдання.Підзавдання}} або {{Завдання.Виконавець}}, і вам необхідно вивести інформацію для кожного значення — використовуйте наступний синтаксис:
ТЕКСТ
%%$ENDBLOCK$%%
Важливо: в цій частині конструкції — %%$ДЛЯКОЖНОГО(Змінна;Роздільник)$%% — обов'язково вказуйте змінну першого рівня, тобто {{Завдання.Підзавдання}} або {{Завдання.Виконавець}} і ніяк інакше.
Конструкцію необхідно додавати одним рядком без пропусків і переносів:
Приклад
Результат:
Вася П'ятірочкін - Розробник
Катя Смирнова - СЕО
Результат:
2120 - Попередня обробка
2121 - Остаточна обробка
Приклад з умовою
%%$FOREACH(Змінна;Роздільник;Умова_БЕЗ_Якщо)$%%
ТЕКСТ
%%$ENDBLOCK$%%
%%$FOREACH({{Завдання.Підзавдання}};"")$%%%%$IF({{Завдання.Підзавдання.Статус}}="ТКП додано в розрахунок")$%%
{{Завдання.Підзавдання.Контрагент}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}
%%$КІНЕЦЬБЛОКУ$%%%%$ENDBLOCK$%%
Результат
Зі всього списку контрагентів, відобразити лише тих, у кого сума контракту більше 1000:
ТОВ Восход, 1500
ТОВ Рассвет, 1700
ТОВ Заря, 2500
Блок IF всередині блоку FOREACH
%%$FOREACH(Змінна;Роздільник)$%%
ТЕКСТ
%%$IF(Логічна формула)$%%
ТЕКСТ
%%$ENDBLOCK$%%
ТЕКСТ
%%$ENDBLOCK$%%
%%$FOREACH({{Завдання.Підзавдання}})$%%%%$IF({{Завдання.Підзавдання.Статус}}="ТКП додано в розрахунок")$%%
{{Завдання.Підзавдання.Контрагент}}, {{Завдання.Підзавдання.Контрагент.ІПН}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}
%%$ENDBLOCK$%%%%$ENDBLOCK$%%
Результат:
ТОВ Восход, 5689845987654, 1500 од.
ТОВ Рассвет, 5689845125699, 1700 од.
ТОВ Заря, 5689845589674, 2500 од.
ТОВ Свет, 5689845235689, 500 од.
TABLE
Якщо змінна представляє собою список значень, і вам необхідно вивести інформацію для кожного значення у вигляді таблиці — використовуйте наступний синтаксис:
ТЕКСТ
%%$ENDBLOCK$%%
Приклад
Приклад показує, як з доданої до завдання аналітики виділити лише потрібні блоки і відправити цю інформацію клієнту у вигляді таблиці. Таблицю додають через панель редактора:
Замовлення №{{Завдання.Номер}}
%%$TABLE({{Аналітика.Услуга}})$%%
{{Аналітика.Услуга.Назва послуги}} | {{Аналітика.Услуга.Сума}} |
%%$ENDBLOCK$%%
Загальна сума замовлення: %%%ТЕКСТ(СУМА({{Аналітика.Услуга.Сума}});",.2f")+PLURAL(SUM({{Аналітика.Услуга.Сума}}); " гривня"; " гривні"; " гривень")%%%
Результат:
Замовлення №2118
Графічний дизайн | 1 600,00 |
Програмування | 3 000,00 |
Розробка ТЗ | 300,00 |
Загальна сума замовлення: 4 900,00 гривень
Приклад з шапкою та підсумком
Щоб вивести в таблиці шапку або рядок підсумків, використовуйте в синтаксисі наступні параметри:
Таблиця, намальована за д