enumslab
Действия

Процессы

Визуальный конструктор сценариев автоматизации: источник данных → обработка → действие в 1С или iiko, с расписанием и историей запусков

Что это и зачем

«Процессы» — это движок сценариев (process control): визуальный конструктор, в котором вы собираете цепочку шагов, и платформа выполняет её за вас. Один процесс — это связный сценарий вида источник данных → обработка → действие. Например: взять входящий документ из библиотеки процесса, распознать его текст, найти соответствующий объект в 1С и создать на его основании новый документ — без ручного ввода.

Процесс собирается из узлов (компонентов), которые вы перетаскиваете на холст (канвас) и соединяете стрелками. Когда процесс настроен и сохранён, его можно запускать вручную или активировать, чтобы он выполнялся автоматически по расписанию.

Каждое выполнение процесса называется запуском (run). Все запуски сохраняются с подробной историей по шагам — видно, что сделал каждый узел, что он вернул, где была ошибка и сколько кредитов потрачено.

Главная идея: настроить логику один раз визуально, а дальше процесс выполняется как обычный код — детерминированно и без участия человека. Вызовы ИИ задействуются только там, где они действительно нужны (распознавание, свободный поиск, проверка условия словами); остальные шаги работают без расхода кредитов.

Где находится и как открыть

Раздел доступен в боковом меню в группе «Действия» под названием Процессы (иконка шестерёнки). Чтобы он отображался, у вас должно быть право process_control_viewer или process_control_builder (см. блок «Права доступа»).

Раздел работает в контексте выбранного подключения. Если подключение не выбрано, появится сообщение «Нет подключения. Выберите базу, чтобы увидеть процессы.». Выберите базу 1С или аккаунт iiko в переключателе подключений — после этого откроется список процессов.

Список процессов

На главном экране раздела — таблица всех процессов с колонками: Название, Описание, Статус (Активен / Черновик), Видимость (Компания / Личный), Обновлён и Доступ (ваш уровень доступа к процессу: Просмотр / Запуск / Редактирование).

Доступные действия на этом экране:

  • Фильтр по статусу — выпадающий список Все статусы / Черновики / Активные.
  • Кнопка обновления списка.
    • Новый процесс — открывает окно, где задаётся Название (обязательно) и Описание (необязательно). После создания вы сразу попадаете в редактор процесса.
  • Клик по строке открывает процесс в редакторе.

Если процессов ещё нет, на экране выводится «Процессов пока нет» и предложение создать первый процесс для автоматизации.

Редактор процесса: интерфейс

Редактор открывается во весь экран и состоит из трёх частей:

  • Панель компонентов слева (Компоненты) — каталог узлов с поиском, сгруппированный по категориям. Панель можно свернуть. Чтобы добавить узел на холст, перетащите его плитку из панели на канвас.
  • Холст (канвас) по центру — рабочее поле, где располагаются узлы и соединяющие их стрелки.
  • Нижняя панель с вкладками Запуски, Документы и Версии.

В верхней панели (тулбаре) находятся: название и описание процесса, бейдж статуса (Активен / Черновик), примерная стоимость запуска в кредитах, кнопка Полное тестирование, кнопка Сохранить и шестерёнка Настройки процесса.

Узлы делятся на пять категорий (это и есть порядок групп в панели компонентов):

  • Триггеры — что запускает процесс: Запуск вручную и По расписанию.
  • Источники — откуда берутся данные: Библиотека процесса (читает загруженные в процесс документы).
  • Обработка — преобразование данных: Распознавание текста (OCR фото или PDF, при наличии инструкции сразу извлекает поля).
  • Действия — что процесс делает с данными: поиск в 1С/iiko, изменение и создание объектов 1С, ИИ запрос (свободная трансформация данных) и Отправка email.
  • Управление потоком — разветвление и сборка: Условие (ИИ-проверка → ветки «Выполнено» / «Не выполнено»), Разделитель (раскладывает входной набор по типизированным потокам), Объединение (собирает параллельные ветки в один контекст), Загрузка из узла (передаёт дальше данные другого, не прямого предшественника) и Повтор узла (повторяет шаг до N раз при ошибке).

