Переменные в тексте: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
 
(не показано 48 промежуточных версий 2 участников)
Строка 2: Строка 2:
|title=Переменные в тексте
|title=Переменные в тексте
|titlemode=append
|titlemode=append
|keywords=планфикс, переменные, шаблон задачи, шаблон документа, использование переменных, переменные в тексте
|keywords=планфикс, переменные, шаблон задачи, шаблон документа, использование переменных, переменные в тексте, текст с переменными, для каждого, длякаждого, если, иначе, иначе если, иначеесли, таблица
|description=Использование переменных в тексте
|description=Использование переменных в тексте
}}
}}
<div style="background:#ffbaba;padding:10px;border:1px solid #ff9b9b;">'''Эта справочная статья не относится к шаблонам документов. Как использовать переменные в шаблонах документов читайте [[Переменные в шаблонах документов |здесь]].'''</div>
<div style="background:#ffbaba;padding:10px;border:1px solid #ff9b9b;">Эта справочная статья не относится к шаблонам документов. Как использовать переменные в шаблонах документов читайте [[Переменные в шаблонах документов |здесь]].</div>




Строка 11: Строка 11:
*[[#Вычисления над переменными |Вычисления над переменными]]
*[[#Вычисления над переменными |Вычисления над переменными]]
*[[#ЕСЛИ |ЕСЛИ]]
*[[#ЕСЛИ |ЕСЛИ]]
*[[#ИНАЧЕ |ИНАЧЕ]]
*[[#ИНАЧЕЕСЛИ |ИНАЧЕЕСЛИ]]
*[[#ДЛЯКАЖДОГО |ДЛЯКАЖДОГО]]
*[[#ДЛЯКАЖДОГО |ДЛЯКАЖДОГО]]
*[[#ТАБЛИЦА |ТАБЛИЦА]]
*[[#ТАБЛИЦА |ТАБЛИЦА]]
Строка 44: Строка 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>Работы будут окончены через %%%РАЗНДАТ(СЕГОДНЯ(); {{Задача.Дата окончания работ}}; "d")%%% %%%МНОЖЕСТВЕННОЕЧИСЛО(РАЗНДАТ(СЕГОДНЯ(); {{Задача.Дата окончания работ}}; "d");"день"; "дня"; "дней")%%%</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>Работы будут окончены через %%%РАЗНДАТ(СЕЙЧАС(); {{Задача.Дата окончания работ}}; "d")%%% %%%МНОЖЕСТВЕННОЕЧИСЛО(РАЗНДАТ(СЕЙЧАС(); {{Задача.Дата окончания работ}}; "d");"день"; "дня"; "дней")%%%</nowiki></div>
 
=== Важно ===
*Текст формулы обязательно записывается в одну строку и никак не переносится, т.е. формулу нельзя переносить на следующую строку, нажимая Enter.
*Переменную в формуле нельзя форматировать, например, выделять жирным или делать курсивом.
*Если результат формулы необходимо выделить жирным, то применяйте форматирование сразу ко всей формуле вместе с процентами.




Строка 51: Строка 58:


<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">Логическая формула</span><span style="color:green">)</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">ЕСЛИ(</span><span style="color:blue">Логическая формула</span><span style="color:green">)</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;">
%%$ЕСЛИ(<nowiki>{{Задача.Сумма заказа}}</nowiki> > 100000)$%%<br>
VIP-КЛИЕНТ<br>
%%$КОНЕЦБЛОКА$%%
'''Результат''':
VIP-КЛИЕНТ</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;">
%%$<span style="color:green">ЕСЛИ</span>(<span style="color:blue">Логическая формула</span>)$%%<br>
<span style="color:red">ТЕКСТ</span><br>
%%$<span style="color:#ef18c7">ИНАЧЕ</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;"><nowiki>%%$ЕСЛИ({{Задача.Сумма заказа}} > 100000)$%%VIP-КЛИЕНТ%%$КОНЕЦБЛОКА$%%</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>(<span style="color:blue"><nowiki>{{Задача.Счет №}}=""</nowiki></span>)$%%<br> 
<span style="color:red">Не заполнено поле [Счет №]</span><br>
%%$<span style="color:#ef18c7">ИНАЧЕ</span>$%%<br> 
<span style="color:red">Нужное поле задачи заполнено! :)</span><br>
%%$<span style="color:green">КОНЕЦБЛОКА</span>$%%




'''Результат''':
'''Результат''':


VIP-КЛИЕНТ</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:#e0187b">ЕСЛИ</span>(<span style="color:blue">Логическая формула</span>)$%%<br>  
%%$<span style="color:green">ЕСЛИ</span>(<span style="color:blue">Логическая формула</span>)$%%<br>  
<span style="color:red">ТЕКСТ</span><br>  
<span style="color:red">ТЕКСТ</span><br>  
%%$<span style="color:#e0187b">ИначеЕСЛИ</span>(<span style="color:blue">Логическая формула</span>)$%%<br>   
%%$<span style="color:#ef18c7">ИНАЧЕЕСЛИ</span>(<span style="color:blue">Логическая формула</span>)$%%<br>   
<span style="color:red">ТЕКСТ</span><br>  
<span style="color:red">ТЕКСТ</span><br>  
%%$<span style="color:pink">ИначеЕСЛИ</span>(<span style="color:blue">Логическая формула</span>)$%%<br>   
%%$<span style="color:#ef18c7">ИНАЧЕЕСЛИ</span>(<span style="color:blue">Логическая формула</span>)$%%<br>   
<span style="color:red">ТЕКСТ</span><br>  
<span style="color:red">ТЕКСТ</span><br>  
%%$<span style="color:pink">ИНАЧЕ</span>$%%<br>   
%%$<span style="color:#ef18c7">ИНАЧЕ</span>$%%<br>   
<span style="color:red">ТЕКСТ</span><br>  
<span style="color:red">ТЕКСТ</span><br>  
%%$<span style="color:green">КОНЕЦБЛОКА</span>$%%
%%$<span style="color:green">КОНЕЦБЛОКА</span>$%%
'''Обратите внимание'''<br>
*Последнее <span style="color:#ef18c7">ИНАЧЕ</span> — не обязательная часть блока.
</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;">
%%$<span style="color:green">ЕСЛИ</span>(<span style="color:blue"><nowiki>{{Задача.Счет №}}=""</nowiki></span>)$%%<br> 
<span style="color:red">Не заполнено поле [Счет №]</span><br>
%%$<span style="color:#ef18c7">ИНАЧЕЕСЛИ</span>(<span style="color:blue"><nowiki>{{Задача.УПД №}}=""</nowiki></span>)$%%<br>
<span style="color:red">Не заполнено поле [УПД №]</span><br>
%%$<span style="color:#ef18c7">ИНАЧЕЕСЛИ</span>(<span style="color:blue"><nowiki>{{Задача.Контракт №}}=""</nowiki></span>)$%%<br>
<span style="color:red">Не заполнено поле [Контракт №]</span><br>
%%$<span style="color:#ef18c7">ИНАЧЕ</span>$%%<br> 
<span style="color:red">Все поля задачи заполнены, ты молодец! :)</span><br>
%%$<span style="color:green">КОНЕЦБЛОКА</span>$%%
'''Результат''':
*Если все три поля будут не заполнены — выведется только первое сообщение «Не заполнено поле [Счет №]», остальные будут пропущены.
*Если поля «Счет №» и «УПД №» будут заполнены, а поле «Контракт №» — нет, тогда отобразится соответствующая строка «Не заполнено поле [Контракт №]».</div>




Строка 89: Строка 144:


'''Важно''': в этой части конструкции — %%$<span style="color:green;">ДЛЯКАЖДОГО(<span style="color:blue;">Переменная</span>;<span style="color:blue;">Разделитель</span>)</span>$%% — обязательно указывайте переменную первого уровня, т.е. <nowiki>{{Задача.Подзадачи}}</nowiki> или <nowiki>{{Задача.Исполнитель}}</nowiki> и никак иначе.
'''Важно''': в этой части конструкции — %%$<span style="color:green;">ДЛЯКАЖДОГО(<span style="color:blue;">Переменная</span>;<span style="color:blue;">Разделитель</span>)</span>$%% — обязательно указывайте переменную первого уровня, т.е. <nowiki>{{Задача.Подзадачи}}</nowiki> или <nowiki>{{Задача.Исполнитель}}</nowiki> и никак иначе.
</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;"><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>%%$ДЛЯКАЖДОГО({{Задача.Исполнитель}};"<br>")$%%</nowiki><br>
<nowiki>{{Задача.Исполнитель}} - {{Задача.Исполнитель.Должность}}</nowiki><br>
%%$КОНЕЦБЛОКА$%%




Строка 102: Строка 157:
Анастасия Приходько - Дизайнер<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>%%$ДЛЯКАЖДОГО({{Задача.Подзадачи}};"<br>")$%%</nowiki><br>
<nowiki>{{Задача.Подзадачи.Номер}} - {{Задача.Подзадачи.Название}}</nowiki><br>
%%$КОНЕЦБЛОКА$%%




Строка 108: Строка 165:


2119 - Черновая отделка<br>2120 - Предчистовая отделка<br>2121 - Чистовая отделка</div>
2119 - Черновая отделка<br>2120 - Предчистовая отделка<br>2121 - Чистовая отделка</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;">'''Cинтаксис:'''
%%$<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>$%%
%%$ДЛЯКАЖДОГО(<nowiki>{{Задача.Подзадачи}}</nowiki>;"";<nowiki>{{Задача.Подзадачи."Сумма контракта (у.е.)"}}</nowiki>>1000))$%%<br>
<nowiki>{{Задача.Подзадачи.Контрагент}}, сумма контракта {{Задача.Подзадачи."Сумма контракта (у.е.)"}}</nowiki><br>
%%$КОНЕЦБЛОКА$%%
'''Результат'''
Из всего списка контрагентов, отобразаться только те, у кого сумма контракта более 1000:
ООО Восход, 1500<br>
ООО Рассвет, 1700<br>
ООО Заря, 2500<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;">'''Cинтаксис:'''
<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;">'''Cинтаксис:'''


Строка 127: Строка 206:
ООО Свет, 5689845235689, 500 $
ООО Свет, 5689845235689, 500 $
</div>
</div>


== '''ТАБЛИЦА''' ==
== '''ТАБЛИЦА''' ==
Строка 222: Строка 300:
</div>
</div>


Цифры, выделенные <span style="color:red;">красным цветом</span>, указывают на то, сколько строк в начале и в конце таблицы не повторять.  
Цифры, выделенные <span style="color:red;">красным цветом</span>, указывают на то, сколько строк в начале и в конце таблицы использовать в шапке и итогах.  


Так, в примере выше указаны цифры (<span style="color:red;">1</span>;<span style="color:red;">1</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>).
Для того, чтобы использовать две строки в шапке таблицы, укажите это так — (<span style="color:red;">2</span>;<span style="color:red;">1</span>).


<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">
<div style="display: block; padding: 1em; margin: 0 0 10px; font-size: 13px; line-height: 1.65; color: black; word-wrap: break-word; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px;">

Текущая версия от 05:31, 24 июля 2024

Эта справочная статья не относится к шаблонам документов. Как использовать переменные в шаблонах документов читайте здесь.


Навигация


Переменные хранят в себе какое-то значение, например, число, строку или другой тип данных. Переменные используются в:

  • Названии задачи (в шаблоне задач или при создании задачи)
  • Описании задачи (в шаблоне задач или при создании задачи)
  • Шаблонах писем
  • Действиях сценариев, кнопок, входящих вебхуков, правилах для задач по почте:
    • Послать HTTP-запрос
    • Отправить SMS
    • Написать в WhatsApp
    • Написать в Instagram
  • Изменениях задач массовыми действиями, сценариями, кнопками, входящими вебхуками, правилами для задач по почте:
    • Изменить название
    • Изменить описание
    • Добавить комментарий
    • Установить значение поля (для полей типа «Текст»)

Для того, чтобы добавить переменную в текст, например в описание задачи, перейдите по ссылке «различные переменные» (1), сформируйте переменную и добавьте её в текст нужного поля шаблона задачи (2):

bHwxQU.png


Вычисления над переменными

Иногда простой вставки значения переменной в текст бывает недостаточно, а вам необходимо предварительно произвести вычисления над значениями в переменных или обработать полученную в ней строку. Для таких действий используйте следующий синтаксис:

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

Примеры

Цена со скидкой: %%%{{Задача.Цена}}*0.8%%%
Работы будут окончены через %%%РАЗНДАТ(СЕЙЧАС(); {{Задача.Дата окончания работ}}; "d")%%% %%%МНОЖЕСТВЕННОЕЧИСЛО(РАЗНДАТ(СЕЙЧАС(); {{Задача.Дата окончания работ}}; "d");"день"; "дня"; "дней")%%%

Важно

  • Текст формулы обязательно записывается в одну строку и никак не переносится, т.е. формулу нельзя переносить на следующую строку, нажимая Enter.
  • Переменную в формуле нельзя форматировать, например, выделять жирным или делать курсивом.
  • Если результат формулы необходимо выделить жирным, то применяйте форматирование сразу ко всей формуле вместе с процентами.


ЕСЛИ

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

%%$ЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$КОНЕЦБЛОКА$%%

Пример

%%$ЕСЛИ({{Задача.Сумма заказа}} > 100000)$%%
VIP-КЛИЕНТ
%%$КОНЕЦБЛОКА$%%


Результат:

VIP-КЛИЕНТ


ИНАЧЕ

Используется только вместе с ЕСЛИ. Когда условие в ЕСЛИ не будет истинным, отобразится текст из части блока ИНАЧЕ.

%%$ЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$ИНАЧЕ$%%
ТЕКСТ
%%$КОНЕЦБЛОКА$%%

Пример

%%$ЕСЛИ({{Задача.Счет №}}="")$%%
Не заполнено поле [Счет №]
%%$ИНАЧЕ$%%
Нужное поле задачи заполнено! :)
%%$КОНЕЦБЛОКА$%%


Результат:

  • Если поле будет не заполнено — выведется сообщение «Не заполнено поле [Счет №]».
  • Если поле будет заполнено — выведется сообщение «Нужное поле задачи заполнено! :)».


ИНАЧЕЕСЛИ

Поможет собрать более сложную конструкцию с условиями:

%%$ЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$ИНАЧЕЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$ИНАЧЕЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$ИНАЧЕ$%%
ТЕКСТ
%%$КОНЕЦБЛОКА$%%


Обратите внимание

  • Последнее ИНАЧЕ — не обязательная часть блока.

Пример

%%$ЕСЛИ({{Задача.Счет №}}="")$%%
Не заполнено поле [Счет №]
%%$ИНАЧЕЕСЛИ({{Задача.УПД №}}="")$%%
Не заполнено поле [УПД №]
%%$ИНАЧЕЕСЛИ({{Задача.Контракт №}}="")$%%
Не заполнено поле [Контракт №]
%%$ИНАЧЕ$%%
Все поля задачи заполнены, ты молодец! :)
%%$КОНЕЦБЛОКА$%%


Результат:

  • Если все три поля будут не заполнены — выведется только первое сообщение «Не заполнено поле [Счет №]», остальные будут пропущены.
  • Если поля «Счет №» и «УПД №» будут заполнены, а поле «Контракт №» — нет, тогда отобразится соответствующая строка «Не заполнено поле [Контракт №]».


ДЛЯКАЖДОГО

Когда переменная представляет собой список значений, например {{Задача.Подзадачи}} или {{Задача.Исполнитель}}, и вам необходимо вывести информацию для каждого значения — используйте следующий синтаксис:

%%$ДЛЯКАЖДОГО(Переменная;Разделитель)$%%
ТЕКСТ
%%$КОНЕЦБЛОКА$%%


Важно: в этой части конструкции — %%$ДЛЯКАЖДОГО(Переменная;Разделитель)$%% — обязательно указывайте переменную первого уровня, т.е. {{Задача.Подзадачи}} или {{Задача.Исполнитель}} и никак иначе.


Пример

%%$ДЛЯКАЖДОГО({{Задача.Исполнитель}};"<br>")$%%

{{Задача.Исполнитель}} - {{Задача.Исполнитель.Должность}}
%%$КОНЕЦБЛОКА$%%


Результат:

Анастасия Приходько - Дизайнер
Вася Пятёрочкин - Разработчик
Катя Смирнова - СЕО
%%$ДЛЯКАЖДОГО({{Задача.Подзадачи}};"<br>")$%%

{{Задача.Подзадачи.Номер}} - {{Задача.Подзадачи.Название}}
%%$КОНЕЦБЛОКА$%%


Результат:

2119 - Черновая отделка
2120 - Предчистовая отделка
2121 - Чистовая отделка


Пример с условием

Cинтаксис:

%%$ДЛЯКАЖДОГО(Переменная;Разделитель;Условие_БЕЗ_Если)$%%
  ТЕКСТ
%%$КОНЕЦБЛОКА$%%


%%$ДЛЯКАЖДОГО({{Задача.Подзадачи}};"";{{Задача.Подзадачи."Сумма контракта (у.е.)"}}>1000))$%%
{{Задача.Подзадачи.Контрагент}}, сумма контракта {{Задача.Подзадачи."Сумма контракта (у.е.)"}}
%%$КОНЕЦБЛОКА$%%


Результат

Из всего списка контрагентов, отобразаться только те, у кого сумма контракта более 1000:

ООО Восход, 1500
ООО Рассвет, 1700
ООО Заря, 2500


Блок ЕСЛИ внутри блока ДЛЯКАЖДОГО

Cинтаксис:

%%$ДЛЯКАЖДОГО(Переменная;Разделитель)$%%
  ТЕКСТ
  %%$ЕСЛИ(Логическая формула)$%%
    ТЕКСТ
  %%$КОНЕЦБЛОКА$%%
  ТЕКСТ
%%$КОНЕЦБЛОКА$%%


%%$ДЛЯКАЖДОГО({{Задача.Подзадачи}})$%%%%$ЕСЛИ({{Задача.Подзадачи.Статус}}="ТКП добавлен в расчет")$%%
{{Задача.Подзадачи.Контрагент}}, {{Задача.Подзадачи.Контрагент.ИНН}}, сумма контракта {{Задача.Подзадачи."Сумма контракта (у.е.)"}} {{Задача.Подзадачи.Валюта.Символ}}
%%$КОНЕЦБЛОКА$%%%%$КОНЕЦБЛОКА$%%


Результат:

ООО Восход, 5689845987654, 1500 $
ООО Рассвет, 5689845125699, 1700 $
ООО Заря, 5689845589674, 2500 $
ООО Свет, 5689845235689, 500 $

ТАБЛИЦА

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

%%$ТАБЛИЦА(Переменная)$%%
ТЕКСТ
%%$КОНЕЦБЛОКА$%%

Пример

Пример показывает, как из добавленной в задачу аналитики вычленить только нужные блоки и отправить эту информацию клиенту в виде таблицы. Таблица добавляется через панель редактора:

Заказ №{{Задача.Номер}}

%%$ТАБЛИЦА({{Аналитика.Услуга}})$%%

{{Аналитика.Услуга.Название услуги}} {{Аналитика.Услуга.Сумма}}

%%$КОНЕЦБЛОКА$%%

Общая сумма заказа: %%%ТЕКСТ(СУММА({{Аналитика.Услуга.Сумма}});",.2f")+МНОЖЕСТВЕННОЕЧИСЛО(СУММА({{Аналитика.Услуга.Сумма}}); " рубль"; " рубля"; " рублей")%%%


Результат:

Заказ №2118

Графический дизайн 1 600,00
Программирование 3 000,00
Разработка ТЗ 300,00

Общая сумма заказа: 4 900,00 рублей


Пример с шапкой и итогом

Для того, чтобы вывести в таблице шапку или строку итогов используйте в синтаксисе следующие параметры:

%%$ТАБЛИЦА(Переменная;0;0)$%%
Таблица, нарисованная с помощью редактора ПланФикса
%%$КОНЕЦБЛОКА$%%

Пример:

%%$ТАБЛИЦА({{Аналитика.Услуга}};1;1)$%%

Название Стоимость
{{Аналитика.Услуга.Порядковый номер записи}} {{Аналитика.Услуга.Название услуги}} {{Аналитика.Услуга.Сумма}}
Итог %%%Сумма({{Аналитика.Услуга.Сумма}})%%%

%%$КОНЕЦБЛОКА$%%


Результат:

Название Стоимость
1 Разработка ТЗ 1 000,00
2 Программирование 3 705,00
3 Графический дизайн 1 035,00
4 Тестирование 690,00
Итог 6430

Цифры, выделенные красным цветом, указывают на то, сколько строк в начале и в конце таблицы использовать в шапке и итогах.

Так, в примере выше указаны цифры (1;1) — это означает, что одна строка в начале будет использована для шапки таблицы и одна строка в конце будет использована для итогов таблицы.

Для того, чтобы использовать две строки в шапке таблицы, укажите это так — (2;1).

Пример:

%%$ТАБЛИЦА({{Аналитика.Услуга}};2;1)$%%

Набор услуг
Название Стоимость
{{Аналитика.Услуга.Порядковый номер записи}} {{Аналитика.Услуга.Название услуги}} {{Аналитика.Услуга.Сумма}}
Итог %%%Сумма({{Аналитика.Услуга.Сумма}})%%%

%%$КОНЕЦБЛОКА$%%


Результат:

Набор услуг
Название Стоимость
1 Разработка ТЗ 1 000,00
2 Программирование 3 705,00
3 Графический дизайн 1 035,00
4 Тестирование 690,00
Итог 6430


Пример с условием

%%$ТАБЛИЦА(Переменная;0;0;Условие_БЕЗ_если)$%%
Таблица, нарисованная с помощью редактора ПланФикса
%%$КОНЕЦБЛОКА$%%


%%$ТАБЛИЦА({{Задача.Подзадачи}};1;0;{{Задача.Подзадачи.Статус}}="ТКП добавлен в расчет")$%%

Контрагент ИНН Сумма контракта
{{Задача.Подзадачи.Контрагент}} {{Задача.Подзадачи.Контрагент.ИНН}} {{Задача.Подзадачи."Сумма контракта (у.е.)"}}{{Задача.Подзадачи.Валюта.Символ}}

%%$КОНЕЦБЛОКА$%%


Результат:

Контрагент ИНН Сумма контракта
ООО Восход 5689845987654 1500$
ООО Рассвет 5689845125699 1700$
ООО Заря 5689845589674 2500$
ООО Свет 5689845235689 500$

Чтобы добавить в таблицу шапку, нажмите на нее правой кнопкой мыши и выберите Cтрока - Вставить строку сверху:

TVTmXD.png


ДЛЯКАЖДОГО и ТАБЛИЦА с инфоблоками

При разборе письма или ответа на HTTP-запрос вы получаете несколько строк данных и хотите добавить их в комментарий в виде структурированного текста или таблицы:

  • Извлеките данные в инфоблоки:
  • Затем воспользуйтесь следующим синтаксисом:

%%$ДЛЯКАЖДОГО({{Инфоблок.!строка}};Разделитель)$%%
{{Инфоблок.!строка.Имя инфоблока}}
%%$КОНЕЦБЛОКА$%%

%%$ТАБЛИЦА({{Инфоблок.!строка}})$%%
{{Инфоблок.!строка.Имя инфоблока}}
%%$КОНЕЦБЛОКА$%%


Пример

Извлечём данные в инфоблоки «Товар» и «Цена» и добавим их в таблицу:

%%$ТАБЛИЦА({{Инфоблок.!строка}})$%%

{{Инфоблок.!строка.Товар}} {{Инфоблок.!строка.Цена}}

%%$КОНЕЦБЛОКА$%%


Результат:

Карандаш 150,00
Ручка 200,00
Тетрадь 100,00


Перейти