В процессе внедрения системы 1С:Документооборот специалисты часто сталкиваются с задачей автоматизации рутинных операций. Одной из самых востребованных функций является автоматический старт процессов (например, отправка на согласование при создании договора). Однако интерфейс программы может скрывать нужные настройки, если не включены определенные функциональные опции. Разберем подробно, как активировать этот механизм и добиться работы системы в режиме «без лишних вопросов».
Прежде чем искать настройки внутри шаблонов процессов, необходимо убедиться, что в самой информационной базе активированы соответствующие функциональные опции. Без них вкладки автоматизации просто не будут отображаться в интерфейсе. Проанализируем, какие константы за это отвечают.
Перейдем в раздел Настройка и администрирование, далее выберем пункт Настройка программы и перейдем в подраздел Процессы и задачи. Здесь нам необходимо активировать следующие параметры:
Если вы работаете в редакции 2.1 и выше, проверьте состояние функциональной опции ИспользоватьБизнесСобытия. Иногда программный доступ к ней может быть ограничен правами доступа, поэтому убедитесь, что у вас назначена роль Администратор бизнес-процессов или Полные права.
Частая ошибка пользователей заключается в попытке найти вкладку Автоматический запуск непосредственно в корне карточки шаблона процесса. В 1С:Документооборот 2.0/2.1 логика настройки несколько иная. Рассмотрим правильный путь:
В этой вкладке мы можем выбрать событие-триггер, например: Создание документа, Регистрация, Изменение состояния или Создание по шаблону.
Одной из главных проблем стандартной настройки является всплывающее окно. По умолчанию, когда пользователь закрывает карточку документа, система спрашивает: «Запустить процесс по шаблону?». Чтобы процесс уходил в работу мгновенно и без лишних кликов, проанализируем выполнение трех условий:
Во-первых, в настройках программы (как мы разобрали в Шаге 1) должен быть включен Фоновый старт процессов. Во-вторых, в настройках автозапуска шаблона должно быть четко определено Условие. Если условий несколько и они допускают неоднозначность, система будет вынуждена спросить пользователя, какой именно шаблон применить.
Рассмотрим пример кода для условия (если используется программная проверка):
// Пример проверки суммы договора для автозапуска
Если Объект.Сумма > 100000 Тогда
Результат = Истина;
Иначе
Результат = Ложь;
КонецЕсли;
В-третьих, если вы используете редакцию 2.1, рекомендуется использовать механизм Правила автозапуска процессов (раздел Настройка и администрирование). Это централизованный список, где можно настроить «тихий» старт более гибко, минуя внутренние настройки каждого отдельного шаблона.
Если все галочки стоят, а процессы все равно не стартуют, причина обычно кроется в регламентных заданиях. Автоматический старт — это не мгновенное событие в коде при нажатии кнопки «Записать», а результат работы фоновых процессов. Выясним, какие задания должны работать:
ОчередьСобытийДляМониторинга) и определяет, под какой шаблон подпадает действие.Проверьте в консоли администратора (или в разделе Поддержка и обслуживание -> Регламентные задания), чтобы эти задания были включены и выполнялись по расписанию (рекомендуемый интервал — раз в 10–60 секунд). Если у вас файловая база, убедитесь, что запущен выделенный сеанс для выполнения регламентных заданий.
Иногда стандартных событий (создание/регистрация) недостаточно. Например, процесс должен стартовать только тогда, когда в договоре заполнено поле «Ответственный» и при этом статус документа изменился на «Действует».
Для таких случаев разберем работу с Детекторами бизнес-событий. Это справочник, который позволяет описать произвольное событие. Вы можете создать свой детектор, выбрав объект метаданных и указав, при изменении каких именно реквизитов он должен срабатывать.
В современных версиях 1С:Документооборот детекторы позволяют писать скрипты на языке 1С непосредственно в пользовательском режиме. Рассмотрим логику работы такого скрипта:
// Проверяем, что событие произошло для нужного типа документа
Если ТипЗнч(ДанныеСобытия.Объект) = Тип("СправочникСсылка.ВнутренниеДокументы") Тогда
// Проверяем изменение конкретного реквизита
Если ДанныеСобытия.Объект.ВидДокумента = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Договор аренды") Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
Возврат Ложь;
После создания такого детектора, он станет доступен для выбора во вкладке Автоматический запуск в поле Событие. Это наиболее мощный инструмент для реализации сложной бизнес-логики без внесения изменений в конфигурацию через Конфигуратор.
Для успешного запуска процессов «на автомате» мы рекомендуем соблюдать следующую последовательность действий: сначала включаем ИспользоватьБизнесСобытия и ФоновыйСтартПроцессов, затем настраиваем привязку шаблона к виду документа, прописываем условия для исключения диалоговых окон и обязательно проверяем работу регламентных заданий. При такой настройке система будет работать автономно, освобождая сотрудников от необходимости вручную запускать каждый процесс согласования или ознакомления.