Как собрать и запустить процесс (пошагово)

  1. На экране «Процессы» нажмите + Новый процесс, задайте название и (по желанию) описание, нажмите Создать.
  2. В редакторе перетащите из панели Компоненты узел-триггер на холст: Запуск вручную (для запусков по кнопке) или По расписанию (для автоматических запусков).
  3. Добавьте узел-источник данных. Например, Библиотека процесса, если процесс будет обрабатывать загруженные в него файлы. В его настройке указывается Документов за запуск (от 1 до 100) — сколько документов брать в работу за один запуск.
  4. Добавьте узлы обработки и действий: распознавание текста, поиск в 1С/iiko, изменение или создание объекта, ИИ-запрос, отправку письма.
  5. Соедините узлы стрелками: тяните от выходного порта одного узла к входу другого. У большинства узлов есть несколько выходов под разные исходы (например, При успехе, Ничего не найдено, При ошибке) — направьте каждый исход в нужную ветку.
  6. Кликните по узлу, чтобы открыть его настройки (панель справа), и заполните поля. В настройках подсвечиваются подсказки и валидация.
  7. Нажмите Сохранить в верхней панели — каждое сохранение создаёт новую версию процесса.
  8. Проверьте процесс: кнопка Полное тестирование прогоняет весь процесс в тестовом режиме (документы остаются в очереди, побочные эффекты вроде записи в 1С не выполняются, но распознавание текста и отправка email работают по-настоящему). Можно также протестировать отдельный узел или прогнать процесс до выбранного узла включительно.
  9. Для реального выполнения нажмите кнопку Запустить на узле-триггере (боевой режим) — здесь действия выполняются по-настоящему.
  10. Чтобы процесс работал сам по расписанию, откройте Настройки процесса (шестерёнка) и нажмите Активировать.
Запуск заблокирован, пока процесс не сохранён хотя бы раз (кнопка неактивна с подсказкой «Сначала сохраните процесс»). Если граф собран неверно (нет триггера, триггер ни к чему не подключён, узел висит отдельно, цикл и т. п.), сверху появляется жёлтый баннер «Граф требует внимания · запуск будет заблокирован» с перечнем проблем.

Запуск по расписанию и активация

Чтобы процесс запускался автоматически, нужно два условия:

  • На холсте присутствует узел По расписанию с заданной частотой. В его поле Когда запускать выбирается готовая частота из списка: Только вручную, Каждые 30 минут, Каждый час, Каждые 2 часа, Каждые 4 часа, Ежедневно, По будням (Пн-Пт), Раз в неделю, Раз в 2 недели, Раз в месяц. Для «ежедневно» и реже дополнительно указывается время (часы и минуты); для «раз в неделю» — день недели, для «раз в месяц» — число. Время — московское; cron-строка формируется и сохраняется автоматически.
  • Процесс переведён в статус «Активен» через Настройки процесса → Активировать. В настройках статус подписан так: «Активен — планировщик запущен» или «Приостановлен — автоматические запуски отключены». Кнопкой Приостановить автоматические запуски выключаются.

Технически расписание исполняет фоновый планировщик: он каждые 30 секунд проверяет процессы, у которых подошло время запуска, и запускает их. Запускаются только активные процессы с сохранённой текущей версией. Планировщик единый для всей платформы — отдельный «движок расписаний» для каждого процесса не создаётся.

Запуски и их история

Каждое выполнение процесса — это запуск (run). Запуск создаётся мгновенно и выполняется в фоне; его прогресс по узлам подсвечивается прямо на холсте.

Историю запусков смотрите на вкладке Запуски в нижней панели редактора. Для каждого запуска видны: статус (В очереди / Выполняется / Успех / Ошибка / Таймаут / Отменён), краткий идентификатор, время старта, потраченные кредиты и код ошибки, если она была. Клик по запуску открывает подробную страницу запуска.

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

Режимы запуска:

  • Полное тестирование — прогон всего процесса без реальных побочных эффектов (документы из библиотеки не «расходуются», запись в 1С не выполняется), но распознавание текста и email работают по-настоящему.
  • Тест до узла — прогон от начала графа до выбранного узла включительно (всегда тестовый режим).
  • Тест одного узла — запуск только выбранного узла; используется для быстрой проверки его настройки.
  • Боевой запуск — кнопка Запустить на триггере; все действия выполняются по-настоящему.
Если у вас одновременно выполняется слишком много запусков (достигнут лимит компании по параллельным запускам), новые запуски ставятся в очередь со статусом «В очереди» и автоматически стартуют, как только освободятся слоты. Если работа платформы прервалась посреди запуска, такой «зависший» запуск автоматически помечается как неуспешный при восстановлении. Помимо лимита параллельных запусков действует и дневной лимит кредитов компании.

