Документация 0.4 Справочник действий
Присвоить
control.assign · Управление
Присваивает переменной результат выражения
Записывает в переменную результат выражения: число, текст, список, объект. Это основной способ посчитать что-то по ходу процесса — увеличить счётчик, собрать строку, отфильтровать список строк Excel, подготовить данные для очереди или отчёта.
Свойства #
| Свойство | Имя в файле | Значение | Обязательное | По умолчанию | Описание |
|---|---|---|---|---|---|
| Переменная | variable |
имя переменной | да | — | |
| Значение | value |
выражение | да | — | JS-выражение, напр. counter + 1 |
Результат #
Действие не возвращает значений.
Как работает #
- Переменная (
variable) — имя переменной процесса. Если переменная не объявлена на вкладке «Переменные», она будет создана при запуске; объявить её всё же лучше — тогда её видно в подсказках и при проверке. - Значение (
value) — выражение JavaScript без{{ }}:counter + 1,'Заявка ' + number,rows.filter(r => r['Сумма'] > 1000),{ Номер: row['Номер'], ФИО: row['ФИО'] }. Текст пишется в кавычках, переменные — просто по имени. - Значение сохраняется как есть: число остаётся числом, список — списком.
Ошибки #
| Код | Причина и что делать |
|---|---|
ExpressionError |
Ошибка в выражении: опечатка в имени переменной, текст без кавычек, незакрытая скобка. Сообщение показывает выражение и причину. Выражение дольше 2 с или больше 64 МБ памяти тоже останавливается этой ошибкой |
InvalidArgument |
Не заполнено обязательное свойство |
Пример #
Увеличить счётчик обработанных заявок:
{ "type": "control.assign", "props": { "variable": "processed", "value": "processed + 1" } }
Оставить только неоплаченные строки таблицы:
{ "type": "control.assign", "props": { "variable": "unpaid", "value": "rows.filter(r => r['Статус'] !== 'Оплачен')" } }