Змінні в тексті: відмінності між версіями

Матеріал з Planfix
Перейти до: навігація, пошук
Немає опису редагування
Немає опису редагування
 
(Не показані 17 проміжних версій 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>Ціна зі знижкою: %%%{{Завдання.Ціна}}*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>Ціна зі знижкою: %%%{{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>Роботи будуть закінчені через %%%РОЗНДАТ(ЗАРАЗ(); {{Завдання.Дата закінчення робіт}}; "д")%%% %%%МНОЖИННЕЧИСЛО(РОЗНДАТ(ЗАРАЗ(); {{Завдання.Дата закінчення робіт}}; "д");"день"; "дня"; "днів")%%%</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>Роботи будуть закінчені через %%%DATEDIF(NOW(); {{Task.Дата закінчення робіт}}; "д")%%% %%%PLURAL(DATEDIF(NOW(); {{Task.Дата закінчення робіт}}; "д");"день"; "дня"; "днів")%%%</nowiki></div>


=== Важливо ===
=== Важливо ===
Рядок 65: Рядок 65:


=== Приклад ===
=== Приклад ===
<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({{Завдання.Сума замовлення}} > 100000)$%%VIP-КЛІЄНТ%%$ENDBLOCK$%%</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>




Рядок 74: Рядок 74:


== '''ELSE''' ==
== '''ELSE''' ==
Використовується тільки разом з ЯКЩО. Коли умова в ЯКЩО не буде істинною, відобразиться текст з частини блоку 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">IF</span>(<span style="color:blue">Логічна формула</span>)$%%<br>  
%%$<span style="color:green">IF</span>(<span style="color:blue">Логічна формула</span>)$%%<br>  
<span style="color:red">TEXT</span><br>
<span style="color:red">ТЕКСТ</span><br>
%%$<span style="color:#ef18c7">ELSE</span>$%%<br>   
%%$<span style="color:#ef18c7">ELSE</span>$%%<br>   
<span style="color:red">TEXT</span><br>  
<span style="color:red">ТЕКСТ</span><br>  
%%$<span style="color:green">ENDBLOCK</span>$%%
%%$<span style="color:green">ENDBLOCK</span>$%%


Рядок 86: Рядок 86:
'''Конструкцію необхідно додавати одним рядком без пропусків і переносів''':
'''Конструкцію необхідно додавати одним рядком без пропусків і переносів''':


%%$IF(Логічна формула)$%%TEXT%%$ ELSE$%%TEXT%%$ENDBLOCK$%%
%%$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">IF</span>(<span style="color:blue"><nowiki>{{Завдання.Номер рахунку}}=""</nowiki></span>)$%%<br>   
%%$<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">ELSE</span>$%%<br>   
%%$<span style="color:#ef18c7">ELSE</span>$%%<br>   
Рядок 110: Рядок 110:
<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">Логічна формула</span>)$%%<br>  
%%$<span style="color:green">IF</span>(<span style="color:blue">Логічна формула</span>)$%%<br>  
<span style="color:red">TEXT</span><br>  
<span style="color:red">ТЕКСТ</span><br>  
%%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue">Логічна формула</span>)$%%<br>   
%%$<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">ELSEIF</span>(<span style="color:blue">Логічна формула</span>)$%%<br>   
%%$<span style="color:#ef18c7">ELSEIF</span>(<span style="color:blue">Логічна формула</span>)$%%<br>   
<span style="color:red">TEXT</span><br>  
<span style="color:red">ТЕКСТ</span><br>  
%%$<span style="color:#ef18c7">ELSE</span>$%%<br>   
%%$<span style="color:#ef18c7">ELSE</span>$%%<br>   
<span style="color:red">TEXT</span><br>  
<span style="color:red">ТЕКСТ</span><br>  
%%$<span style="color:green">ENDBLOCK</span>$%%
%%$<span style="color:green">ENDBLOCK</span>$%%




'''Зверніть увагу'''<br>
'''Зверніть увагу'''<br>
*Останнє <span style="color:#ef18c7">ІНАКШЕ</span> — не обов'язкова частина блоку.  
*Останнє <span style="color:#ef18c7">ELSEIF</span> — не обов'язкова частина блоку.  
*Конструкцію необхідно додавати одним рядком без пропусків і переносів:
*Конструкцію необхідно додавати одним рядком без пропусків і переносів:
:%%$IF(Логічна формула)$%%TEXT%%$ELSEIF(Логічна формула)$%%TEXT%%$ELSEIF(Логічна формула)$%%ТЕКСТ%%$ ELSE$%%TEXT%%$ENDBLOCK$%%</div>
:%%$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>(<span style="color:blue"><nowiki>{{Завдання.Номер рахунку}}=""</nowiki></span>)$%%<br>   
%%$<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>(<span style="color:blue"><nowiki>{{Завдання.Номер УПД}}=""</nowiki></span>)$%%<br>  
%%$<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>(<span style="color:blue"><nowiki>{{Завдання.Номер контракту}}=""</nowiki></span>)$%%<br>  
%%$<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>$%%<br>   
%%$<span style="color:#ef18c7">ELSE</span>$%%<br>   
<span style="color:red">Всі поля завдання заповнені, ти молодець! :)</span><br>  
<span style="color:red">Всі поля завдання заповнені, ти молодець! :)</span><br>  
%%$<span style="color:green">КІНЕЦЬБЛОКУ</span>$%%
%%$<span style="color:green">ENDBLOCK</span>$%%




Рядок 144: Рядок 144:




== '''ДЛЯКОЖНОГО''' ==
== '''FOREACH''' ==
Коли змінна представляє собою список значень, наприклад <nowiki>{{Завдання.Підзавдання}}</nowiki> або <nowiki>{{Завдання.Виконавець}}</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;">ДЛЯКОЖНОГО(<span style="color:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>)</span>$%%<br>'''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">КІНЕЦЬБЛОКУ</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;">Змінна</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:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>)</span>$%% — обов'язково вказуйте змінну першого рівня, тобто <nowiki>{{Завдання.Підзавдання}}</nowiki> або <nowiki>{{Завдання.Виконавець}}</nowiki> і ніяк інакше.
'''Важливо''': в цій частині конструкції — %%$<span style="color:green;">FOREACH(<span style="color:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>)</span>$%% — обов'язково вказуйте змінну першого рівня, тобто <nowiki>{{Task.Subtasks}}</nowiki> або <nowiki>{{Task.Assignee}}</nowiki> і ніяк інакше.




'''Конструкцію необхідно додавати одним рядком без пропусків і переносів:'''
'''Конструкцію необхідно додавати одним рядком без пропусків і переносів:'''
%%$ДЛЯКОЖНОГО(Змінна;Роздільник)$%%ТЕКСТ%%$КІНЕЦЬБЛОКУ$%%</div>
%%$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>%%$ДЛЯКОЖНОГО({{Завдання.Виконавець}};"<br>")$%%</nowiki><nowiki>{{Завдання.Виконавець}} - {{Завдання.Виконавець.Посада}}</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>%%$ДЛЯКОЖНОГО({{Завдання.Підзавдання}};"<br>")$%%</nowiki><nowiki>{{Завдання.Підзавдання.Номер}} - {{Завдання.Підзавдання.Назва}}</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:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>;<span style="color:blue;">Умова_БЕЗ_Якщо</span>)</span>$%%<br>&nbsp;&nbsp;'''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">КІНЕЦЬБЛОКУ</span>$%%
%%$<span style="color:green;">FOREACH(<span style="color:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>;<span style="color:blue;">Умова_БЕЗ_Якщо</span>)</span>$%%<br>&nbsp;&nbsp;'''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%%




%%$ДЛЯКОЖНОГО(<nowiki>{{Завдання.Підзавдання}}</nowiki>;"")$%%%%$ЯКЩО(<nowiki>{{Завдання.Підзавдання.Статус}}</nowiki>="ТКП додано в розрахунок")$%%<br>
%%$FOREACH(<nowiki>{{Task.Subtasks}}</nowiki>;"")$%%%%$IF(<nowiki>{{Task.Subtasks.Status}}</nowiki>="ТКП додано в розрахунок")$%%<br>
<nowiki>{{Завдання.Підзавдання.Контрагент}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}</nowiki><br>
<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:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>)</span>$%%<br>&nbsp;&nbsp;'''<span style="color:red;">ТЕКСТ</span>'''<br>&nbsp;&nbsp;%%$<span style="color:green;">ЯКЩО(</span><span style="color:blue;">Логічна формула</span><span style="color:green;">)</span>$%%<br>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:red;">ТЕКСТ</span><br>&nbsp;&nbsp;%%$<span style="color:green;">КІНЕЦЬБЛОКУ</span>$%%<br>&nbsp;&nbsp;'''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">КІНЕЦЬБЛОКУ</span>$%%
%%$<span style="color:green;">FOREACH(<span style="color:blue;">Змінна</span>;<span style="color:blue;">Роздільник</span>)</span>$%%<br>&nbsp;&nbsp;'''<span style="color:red;">ТЕКСТ</span>'''<br>&nbsp;&nbsp;%%$<span style="color:green;">IF(</span><span style="color:blue;">Логічна формула</span><span style="color:green;">)</span>$%%<br>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:red;">ТЕКСТ</span><br>&nbsp;&nbsp;%%$<span style="color:green;">ENDBLOCK</span>$%%<br>&nbsp;&nbsp;'''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">ENDBLOCK</span>$%%