Библиотека процесса (вкладка «Документы»)

Если в процессе есть узел Библиотека процесса, у процесса появляется собственная очередь документов. Управление ей — на вкладке Документы в нижней панели редактора.

  • Кнопка Загрузить добавляет файлы; можно перетащить файлы в область списка. Поддерживаются PDF и изображения (JPEG, PNG, TIFF, WEBP, HEIC); ограничение размера — 100 МБ на файл.
  • Каждый документ имеет статус (В очереди / Обрабатывается / Обработано / Ошибка / Пропущено). Дубликаты по содержимому отсекаются автоматически (по хэшу файла).
  • По строке документа доступны действия: Скачать оригинал, Обработать снова (для документов со статусом «Обработано» или «Ошибка»), Удалить и Запуск (открыть связанный запуск).

Узел Библиотека процесса при каждом боевом запуске атомарно берёт в работу до N документов (поле Документов за запуск) — то есть один и тот же документ не попадёт в два запуска одновременно. В тестовом режиме узел только «подсматривает» документы в очереди, не меняя их статус.

Версии процесса

Каждое сохранение создаёт новую версию графа. Вкладка Версии в нижней панели показывает историю версий и отмечает текущую (ту, которая исполняется при ручном запуске и по расписанию). Это позволяет видеть, как менялся процесс, и понимать, какая именно версия отработала в конкретном запуске.

Для 1С

Для подключений 1С доступен полный набор действий с данными:

  • 1С: Поиск данных (Запрос) — точный поиск по фиксированным условиям (как в конструкторе отчётов): тип объекта, имя объекта 1С и условия задаются один раз, а шаблоны вида {{...}} и относительные даты пересчитываются при каждом запуске. Без ИИ — не расходует кредиты. По умолчанию режим «Все совпадения».
  • 1С: Поиск данных (ИИ) — поиск, когда данные из предыдущих шагов не всегда точно совпадают с тем, как записано в 1С: ИИ сам разбирается, как найти нужный объект, и строит условия.
  • 1С: Изменить объект — детерминированное изменение документа или справочника: выбираете объект, отмечаете поля, для каждого появляется типизированный ввод (список, булево, дата, ссылка, текст). Поддерживается и условный патч строк табличной части. Без ИИ, без кредитов. Есть опция «Провести после изменения».
  • 1С: Изменить объект (ИИ) — обновление объекта по инструкции на основании данных предыдущих шагов: целевые значения задаются списком, ИИ применяет их согласно инструкции.
  • 1С: Создать на основании — см. отдельный блок ниже.

В этих узлах Тип объекта выбирается из пяти базовых типов 1С (Документ, Справочник, Регистр сведений, Регистр накопления, Регистр бухгалтерии — у узлов изменения доступны только Документ и Справочник), а Имя объекта 1С подтягивается из метаданных подключения с поиском по мере ввода (например, ПоступлениеТоваровУслуг).

Создание документа «на основании» (1С)

Узел 1С: Создать на основании создаёт новый документ 1С на базе другого — так же, как команда «Ввести на основании» в самой 1С. Например, из заказа клиента сформировать заказ поставщику, используя данные распознанного документа или результаты поиска из предыдущих шагов.

При настройке вы выбираете пару «основание → целевой документ» из реестра проверенных пар. Всё остальное (какие поля и строки перенести, как сопоставить контрагента и номенклатуру) ИИ-агент решает во время запуска на основании данных предыдущих шагов.

Результат маршрутизируется по трём исходам узла:

  • документ создан успешно → выход «При успехе»;
  • агент обоснованно отказался (задача невыполнима по данным) → выход «Не создано», без повторов;
  • ошибка создания или агент исчерпал попытки → выход «При ошибке».
Реестр пар «основание → целевой» ограничен набором проверенных сочетаний (это контролирует и серверный валидатор). На данный момент в нём один проверенный переход: Заказ клиента → Заказ поставщику. Если нужной пары документов в списке нет, такой переход через этот узел пока недоступен.

Для iiko

