14. Аргумент: константа, переменная, выражение, шаблон

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

Одно поле, четыре способа

Аргумент отвечает на вопрос «откуда взять значение». Способов четыре:

Константа

значение записано прямо здесь и не меняется.

Переменная

значение берётся из переменной в момент выполнения.

Выражение

значение вычисляется формулой на языке сервера.

Шаблон

значение собирается из текста с подстановками.

Все четыре — одно и то же поле. Переключаться между ними можно когда угодно, не заводя ничего заново.

Как отличить на глаз

Аргументы в таблице свойств
Figure 1. Метка задана константой, значение — не константой

В таблице свойств значение аргумента показывается по-разному:

  • прямым шрифтом — константа: то, что видно, то и будет;

  • курсивом — всё остальное: имя переменной, текст выражения или шаблона. Курсив означает «здесь не значение, а способ его получить».

Кнопка справа открывает окно, в котором способ и выбирается.

Константа

Окно аргумента
Figure 2. Аргумент: константа

Вкладка Значение, переключатель Константа. Ниже — тип константы: Текст, Число, Дата и время. Тип важен: сервер приводит значение по нему, и «007», записанное числом, станет семёркой.

Набор доступных типов задаётся свойством: где число бессмысленно, его и не предложат.

Многострочная константа

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

Многострочная константа
Figure 3. Константа в многострочном режиме

В таком поле Enter переводит строку, а заканчивает ввод Shift+Enter.

Переменная

Окно аргумента
Figure 4. Аргумент: переменная

Переключатель Переменная, ниже — поиск по именам. Начните печатать, список отберёт подходящие. Если нужного имени ещё нет, предложит Создать «имя» — и откроет окно переменных с уже подставленным именем.

Ссылка хранится по идентификатору, а не по имени. Поэтому переименование переменной такое поле переживает само: подтверждать замену в нём не нужно.

Выражение и шаблон

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

Что Когда брать

Выражение

Нужно посчитать: сравнить, сложить, вырезать кусок строки, взять текущее время

Шаблон

Нужен готовый текст, в который подставляется пара значений: «Здравствуйте, {{ name }}»

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

Что выбрать

  1. Значение известно и не меняется — константа. Не усложняйте.

  2. Значение приходит по ходу вызова — переменная.

  3. Значение надо посчитать — выражение.

  4. Нужен текст с парой подстановок — шаблон. Выражение тут тоже сработает, но читаться будет хуже: "Здравствуйте, " + str([name]) против Здравствуйте, {{ name }}.

  5. Одно и то же значение нужно нескольким компонентам — переменная, даже если значение постоянное. Например, адресат уведомлений: заведите переменную, в начале сценария присвойте ей константу, а во всех уведомлениях поставьте аргумент-переменную. Менять адресата придётся в одном месте, а не в двенадцати.

Способ, которым задано поле, сохраняется в сценарии вместе со значением. Открыв поле снова, вы увидите ту же вкладку, на которой его оставили, — редактор не пытается угадать «настоящий» способ.

◀ 13. Переменные

15. Выражения и шаблоны ▶