Переменные в тексте
Навигация
Переменные хранят в себе какое-то значение, например, число, строку или другой тип данных. Переменные используются в:
- Названии задачи (в шаблоне задач или при создании задачи)
- Описании задачи (в шаблоне задач или при создании задачи)
- Шаблонах писем
- Действиях сценариев, кнопок, входящих вебхуков, правилах для задач по почте:
- Послать HTTP-запрос
- Отправить SMS
- Написать в WhatsApp
- Написать в Instagram
- Изменениях задач массовыми действиями, сценариями, кнопками, входящими вебхуками, правилами для задач по почте:
- Изменить название
- Изменить описание
- Добавить комментарий
- Установить значение поля (для полей типа «Текст»)
Для того, чтобы добавить переменную в текст, например в описание задачи, перейдите по ссылке «различные переменные» (1), сформируйте переменную и добавьте её в текст нужного поля шаблона задачи (2):
Вычисления над переменными
Иногда простой вставки значения переменной в текст бывает недостаточно, а вам необходимо предварительно произвести вычисления над значениями в переменных или обработать полученную в ней строку. Для таких действий используйте следующий синтаксис:
%%%ТЕКСТ ФОРМУЛЫ%%%
Примеры
ЕСЛИ
Для вставки текста в зависимости от значений переменных (условия) используется следующий синтаксис:
ТЕКСТ
%%$КОНЕЦБЛОКА$%%
Конструкцию необходимо добавлять одной строкой без пробелов и переносов:
Пример
Результат:
ИНАЧЕЕСЛИ
Поможет собрать более сложную конструкцию с условиями:
%%$ЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$ИНАЧЕЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$ИНАЧЕЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$ИНАЧЕ$%%
ТЕКСТ
%%$КОНЕЦБЛОКА$%%
Конструкцию необходимо добавлять одной строкой без пробелов и переносов:
Пример
%%$ЕСЛИ({{Задача.Счет №=""}})$%%
Не заполнено поле [Счет №]
%%$ИНАЧЕЕСЛИ({{Задача.УПД №=""}})$%%
Не заполнено поле [УПД №]
%%$ИНАЧЕЕСЛИ({{Задача.Контракт №=""}})$%%
Не заполнено поле [Контракт №]
%%$ИНАЧЕ$%%
Все поля задачи заполнены, ты молодец! :)
%%$КОНЕЦБЛОКА$%%
Результат:
- Если все три поля будут не заполнены — выведется только первое сообщение «Не заполнено поле [Счет №]», остальные будут пропущены.
- Если поля «Счет №» и «УПД №» будут заполнены, а поле «Контракт №» — нет, тогда отобразится соответствующая строка «Не заполнено поле [Контракт №]».
ДЛЯКАЖДОГО
Когда переменная представляет собой список значений, например {{Задача.Подзадачи}} или {{Задача.Исполнитель}}, и вам необходимо вывести информацию для каждого значения — используйте следующий синтаксис:
ТЕКСТ
%%$КОНЕЦБЛОКА$%%
Важно: в этой части конструкции — %%$ДЛЯКАЖДОГО(Переменная;Разделитель)$%% — обязательно указывайте переменную первого уровня, т.е. {{Задача.Подзадачи}} или {{Задача.Исполнитель}} и никак иначе.
Конструкцию необходимо добавлять одной строкой без пробелов и переносов:
Пример
Результат:
Вася Пятёрочкин - Разработчик
Катя Смирнова - СЕО
Результат:
2120 - Предчистовая отделка
2121 - Чистовая отделка
Пример с условием
%%$ДЛЯКАЖДОГО(Переменная;Разделитель)$%%
ТЕКСТ
%%$ЕСЛИ(Логическая формула)$%%
ТЕКСТ
%%$КОНЕЦБЛОКА$%%
ТЕКСТ
%%$КОНЕЦБЛОКА$%%
%%$ДЛЯКАЖДОГО({{Задача.Подзадачи}})$%%%%$ЕСЛИ({{Задача.Подзадачи.Статус}}="ТКП добавлен в расчет")$%%
{{Задача.Подзадачи.Контрагент}}, {{Задача.Подзадачи.Контрагент.ИНН}}, сумма контракта {{Задача.Подзадачи."Сумма контракта (у.е.)"}} {{Задача.Подзадачи.Валюта.Символ}}
%%$КОНЕЦБЛОКА$%%%%$КОНЕЦБЛОКА$%%
Результат:
ООО Восход, 5689845987654, 1500 $
ООО Рассвет, 5689845125699, 1700 $
ООО Заря, 5689845589674, 2500 $
ООО Свет, 5689845235689, 500 $
ТАБЛИЦА
Если переменная представляет собой список значений, и вам необходимо вывести информацию для каждого значения в виде таблицы — используйте следующий синтаксис:
ТЕКСТ
%%$КОНЕЦБЛОКА$%%
Пример
Пример показывает, как из добавленной в задачу аналитики вычленить только нужные блоки и отправить эту информацию клиенту в виде таблицы. Таблица добавляется через панель редактора:
Заказ №{{Задача.Номер}}
%%$ТАБЛИЦА({{Аналитика.Услуга}})$%%
{{Аналитика.Услуга.Название услуги}} | {{Аналитика.Услуга.Сумма}} |
%%$КОНЕЦБЛОКА$%%
Общая сумма заказа: %%%ТЕКСТ(СУММА({{Аналитика.Услуга.Сумма}});",.2f")+МНОЖЕСТВЕННОЕЧИСЛО(СУММА({{Аналитика.Услуга.Сумма}}); " рубль"; " рубля"; " рублей")%%%
Результат:
Заказ №2118
Графический дизайн | 1 600,00 |
Программирование | 3 000,00 |
Разработка ТЗ | 300,00 |
Общая сумма заказа: 4 900,00 рублей
Пример с шапкой и итогом
Для того, чтобы вывести в таблице шапку или строку итогов используйте в синтаксисе следующие параметры:
Таблица, нарисованная с помощью редактора ПланФикса
%%$КОНЕЦБЛОКА$%%
Пример:
%%$ТАБЛИЦА({{Аналитика.Услуга}};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трока - Вставить строку сверху:
ДЛЯКАЖДОГО и ТАБЛИЦА с инфоблоками
При разборе письма или ответа на HTTP-запрос вы получаете несколько строк данных и хотите добавить их в комментарий в виде структурированного текста или таблицы:
- Извлеките данные в инфоблоки:
- Затем воспользуйтесь следующим синтаксисом:
%%$ДЛЯКАЖДОГО({{Инфоблок.!строка}};Разделитель)$%%
{{Инфоблок.!строка.Имя инфоблока}}
%%$КОНЕЦБЛОКА$%%
%%$ТАБЛИЦА({{Инфоблок.!строка}})$%%
{{Инфоблок.!строка.Имя инфоблока}}
%%$КОНЕЦБЛОКА$%%
Пример
Извлечём данные в инфоблоки «Товар» и «Цена» и добавим их в таблицу:
%%$ТАБЛИЦА({{Инфоблок.!строка}})$%%
{{Инфоблок.!строка.Товар}} | {{Инфоблок.!строка.Цена}} |
%%$КОНЕЦБЛОКА$%%
Результат:
Карандаш | 150,00 |
Ручка | 200,00 |
Тетрадь | 100,00 |