Змінні в тексті

Матеріал з Planfix
Перейти до: навігація, пошук

Ця довідкова стаття не стосується шаблонів документів. Як використовувати змінні в шаблонах документів читайте тут.


Навігація


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

  • Назві завдання (у шаблоні завдання або при створенні завдання)
  • Описі завдання (у шаблоні завдання або при створенні завдання)
  • Шаблонах листів
  • Діях сценаріїв, кнопок, вхідних вебхуків, правилах для завдань поштою:
    • Відправити HTTP-запит
    • Надіслати SMS
    • Написати в WhatsApp
    • Написати в Instagram
  • Змінах завдань масовими діями, сценаріями, кнопками, вхідними вебхуками, правилами для завдань поштою:
    • Змінити назву
    • Змінити опис
    • Додати коментар
    • Встановити значення поля (для полів типу «Текст»)

Щоб додати змінну в текст, наприклад, в опис завдання, перейдіть за посиланням «різні змінні» (1), сформуйте змінну і додайте її в текст потрібного поля шаблону завдання (2):

bHwxQU.png


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

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

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

Приклади

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

Важливо

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


IF

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

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


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

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

Приклад

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


Результат:

VIP-КЛІЄНТ


ELSE

Використовується тільки разом з ЯКЩО. Коли умова в ЯКЩО не буде істинною, відобразиться текст з частини блоку ELSE.

%%$IF(Логічна формула)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%


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

%%$IF(Логічна формула)$%%TEXT%%$ ELSE$%%TEXT%%$ENDBLOCK$%%

Приклад

%%$IF({{Завдання.Номер рахунку}}="")$%%
Не заповнено поле [Номер рахунку]
%%$ELSE$%%
Потрібне поле завдання заповнено! :)
%%$ENDBLOCK$%%


Результат:

  • Якщо поле буде не заповнено — виведеться повідомлення «Не заповнено поле [Номер рахунку]».
  • Якщо поле буде заповнено — виведеться повідомлення «Потрібне поле завдання заповнено! :)».


ELSEIF

Допоможе зібрати більш складну конструкцію з умовами:

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


Зверніть увагу

  • Останнє ІНАКШЕ — не обов'язкова частина блоку.
  • Конструкцію необхідно додавати одним рядком без пропусків і переносів:
%%$IF(Логічна формула)$%%TEXT%%$ELSEIF(Логічна формула)$%%TEXT%%$ELSEIF(Логічна формула)$%%ТЕКСТ%%$ ELSE$%%TEXT%%$ENDBLOCK$%%

Приклад

%%$ЯКЩО({{Завдання.Номер рахунку}}="")$%%
Не заповнено поле [Номер рахунку]
%%$ІНАКШЕЯКЩО({{Завдання.Номер УПД}}="")$%%
Не заповнено поле [Номер УПД]
%%$ІНАКШЕЯКЩО({{Завдання.Номер контракту}}="")$%%
Не заповнено поле [Номер контракту]
%%$ІНАКШЕ$%%
Всі поля завдання заповнені, ти молодець! :)
%%$КІНЕЦЬБЛОКУ$%%


Результат:

  • Якщо всі три поля будуть не заповнені — виведеться лише перше повідомлення «Не заповнено поле [Номер рахунку]», інші будуть пропущені.
  • Якщо поля «Номер рахунку» і «Номер УПД» будуть заповнені, а поле «Номер контракту» — ні, тоді відобразиться відповідний рядок «Не заповнено поле [Номер контракту]».


ДЛЯКОЖНОГО

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

%%$ДЛЯКОЖНОГО(Змінна;Роздільник)$%%
ТЕКСТ
%%$КІНЕЦЬБЛОКУ$%%


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


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

%%$ДЛЯКОЖНОГО(Змінна;Роздільник)$%%ТЕКСТ%%$КІНЕЦЬБЛОКУ$%%


Приклад

%%$ДЛЯКОЖНОГО({{Завдання.Виконавець}};"<br>")$%%{{Завдання.Виконавець}} - {{Завдання.Виконавець.Посада}}%%$КІНЕЦЬБЛОКУ$%%


Результат:

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


Результат:

2119 - Чернетка
2120 - Попередня обробка
2121 - Остаточна обробка


Приклад з умовою

Синтаксис:

%%$ДЛЯКОЖНОГО(Змінна;Роздільник;Умова_БЕЗ_Якщо)$%%
  ТЕКСТ
%%$КІНЕЦЬБЛОКУ$%%


%%$ДЛЯКОЖНОГО({{Завдання.Підзавдання}};"")$%%%%$ЯКЩО({{Завдання.Підзавдання.Статус}}="ТКП додано в розрахунок")$%%
{{Завдання.Підзавдання.Контрагент}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}
%%$КІНЕЦЬБЛОКУ$%%%%$КІНЕЦЬБЛОКУ$%%


Результат

Зі всього списку контрагентів, відобразити лише тих, у кого сума контракту більше 1000:

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


Блок ЯКЩО всередині блоку ДЛЯКОЖНОГО

Синтаксис:

%%$ДЛЯКОЖНОГО(Змінна;Роздільник)$%%
  ТЕКСТ
  %%$ЯКЩО(Логічна формула)$%%
    ТЕКСТ
  %%$КІНЕЦЬБЛОКУ$%%
  ТЕКСТ
%%$КІНЕЦЬБЛОКУ$%%


%%$ДЛЯКОЖНОГО({{Завдання.Підзавдання}})$%%%%$ЯКЩО({{Завдання.Підзавдання.Статус}}="ТКП додано в розрахунок")$%%
{{Завдання.Підзавдання.Контрагент}}, {{Завдання.Підзавдання.Контрагент.ІПН}}, сума контракту {{Завдання.Підзавдання."Сума контракту (од. вим.)"}}
%%$КІНЕЦЬБЛОКУ$%%%%$КІНЕЦЬБЛОКУ$%%


Результат:

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

ТАБЛИЦЯ

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

%%$ТАБЛИЦЯ(Змінна)$%%
ТЕКСТ
%%$КІНЕЦЬБЛОКУ$%%

Приклад

Приклад показує, як з доданої до завдання аналітики виділити лише потрібні блоки і відправити цю інформацію клієнту у вигляді таблиці. Таблицю додають через панель редактора:

Замовлення №{{Завдання.Номер}}

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

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

%%$КІНЕЦЬБЛОКУ$%%

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


Результат:

Замовлення №2118

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

Загальна сума замовлення: 4 900,00 гривень


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

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

%%$ТАБЛИЦЯ(Змінна;0;0)$%%
Таблиця, намальована за д