%%$ДЛЯКОЖНОГО(<nowiki>{{Завдання.Підзавдання}}</nowiki>)$%%%%$ЯКЩО(<nowiki>{{Завдання.Підзавдання.Статус}}</nowiki>="ТКП додано в розрахунок")$%%<br>
%%$FOREACH(<nowiki>{{Task.Subtasks}}</nowiki>)$%%%%$IF(<nowiki>{{Task.Subtasks.Status}}</nowiki>="ТКП додано в розрахунок")$%%<br>
<nowiki>{{Завдання.Підзавдання.Контрагент}}, {{Завдання.Підзавдання.Контрагент.ІПН}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}</nowiki><br>
<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;">ТАБЛИЦЯ(<span style="color:blue;">Змінна</span>)</span>$%%<br>'''<span style="color:red;">ТЕКСТ</span>'''<br>%%$<span style="color:green;">КІНЕЦЬБЛОКУ</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;">Змінна</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>
Замовлення №<nowiki>{{Task.Number}}</nowiki>


<nowiki>%%$ТАБЛИЦЯ({{Аналітика.Услуга}})$%%</nowiki>
<nowiki>%%$TABLE({{Data tag.Послуга}})$%%</nowiki>
{| class="wikitable"
{| class="wikitable"
|<nowiki>{{Аналітика.Услуга.Назва послуги}}</nowiki>
|<nowiki>{{Data tag.Послуга.Назва послуги}}</nowiki>
|<nowiki>{{Аналітика.Услуга.Сума}}</nowiki>
|<nowiki>{{Data tag.Послуга.Сума}}</nowiki>
|}
|}
%%$КІНЕЦЬБЛОКУ$%%
%%$ENDBLOCK$%%


