Змінні в тексті: відмінності між версіями
Aliona (обговорення | внесок) Немає опису редагування |
Aliona (обговорення | внесок) Немає опису редагування |
||
(Не показані 18 проміжних версій 2 користувачів) | |||
Рядок 15: | Рядок 15: | ||
*[[#FOREACH|FOREACH]] | *[[#FOREACH|FOREACH]] | ||
*[[#TABLE|TABLE]] | *[[#TABLE|TABLE]] | ||
*[[# | *[[#FOREACH і TABLE з інфоблоками|FOREACH і TABLE з інфоблоками]] | ||
Рядок 44: | Рядок 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>Ціна зі знижкою: %%%{{ | <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>Ціна зі знижкою: %%%{{Task.Ціна}}*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(); {{Task.Дата закінчення робіт}}; "д")%%% %%%PLURAL(DATEDIF(NOW(); {{Task.Дата закінчення робіт}}; "д");"день"; "дня"; "днів")%%%</nowiki></div> | ||
=== Важливо === | === Важливо === | ||
Рядок 54: | Рядок 54: | ||
== ''' | == '''IF''' == | ||
Для вставки тексту залежно від значень змінних (умови) використовується наступний синтаксис: | Для вставки тексту залежно від значень змінних (умови) використовується наступний синтаксис: | ||
<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">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>$%% | ||
'''Конструкцію необхідно додавати одним рядком без пропусків і переносів''': | '''Конструкцію необхідно додавати одним рядком без пропусків і переносів''': | ||
%%$ | %%$IF(Логічна формула)$%%ТЕКСТ%%$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;"><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>%%$IF({{Task.Сума замовлення}} > 100000)$%%VIP-КЛІЄНТ%%$ENDBLOCK$%%</nowiki> | ||
Рядок 73: | Рядок 73: | ||
== ''' | == '''ELSE''' == | ||
Використовується тільки разом з | Використовується тільки разом з IF. Коли умова в IF не буде істинною, відобразиться текст з частини блоку 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;"> | ||
%%$<span style="color:green"> | %%$<span style="color:green">IF</span>(<span style="color:blue">Логічна формула</span>)$%%<br> | ||
<span style="color:red">ТЕКСТ</span><br> | <span style="color:red">ТЕКСТ</span><br> | ||
%%$<span style="color:#ef18c7"> | %%$<span style="color:#ef18c7">ELSE</span>$%%<br> | ||
<span style="color:red">ТЕКСТ</span><br> | <span style="color:red">ТЕКСТ</span><br> | ||
%%$<span style="color:green"> | %%$<span style="color:green">ENDBLOCK</span>$%% | ||
'''Конструкцію необхідно додавати одним рядком без пропусків і переносів''': | '''Конструкцію необхідно додавати одним рядком без пропусків і переносів''': | ||
%%$ | %%$IF(Логічна формула)$%%ТЕКСТ%%$ ELSE$%%ТЕКСТ%%$ENDBLOCK$%% | ||
</div> | </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;"> | <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">IF</span>(<span style="color:blue"><nowiki>{{Task.Номер рахунку}}=""</nowiki></span>)$%%<br> | ||
<span style="color:red">Не заповнено поле [Номер рахунку]</span><br> | <span style="color:red">Не заповнено поле [Номер рахунку]</span><br> | ||
%%$<span style="color:#ef18c7"> | %%$<span style="color:#ef18c7">ELSE</span>$%%<br> | ||
<span style="color:red">Потрібне поле завдання заповнено! :)</span><br> | <span style="color:red">Потрібне поле завдання заповнено! :)</span><br> | ||
%%$<span style="color:green"> | %%$<span style="color:green">ENDBLOCK</span>$%% | ||
Рядок 105: | Рядок 105: | ||
== ''' | == '''ELSEIF''' == | ||
Допоможе зібрати більш складну конструкцію з умовами: | Допоможе зібрати більш складну конструкцію з умовами: | ||
<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">IF</span>(<span style="color:blue">Логічна формула</span>)$%%<br> | ||
<span style="color:red">ТЕКСТ</span><br> | <span style="color:red">ТЕКСТ</span><br> | ||
%%$<span style="color:#ef18c7"> | %%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue">Логічна формула</span>)$%%<br> | ||
<span style="color:red">ТЕКСТ</span><br> | <span style="color:red">ТЕКСТ</span><br> | ||
%%$<span style="color:#ef18c7"> | %%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue">Логічна формула</span>)$%%<br> | ||
<span style="color:red">ТЕКСТ</span><br> | <span style="color:red">ТЕКСТ</span><br> | ||
%%$<span style="color:#ef18c7"> | %%$<span style="color:#ef18c7">ELSE</span>$%%<br> | ||
<span style="color:red">ТЕКСТ</span><br> | <span style="color:red">ТЕКСТ</span><br> | ||
%%$<span style="color:green"> | %%$<span style="color:green">ENDBLOCK</span>$%% | ||
'''Зверніть увагу'''<br> | '''Зверніть увагу'''<br> | ||
*Останнє <span style="color:#ef18c7"> | *Останнє <span style="color:#ef18c7">ELSEIF</span> — не обов'язкова частина блоку. | ||
*Конструкцію необхідно додавати одним рядком без пропусків і переносів: | *Конструкцію необхідно додавати одним рядком без пропусків і переносів: | ||
:%%$ | :%%$IF(Логічна формула)$%%ТЕКСТ%%$ELSEIF(Логічна формула)$%%ТЕКСТ%%$ELSEIF(Логічна формула)$%%ТЕКСТ%%$ ELSE$%%ТЕКСТ%%$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;"> | <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">IF</span>(<span style="color:blue"><nowiki>{{Task.Номер рахунку}}=""</nowiki></span>)$%%<br> | ||
<span style="color:red">Не заповнено поле [Номер рахунку]</span><br> | <span style="color:red">Не заповнено поле [Номер рахунку]</span><br> | ||
%%$<span style="color:#ef18c7"> | %%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue"><nowiki>{{Task.Номер УПД}}=""</nowiki></span>)$%%<br> | ||
<span style="color:red">Не заповнено поле [Номер УПД]</span><br> | <span style="color:red">Не заповнено поле [Номер УПД]</span><br> | ||
%%$<span style="color:#ef18c7"> | %%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue"><nowiki>{{Task.Номер контракту}}=""</nowiki></span>)$%%<br> | ||
<span style="color:red">Не заповнено поле [Номер контракту]</span><br> | <span style="color:red">Не заповнено поле [Номер контракту]</span><br> | ||
%%$<span style="color:#ef18c7"> | %%$<span style="color:#ef18c7">ELSE</span>$%%<br> | ||
<span style="color:red">Всі поля завдання заповнені, ти молодець! :)</span><br> | <span style="color:red">Всі поля завдання заповнені, ти молодець! :)</span><br> | ||
%%$<span style="color:green"> | %%$<span style="color:green">ENDBLOCK</span>$%% | ||
Рядок 144: | Рядок 144: | ||
== ''' | == '''FOREACH''' == | ||
Коли змінна представляє собою список значень, наприклад <nowiki>{{ | Коли змінна представляє собою список значень, наприклад <nowiki>{{Task.Subtasks}}</nowiki> або <nowiki>{{Task.Assignee}}</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;">%%$<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;">FOREACH(<span style="color:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>)</span>$%%<br>'''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%% | ||
'''Важливо''': в цій частині конструкції — %%$<span style="color:green;"> | '''Важливо''': в цій частині конструкції — %%$<span style="color:green;">FOREACH(<span style="color:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>)</span>$%% — обов'язково вказуйте змінну першого рівня, тобто <nowiki>{{Task.Subtasks}}</nowiki> або <nowiki>{{Task.Assignee}}</nowiki> і ніяк інакше. | ||
'''Конструкцію необхідно додавати одним рядком без пропусків і переносів:''' | '''Конструкцію необхідно додавати одним рядком без пропусків і переносів:''' | ||
%%$ | %%$FOREACH(Змінна;Роздільник)$%%ТЕКСТ%%$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;"><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({{Task.Assignee}};"<br>")$%%</nowiki><nowiki>{{Task.Assignee}} - {{Task.Assignee.Position}}</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({{Task.Subtasks}};"<br>")$%%</nowiki><nowiki>{{Task.Subtasks.Number}} - {{Task.Subtasks.Name}}</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>{{Task.Subtasks}}</nowiki>;"")$%%%%$IF(<nowiki>{{Task.Subtasks.Status}}</nowiki>="ТКП додано в розрахунок")$%%<br> | ||
<nowiki>{{ | <nowiki>{{Task.Subtasks.Counterparty}}, сума контракту {{Task.Subtasks."Сума контракту (од. вим.)"}}</nowiki><br> | ||
%%$ | %%$ENDBLOCK$%%%%$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>{{Task.Subtasks}}</nowiki>)$%%%%$IF(<nowiki>{{Task.Subtasks.Status}}</nowiki>="ТКП додано в розрахунок")$%%<br> | ||
<nowiki>{{ | <nowiki>{{Task.Subtasks.Counterparty}}, {{Task.Subtasks.Counterparty.Name}}, сума контракту {{Task.Subtasks."Сума контракту (од. вим.)"}}</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> | ||
=== Приклад === | === Приклад === | ||
Рядок 222: | Рядок 222: | ||
<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;"> | ||
Замовлення №<nowiki>{{ | Замовлення №<nowiki>{{Task.Number}}</nowiki> | ||
<nowiki>%%$ | <nowiki>%%$TABLE({{Data tag.Послуга}})$%%</nowiki> | ||
{| class="wikitable" | {| class="wikitable" | ||
|<nowiki>{{ | |<nowiki>{{Data tag.Послуга.Назва послуги}}</nowiki> | ||
|<nowiki>{{ | |<nowiki>{{Data tag.Послуга.Сума}}</nowiki> | ||
|} | |} | ||
%%$ | %%$ENDBLOCK$%% | ||
Загальна сума замовлення: | Загальна сума замовлення: | ||
<nowiki>%%%ТЕКСТ( | <nowiki>%%%ТЕКСТ(SUM({{Data tag.Послуга.Сума}});",.2f")+PLURAL(SUM({{Data tag.Послуга.Сума}}); " гривня"; " гривні"; " гривень")%%%</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>Таблиця, намальована за допомогою редактора ПланФікса<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(<nowiki>{{Data tag.Послуга}}</nowiki>;<span style="color:red;">1</span>;<span style="color:red;">1</span>)$%%<br> | |||
{| class="wikitable" | |||
! № | |||
! Назва | |||
! Вартість | |||
|- | |||
|<nowiki>{{Data tag.Послуга.Порядковий номер запису}}</nowiki> | |||
|<nowiki>{{Data tag.Послуга.Назва послуги}}</nowiki> | |||
|<nowiki>{{Data tag.Послуга.Сума}}</nowiki> | |||
|- | |||
|colspan="2"|Підсумок | |||
|%%%SUM(<nowiki>{{Data tag.Послуга.Сума}}</nowiki>)%%% | |||
|- | |||
|} | |||
%%$ENDBLOCK$%% | |||
'''Результат:''' | |||
{| class="wikitable" | |||
! № | |||
! Назва | |||
! Вартість | |||
|- | |||
|1 | |||
|Розробка ТЗ | |||
|1 000,00 | |||
|- | |||
|2 | |||
|Програмування | |||
|3 705,00 | |||
|- | |||
|3 | |||
|Графічний дизайн | |||
|1 035,00 | |||
|- | |||
|4 | |||
|Тестування | |||
|690,00 | |||
|- | |||
|colspan="2"|Підсумок | |||
|6430 | |||
|} | |||
</div> | |||
Цифри, виділені <span style="color:red;"> червоним кольором</span>, показують, скільки рядків на початку і в кінці таблиці використовувати для заголовка і підсумків. | |||
Так, у прикладі вище зазначені цифри (<span style="color:red;">1</span>;<span style="color:red;">1</span>) — це означає, що один рядок на початку буде використаний для заголовка таблиці, а один рядок в кінці буде використаний для підсумків таблиці. | |||
Для того, щоб використати два рядки у заголовку таблиці, вкажіть це так — (<span style="color:red;">2</span>;<span style="color:red;">1</span>). | |||
'''Приклад:''' | |||
%%$TABLE(<nowiki>{{Data tag.Послуга}}</nowiki>;<span style="color:red;">2</span>;<span style="color:red;">1</span>)$%%<br> | |||
{| class="wikitable" | |||
!colspan="3"|Набір послуг | |||
|- | |||
! № | |||
! Назва | |||
! Вартість | |||
|- | |||
|<nowiki>{{Data tag.Послуга.Порядковий номер запису}}</nowiki> | |||
|<nowiki>{{Data tag.Послуга.Назва послуги}}</nowiki> | |||
|<nowiki>{{Data tag.Послуга.Сума}}</nowiki> | |||
|- | |||
|colspan="2"|Підсумок | |||
|%%%Сума(<nowiki>{{Data tag.Услуга.Сумма}}</nowiki>)%%% | |||
|- | |||
|} | |||
%%$ENDBLOCK$%% | |||
'''Результат:''' | |||
{| class="wikitable" | |||
!colspan="3"|Набір послуг | |||
|- | |||
! № | |||
! Назва | |||
! Вартість | |||
|- | |||
|1 | |||
|Розробка ТЗ | |||
|1 000,00 | |||
|- | |||
|2 | |||
|Програмування | |||
|3 705,00 | |||
|- | |||
|3 | |||
|Графічний дизайн | |||
|1 035,00 | |||
|- | |||
|4 | |||
|Тестування | |||
|690,00 | |||
|- | |||
|colspan="2"|Підсумок | |||
|6430 | |||
|} | |||
</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><span style="color:blue;">Змінна;0;0;Умова_БЕЗ_якщо_якщо</span><span style="color:green;">)</span>$%%<br> | |||
<span style="color:red;">Таблиця, намальована за допомогою редактора ПланФікса</span><br> | |||
%%$<span style="color:green;">ENDBLOCK</span>$%% | |||
%%$TABLE(<nowiki>{{Task.Subtasks}}</nowiki>;1;0;<nowiki>{{Task.Subtasks.Status}}="ТКП додано в розрахунок"</nowiki>)$%%<br> | |||
{| class="wikitable" | |||
! Контрагент | |||
! ЄДРПОУ | |||
! Сума контракту | |||
|- | |||
|<nowiki>{{Task.Subtasks.Counterparty}}</nowiki> | |||
|<nowiki>{{Task.Subtasks.Counterparty.ЄДРПОУ}}</nowiki> | |||
|<nowiki>{{Task.Subtasks."Сума контракту (у.о.)"}}{{Task.Subtasks.Валюта.Символ}}</nowiki> | |||
|- | |||
|} | |||
%%$ENDBLOCK$%% | |||
'''Результат:''' | |||
{| class="wikitable" | |||
! Контрагент | |||
! ЄДРПОУ | |||
! Сума контракту | |||
|- | |||
|ТОВ Восход|5689845987654 | |||
|1500$ | |||
|- | |||
|ТОВ Рассвет | |||
|5689845125699 | |||
|1700$ | |||
|- | |||
|ТОВ Заря | |||
|5689845589674 | |||
|2500$ | |||
|- | |||
|ТОВ Світло | |||
|5689845235689 | |||
|500$ | |||
|- | |||
|} | |||
</div> | |||
Щоб додати в таблицю заголовок, клацніть на неї правою кнопкою миші і виберіть '''Рядок''' - '''Вставити рядок зверху:''' | |||
https://p.pfx.so/pf/3R/TVTmXD.png | |||
== Важливо == | |||
В TABLE на даний момент не підтримується вкладеність конструкцій, отже блок IF всередині TABLE не працюватиме. Тимчасове рішення — використовувати блок TABLE з функцією IF, тобто замість блоку «%%'''$'''IF» використовувати функцію «%%%IF». | |||
== '''FOREACH і TABLE з інфоблоками''' == | |||
При розгляді листа або відповіді на HTTP-запит ви отримуєте кілька рядків даних і бажаєте додати їх до коментаря у вигляді структурованого тексту або таблиці: | |||
*Витягніть дані в інфоблоки: | |||
**[[JSONPath |з JSON]] | |||
**[[Видобуток даних з таблиць в листах |з HTML-таблиці]] | |||
*Потім скористайтеся наступним синтаксисом: | |||
<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><span style="color:blue;"><nowiki>{{Infoblock.!row}}</nowiki></span>;<span style="color:blue;">Роздільник</span><span style="color:green;">)</span>$%%<br><span style="color:red;"><nowiki>{{Infoblock.!row.Ім'я інфоблоку}}</nowiki></span><br>%%$<span style="color:green;">ENDBLOCK</span>$%% | |||
%%$<span style="color:green;">TABLE(</span><span style="color:blue;"><nowiki>{{Infoblock.!row}}</nowiki></span><span style="color:green;">)</span>$%%<br><span style="color:red;"><nowiki>{{Infoblock.!row.Ім'я інфоблоку}}</nowiki></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;"> | |||
%%$TABLE(<nowiki>{{Infoblock.!row}}</nowiki>)$%% | |||
{| class="wikitable" | |||
|<nowiki>{{Infoblock.!row.Товар}}</nowiki> | |||
|<nowiki>{{Infoblock.!row.Ціна}}</nowiki> | |||
|} | |||
%%$ENDBLOCK$%% | |||
'''Результат:''' | |||
{| class="wikitable" | |||
|Олівець | |||
|150,00 | |||
|- | |||
|Ручка | |||
|200,00 | |||
|- | |||
|Зошит | |||
|100,00 | |||
|- | |||
|} | |||
</div> | |||
== Перейти == | |||
*[[Змінні в шаблонах завдань]] | |||
*[[Змінні в шаблонах документів]] |
Поточна версія на 09:45, 2 жовтня 2023
Навігація
Змінні зберігають у собі яке-небудь значення, наприклад, число, рядок або інший тип даних. Змінні використовуються в:
- Назві завдання (у шаблоні завдання або при створенні завдання)
- Описі завдання (у шаблоні завдання або при створенні завдання)
- Шаблонах листів
- Діях сценаріїв, кнопок, вхідних вебхуків, правилах для завдань поштою:
- Відправити HTTP-запит
- Надіслати SMS
- Написати в WhatsApp
- Написати в Instagram
- Змінах завдань масовими діями, сценаріями, кнопками, вхідними вебхуками, правилами для завдань поштою:
- Змінити назву
- Змінити опис
- Додати коментар
- Встановити значення поля (для полів типу «Текст»)
Щоб додати змінну в текст, наприклад, в опис завдання, перейдіть за посиланням «різні змінні» (1), сформуйте змінну і додайте її в текст потрібного поля шаблону завдання (2):
Обчислення над змінними
Іноді простого вставлення значення змінної в текст буває недостатньо, а вам необхідно перед тим зробити обчислення над значеннями в змінних або обробити отриманий у ній рядок. Для таких дій використовуйте наступний синтаксис:
%%%ТЕКСТ ФОРМУЛИ%%%
Приклади
Важливо
- Текст формули обов'язково записується в один рядок і ніяк не переноситься, тобто формулу не можна переносити на наступний рядок, натискаючи Enter.
- Змінну в формулі не можна форматувати, наприклад, виділяти жирним або робити курсивом.
- Якщо результат формули необхідно виділити жирним, то застосовуйте форматування одразу до всієї формули разом з відсотками.
IF
Для вставки тексту залежно від значень змінних (умови) використовується наступний синтаксис:
ТЕКСТ
%%$ENDBLOCK$%%
Конструкцію необхідно додавати одним рядком без пропусків і переносів:
Приклад
Результат:
ELSE
Використовується тільки разом з IF. Коли умова в IF не буде істинною, відобразиться текст з частини блоку ELSE.
%%$IF(Логічна формула)$%%
ТЕКСТ
%%$ELSE$%%
ТЕКСТ
%%$ENDBLOCK$%%
Конструкцію необхідно додавати одним рядком без пропусків і переносів:
%%$IF(Логічна формула)$%%ТЕКСТ%%$ ELSE$%%ТЕКСТ%%$ENDBLOCK$%%
Приклад
%%$IF({{Task.Номер рахунку}}="")$%%
Не заповнено поле [Номер рахунку]
%%$ELSE$%%
Потрібне поле завдання заповнено! :)
%%$ENDBLOCK$%%
Результат:
- Якщо поле буде не заповнено — виведеться повідомлення «Не заповнено поле [Номер рахунку]».
- Якщо поле буде заповнено — виведеться повідомлення «Потрібне поле завдання заповнено! :)».
ELSEIF
Допоможе зібрати більш складну конструкцію з умовами:
%%$IF(Логічна формула)$%%
ТЕКСТ
%%$ELSEIF(Логічна формула)$%%
ТЕКСТ
%%$ELSEIF(Логічна формула)$%%
ТЕКСТ
%%$ELSE$%%
ТЕКСТ
%%$ENDBLOCK$%%
Зверніть увагу
- Останнє ELSEIF — не обов'язкова частина блоку.
- Конструкцію необхідно додавати одним рядком без пропусків і переносів:
- %%$IF(Логічна формула)$%%ТЕКСТ%%$ELSEIF(Логічна формула)$%%ТЕКСТ%%$ELSEIF(Логічна формула)$%%ТЕКСТ%%$ ELSE$%%ТЕКСТ%%$ENDBLOCK$%%
Приклад
%%$IF({{Task.Номер рахунку}}="")$%%
Не заповнено поле [Номер рахунку]
%%$ELSEIF({{Task.Номер УПД}}="")$%%
Не заповнено поле [Номер УПД]
%%$ELSEIF({{Task.Номер контракту}}="")$%%
Не заповнено поле [Номер контракту]
%%$ELSE$%%
Всі поля завдання заповнені, ти молодець! :)
%%$ENDBLOCK$%%
Результат:
- Якщо всі три поля будуть не заповнені — виведеться лише перше повідомлення «Не заповнено поле [Номер рахунку]», інші будуть пропущені.
- Якщо поля «Номер рахунку» і «Номер УПД» будуть заповнені, а поле «Номер контракту» — ні, тоді відобразиться відповідний рядок «Не заповнено поле [Номер контракту]».
FOREACH
Коли змінна представляє собою список значень, наприклад {{Task.Subtasks}} або {{Task.Assignee}}, і вам необхідно вивести інформацію для кожного значення — використовуйте наступний синтаксис:
ТЕКСТ
%%$ENDBLOCK$%%
Важливо: в цій частині конструкції — %%$FOREACH(Змінна;Роздільник)$%% — обов'язково вказуйте змінну першого рівня, тобто {{Task.Subtasks}} або {{Task.Assignee}} і ніяк інакше.
Конструкцію необхідно додавати одним рядком без пропусків і переносів:
Приклад
Результат:
Вася П'ятірочкін - Розробник
Катя Смирнова - СЕО
Результат:
2120 - Попередня обробка
2121 - Остаточна обробка
Приклад з умовою
%%$FOREACH(Змінна;Роздільник;Умова_БЕЗ_Якщо)$%%
ТЕКСТ
%%$ENDBLOCK$%%
%%$FOREACH({{Task.Subtasks}};"")$%%%%$IF({{Task.Subtasks.Status}}="ТКП додано в розрахунок")$%%
{{Task.Subtasks.Counterparty}}, сума контракту {{Task.Subtasks."Сума контракту (од. вим.)"}}
%%$ENDBLOCK$%%%%$ENDBLOCK$%%
Результат
Зі всього списку контрагентів, відобразити лише тих, у кого сума контракту більше 1000:
ТОВ Восход, 1500
ТОВ Рассвет, 1700
ТОВ Заря, 2500
Блок IF всередині блоку FOREACH
%%$FOREACH(Змінна;Роздільник)$%%
ТЕКСТ
%%$IF(Логічна формула)$%%
ТЕКСТ
%%$ENDBLOCK$%%
ТЕКСТ
%%$ENDBLOCK$%%
%%$FOREACH({{Task.Subtasks}})$%%%%$IF({{Task.Subtasks.Status}}="ТКП додано в розрахунок")$%%
{{Task.Subtasks.Counterparty}}, {{Task.Subtasks.Counterparty.Name}}, сума контракту {{Task.Subtasks."Сума контракту (од. вим.)"}}
%%$ENDBLOCK$%%%%$ENDBLOCK$%%
Результат:
ТОВ Восход, 5689845987654, 1500 од.
ТОВ Рассвет, 5689845125699, 1700 од.
ТОВ Заря, 5689845589674, 2500 од.
ТОВ Свет, 5689845235689, 500 од.
TABLE
Якщо змінна представляє собою список значень, і вам необхідно вивести інформацію для кожного значення у вигляді таблиці — використовуйте наступний синтаксис:
ТЕКСТ
%%$ENDBLOCK$%%
Приклад
Приклад показує, як з доданої до завдання аналітики виділити лише потрібні блоки і відправити цю інформацію клієнту у вигляді таблиці. Таблицю додають через панель редактора:
Замовлення №{{Task.Number}}
%%$TABLE({{Data tag.Послуга}})$%%
{{Data tag.Послуга.Назва послуги}} | {{Data tag.Послуга.Сума}} |
%%$ENDBLOCK$%%
Загальна сума замовлення: %%%ТЕКСТ(SUM({{Data tag.Послуга.Сума}});",.2f")+PLURAL(SUM({{Data tag.Послуга.Сума}}); " гривня"; " гривні"; " гривень")%%%
Результат:
Замовлення №2118
Графічний дизайн | 1 600,00 |
Програмування | 3 000,00 |
Розробка ТЗ | 300,00 |
Загальна сума замовлення: 4 900,00 гривень
Приклад з шапкою та підсумком
Щоб вивести в таблиці шапку або рядок підсумків, використовуйте в синтаксисі наступні параметри:
Таблиця, намальована за допомогою редактора ПланФікса
%%$ENDBLOCK$%%
Приклад::
%%$TABLE({{Data tag.Послуга}};1;1)$%%
№ | Назва | Вартість |
---|---|---|
{{Data tag.Послуга.Порядковий номер запису}} | {{Data tag.Послуга.Назва послуги}} | {{Data tag.Послуга.Сума}} |
Підсумок | %%%SUM({{Data tag.Послуга.Сума}})%%% |
%%$ENDBLOCK$%%
Результат:
№ | Назва | Вартість |
---|---|---|
1 | Розробка ТЗ | 1 000,00 |
2 | Програмування | 3 705,00 |
3 | Графічний дизайн | 1 035,00 |
4 | Тестування | 690,00 |
Підсумок | 6430 |
Цифри, виділені червоним кольором, показують, скільки рядків на початку і в кінці таблиці використовувати для заголовка і підсумків.
Так, у прикладі вище зазначені цифри (1;1) — це означає, що один рядок на початку буде використаний для заголовка таблиці, а один рядок в кінці буде використаний для підсумків таблиці.
Для того, щоб використати два рядки у заголовку таблиці, вкажіть це так — (2;1).
Приклад:
%%$TABLE({{Data tag.Послуга}};2;1)$%%
Набір послуг | ||
---|---|---|
№ | Назва | Вартість |
{{Data tag.Послуга.Порядковий номер запису}} | {{Data tag.Послуга.Назва послуги}} | {{Data tag.Послуга.Сума}} |
Підсумок | %%%Сума({{Data tag.Услуга.Сумма}})%%% |
%%$ENDBLOCK$%%
Результат:
Набір послуг | ||
---|---|---|
№ | Назва | Вартість |
1 | Розробка ТЗ | 1 000,00 |
2 | Програмування | 3 705,00 |
3 | Графічний дизайн | 1 035,00 |
4 | Тестування | 690,00 |
Підсумок | 6430 |
Приклад з умовою
%%$TABLE(Змінна;0;0;Умова_БЕЗ_якщо_якщо)$%%
Таблиця, намальована за допомогою редактора ПланФікса
%%$ENDBLOCK$%%
%%$TABLE({{Task.Subtasks}};1;0;{{Task.Subtasks.Status}}="ТКП додано в розрахунок")$%%
Контрагент | ЄДРПОУ | Сума контракту |
---|---|---|
{{Task.Subtasks.Counterparty}} | {{Task.Subtasks.Counterparty.ЄДРПОУ}} | {{Task.Subtasks."Сума контракту (у.о.)"}}{{Task.Subtasks.Валюта.Символ}} |
%%$ENDBLOCK$%%
Результат:
Контрагент | ЄДРПОУ | Сума контракту |
---|---|---|
5689845987654 | 1500$ | |
ТОВ Рассвет | 5689845125699 | 1700$ |
ТОВ Заря | 5689845589674 | 2500$ |
ТОВ Світло | 5689845235689 | 500$ |
Щоб додати в таблицю заголовок, клацніть на неї правою кнопкою миші і виберіть Рядок - Вставити рядок зверху:
Важливо
В TABLE на даний момент не підтримується вкладеність конструкцій, отже блок IF всередині TABLE не працюватиме. Тимчасове рішення — використовувати блок TABLE з функцією IF, тобто замість блоку «%%$IF» використовувати функцію «%%%IF».
FOREACH і TABLE з інфоблоками
При розгляді листа або відповіді на HTTP-запит ви отримуєте кілька рядків даних і бажаєте додати їх до коментаря у вигляді структурованого тексту або таблиці:
- Витягніть дані в інфоблоки:
- Потім скористайтеся наступним синтаксисом:
%%$FOREACH({{Infoblock.!row}};Роздільник)$%%
{{Infoblock.!row.Ім'я інфоблоку}}
%%$ENDBLOCK$%%
%%$TABLE({{Infoblock.!row}})$%%
{{Infoblock.!row.Ім'я інфоблоку}}
%%$ENDBLOCK$%%
Приклад
Витягнемо дані в інфоблоки «Товар» і «Ціна» та додамо їх до таблиці:
%%$TABLE({{Infoblock.!row}})$%%
{{Infoblock.!row.Товар}} | {{Infoblock.!row.Ціна}} |
%%$ENDBLOCK$%%
Результат:
Олівець | 150,00 |
Ручка | 200,00 |
Зошит | 100,00 |