Для подключений iiko в категории «Действия» доступен поиск данных:

  • iiko: Поиск данных (ИИ) — вы свободным текстом описываете, что нужно найти (например, «найди заказ номер 123 за вчера»), а агент сам выбирает подходящий read-инструмент iiko (продукты, заказы, меню, сотрудники и т. д.). Без условий и схем — только текст запроса. Режим возврата: «Первое совпадение» или «Все совпадения» (во втором случае каждый элемент списка обрабатывается дальше как отдельный item).

Узлы изменения и создания объектов (изменить объект, создать на основании) специфичны для 1С и в iiko-сценариях не применяются. Универсальные узлы — триггеры, Распознавание текста, ИИ запрос, Отправка email и все узлы управления потоком — работают одинаково для обеих систем.

Панель компонентов показывает только те узлы, для которых у вас есть подходящие подключения: узлы с пометкой 1С видны при наличии подключения 1С, узлы iiko — при наличии подключения iiko. Универсальные узлы доступны всегда.

Как это работает

Процесс хранится как граф узлов и связей. При запуске движок:

  • загружает закреплённую версию графа, упорядочивает узлы топологически (определяет правильный порядок выполнения по стрелкам);
  • выполняет узлы по очереди, передавая выходные данные одного шага на вход следующим через шаблоны {{идентификатор_узла.output.поле}};
  • каждый шаг записывает в базу как отдельную строку со статусом и результатом, поэтому история запуска полная и восстановимая.

Всё состояние запусков хранится в базе (Postgres), а не в памяти — это позволяет надёжно восстанавливать запуски и продолжать очередь после перезапуска. Само исполнение поставлено через очередь задач, чтобы запуски не блокировали друг друга. Вызовы ИИ и OCR идут через единый учёт токенов, поэтому расход кредитов виден отдельно по дизайн-времени (например, авто-настройка полей) и по выполнению запусков.

В тулбаре отображается примерная стоимость запуска в кредитах — это эвристическая оценка — сумма ожидаемой стоимости узлов. Узлы без ИИ (точный поиск 1С, детерминированное изменение объекта) кредитов не расходуют; ИИ-узлы (поиск с ИИ, создание на основании, распознавание с извлечением полей, ИИ-запрос, ИИ-проверка условия) расходуют кредиты.

Видимость и уровни доступа

У каждого процесса есть видимость (Личный или Компания) и уровень доступа конкретного пользователя — Просмотр, Запуск или Редактирование. И то, и другое показано в списке процессов (колонки «Видимость» и «Доступ»). Новый процесс создаётся как личный.

Уровень доступа ограничивает действия в редакторе: при доступе «Просмотр» или «Запуск» редактор открывается в режиме только чтения (панель компонентов помечена «Только чтение», перетаскивание и сохранение недоступны). При доступе «Запуск» дополнительно доступен прогон процесса.

Совместный доступ обеспечивается на уровне платформы (видимость для компании и персональный список доступа к процессу), но отдельного экрана для выдачи/отзыва прав другим пользователям и переключения видимости прямо из редактора сейчас нет. Доступ регулируется правами на уровне подключения (см. ниже).

Права доступа

  • process_control_viewer — просмотр процессов, запусков и их истории. Это право требуется, чтобы видеть раздел и читать данные.
  • process_control_builder — создание и редактирование процессов, загрузка документов в библиотеку процесса, запуск, активация и управление расписанием. Включает в себя права просмотра.

Права настраиваются администратором на уровне подключения (см. раздел Пользователи и доступы). Поверх права маршрута дополнительно действует уровень доступа к конкретному процессу (см. предыдущий блок).

Ограничения и частые вопросы

  • Почему не запускается? Чаще всего процесс ещё не сохранён (нет текущей версии) или граф невалиден — смотрите жёлтый баннер с перечнем проблем сверху.
  • Чем «Полное тестирование» отличается от «Запустить»? Тест не выполняет реальных записей в 1С и не «расходует» документы из библиотеки, но распознавание текста и email отрабатывают по-настоящему. Боевой запуск выполняет все действия реально.
  • Процесс активен, но ничего не запускается по расписанию. Проверьте, что на холсте есть узел По расписанию с выбранной частотой (а не «Только вручную») и что процесс сохранён и активирован.
  • Локальные файлы. Если процесс читает файлы с локального диска, для выбора папки нужен браузер на базе Chromium (Chrome / Edge / Opera).
  • Параллельные запуски ограничены лимитом компании; сверх лимита запуски ждут в очереди и стартуют автоматически. Дополнительно действует дневной лимит кредитов компании.

На этой странице