Загальна сума замовлення:
Загальна сума замовлення:
<nowiki>%%%ТЕКСТ(СУМА({{Аналітика.Услуга.Сума}});",.2f")+МНОЖЕНЕЧИСЛО(СУМА({{Аналітика.Услуга.Сума}}); " гривня"; " гривні"; " гривень")%%%</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;">%%$ТАБЛИЦЯ(Змінна;<span style="color:red;">0</span>;<span style="color:red;">0</span>)$%%<br>Таблиця, намальована за д
<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):

bHwxQU.png


Обчислення над змінними

Іноді простого вставлення значення змінної в текст буває недостатньо, а вам необхідно перед тим зробити обчислення над значеннями в змінних або обробити отриманий у ній рядок. Для таких дій використовуйте наступний синтаксис:

%%%ТЕКСТ ФОРМУЛИ%%%

Приклади

Ціна зі знижкою: %%%{{Task.Ціна}}*0.8%%%
Роботи будуть закінчені через %%%DATEDIF(NOW(); {{Task.Дата закінчення робіт}}; "д")%%% %%%PLURAL(DATEDIF(NOW(); {{Task.Дата закінчення робіт}}; "д");"день"; "дня"; "днів")%%%

Важливо

  • Текст формули обов'язково записується в один рядок і ніяк не переноситься, тобто формулу не можна переносити на наступний рядок, натискаючи Enter.
  • Змінну в формулі не можна форматувати, наприклад, виділяти жирним або робити курсивом.
  • Якщо результат формули необхідно виділити жирним, то застосовуйте форматування одразу до всієї формули разом з відсотками.


IF

Для вставки тексту залежно від значень змінних (умови) використовується наступний синтаксис:

%%$IF(Логічна формула)$%%
ТЕКСТ
%%$ENDBLOCK$%%


Конструкцію необхідно додавати одним рядком без пропусків і переносів:

%%$IF(Логічна формула)$%%ТЕКСТ%%$ENDBLOCK$%%

Приклад

%%$IF({{Task.Сума замовлення}} > 100000)$%%VIP-КЛІЄНТ%%$ENDBLOCK$%%


Результат:

VIP-КЛІЄНТ


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}}, і вам необхідно вивести інформацію для кожного значення — використовуйте наступний синтаксис:

%%$FOREACH(Змінна;Роздільник)$%%
ТЕКСТ
%%$ENDBLOCK$%%


Важливо: в цій частині конструкції — %%$FOREACH(Змінна;Роздільник)$%% — обов'язково вказуйте змінну першого рівня, тобто {{Task.Subtasks}} або {{Task.Assignee}} і ніяк інакше.


Конструкцію необхідно додавати одним рядком без пропусків і переносів:

%%$FOREACH(Змінна;Роздільник)$%%ТЕКСТ%%$ENDBLOCK$%%


Приклад

%%$FOREACH({{Task.Assignee}};"<br>")$%%{{Task.Assignee}} - {{Task.Assignee.Position}}%%$ENDBLOCK$%%


Результат:

Анастасія Приходько - Дизайнер
Вася П'ятірочкін - Розробник
Катя Смирнова - СЕО
%%$FOREACH({{Task.Subtasks}};"<br>")$%%{{Task.Subtasks.Number}} - {{Task.Subtasks.Name}}%%$ENDBLOCK$%%


Результат:

2119 - Чернетка
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

Якщо змінна представляє собою список значень, і вам необхідно вивести інформацію для кожного значення у вигляді таблиці — використовуйте наступний синтаксис:

%%$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 гривень


Приклад з шапкою та підсумком

Щоб вивести в таблиці шапку або рядок підсумків, використовуйте в синтаксисі наступні параметри:

%%$TABLE(Змінна;0;0)$%%
Таблиця, намальована за допомогою редактора ПланФікса
%%$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$

Щоб додати в таблицю заголовок, клацніть на неї правою кнопкою миші і виберіть Рядок - Вставити рядок зверху:

TVTmXD.png


Важливо

В 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


Перейти