К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как создать бизнес-процесс в 1С: пошаговое руководство

Пошаговая инструкция по созданию бизнес-процесса в 1С: карта маршрута, точки, задачи, настройка в конфигураторе, типичные ошибки и проверка результата.

Бизнес-процессы в 1С — это механизм платформы, который позволяет формализовать последовательность действий сотрудников: согласование заявки, обработку заказа, приём сотрудника на работу, выдачу доступа. Вместо устных договорённостей система сама формирует задачи нужным исполнителям, контролирует сроки и ведёт историю прохождения каждого этапа. Создать бизнес-процесс можно в конфигураторе через объект метаданных «Бизнес-процессы», а в типовых решениях на базе БСП — частично и в пользовательском режиме.

Работа сводится к нескольким этапам: описать схему процесса на бумаге, создать объект в конфигураторе, нарисовать карту маршрута с точками старта, действий и условий, привязать задачи и адресацию исполнителей, написать обработчики событий и протестировать. Ниже разобран каждый шаг с конкретными действиями, ограничениями и типичными ошибками.

Что понадобится перед началом работы

Для создания бизнес-процесса нужны права на конфигуратор и понимание структуры прикладного решения. Если база находится на поддержке типовой конфигурации, любые изменения снимут её с полной поддержки — обновления придётся накладывать с сопоставлением вручную. Поэтому первое действие — снять копию базы и разрабатывать на ней, а не на рабочем контуре.

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

Создание объекта «Бизнес-процесс» в конфигураторе

Откройте конфигуратор, в дереве конфигурации найдите ветку «Бизнес-процессы» и добавьте новый объект. Задайте имя и синоним, например «СогласованиеЗаявкиНаЗакупку». На закладке «Данные» добавьте реквизиты процесса — это поля, которые будут хранить контекст конкретного экземпляра: ссылку на документ-основание, инициатора, сумму, комментарий, результат согласования.

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

На закладке «Нумерация» и «Длина номера» обычно оставляют значения по умолчанию. Полезно сразу настроить представление процесса через обработчик «ОбработкаПолученияПолейПредставления» или просто добавить понятный синоним, чтобы пользователи видели в списках читаемые названия, а не технические номера.

Построение карты маршрута

Карта маршрута — визуальная схема процесса, которая редактируется на закладке «Карта маршрута» объекта бизнес-процесса. Из панели элементов перетаскиваются точки: старт, действие, условие, выбор варианта, разделение, слияние, вложенный бизнес-процесс, обработка и завершение. Точки соединяются стрелками переходов.

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

Порядок построения карты маршрута
  1. 1
    Добавьте точку старта и точку завершения — они обязательны в любой карте
  2. 2
    Разместите точки действий по числу этапов согласования и подпишите их понятными именами
  3. 3
    Добавьте точки условий там, где маршрут зависит от данных процесса (сумма, подразделение, тип заявки)
  4. 4
    Соедините точки стрелками и проверьте, что из каждой точки есть путь до завершения
  5. 5
    Откройте свойства каждой точки действия и укажите, какая задача формируется и кому она адресована

Частая проблема — «висячие» ветки, из которых нет перехода к завершению. Платформа не всегда явно ругается на такую схему, но экземпляр процесса зависнет навсегда. После построения карты мысленно пройдите по ней от старта до конца по каждой ветке условий.

Настройка задач и адресации исполнителей

Бизнес-процесс сам по себе не создаёт задач — для этого нужен связанный объект «Задача». В типовых конфигурациях обычно уже есть задача «ЗадачаИсполнителя», в собственной разработке её нужно создать и указать в свойстве бизнес-процесса в поле «Задача». Именно задачи видит пользователь в своём списке «Мои задачи».

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

В форме задачи выведите реквизиты бизнес-процесса и связанного документа, чтобы исполнитель видел контекст без лишних переходов. Кнопки «Согласовать» и «Отклонить» удобно сделать командами формы, которые записывают результат в реквизит процесса и выполняют задачу.

Обработчики событий и программная логика

Основная логика размещается в модуле объекта бизнес-процесса. Ключевые события: «ПриСтарте» (проверка условий запуска, заполнение начальных данных), «ПриСозданииЗадач» и «ПриВыполненииЗадачи» (реакция на решения исполнителей), «ПроверкаУсловия» для точек условий, «ПриЗавершении» (финальные действия — запись статуса в документ, отправка уведомления).

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

bsl
Процедура СогласованиеРуководителемПриВыполненииЗадачи(ТочкаМаршрута, Задача, Отказ)
	Если Не Согласовано Тогда
		Возврат; // маршрут пойдёт по ветке отклонения
	КонецЕсли;
КонецПроцедуры

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

Запуск процесса: вручную и автоматически

Самый простой способ запуска — команда в форме документа. Добавьте в форму документа кнопку «Запустить согласование», в обработчике которой создаётся новый бизнес-процесс, заполняются реквизиты (ссылка на документ, инициатор), процесс записывается и вызывается метод Старт(). После старта объект перезаписывается.

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

Маршрут решения

Как выбрать способ запуска

Процесс запускается не всегда, решение принимает пользовательКнопка в форме документа с ручным запуском
Процесс обязателен для всех документов определённого видаПодписка на событие ПриЗаписи с проверкой условий и дублей
Запуск по расписанию или по внешнему событиюРегламентное задание, которое находит кандидатов и стартует процессы пакетно

Тестирование и проверка результата

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

Контрольные точки

Как проверить результат

Создание задач
Норма

Задача появляется у нужной роли сразу после старта или завершения предыдущего этапа

Тревожный признак

Задача не создаётся, приходит всем подряд или дублируется

Прохождение условий
Норма

Маршрут ветвится в соответствии со значениями реквизитов процесса

Тревожный признак

Процесс всегда идёт по одной ветке независимо от данных

Завершение
Норма

Экземпляр процесса завершён, статус документа обновлён, задач в работе не осталось

Тревожный признак

Процесс висит незавершённым или остаются открытые задачи

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

Исполнитель видит задачу и связанный документ, посторонний пользователь — нет

Тревожный признак

Ошибка нарушения прав при открытии задачи или документа

Полезно посмотреть карту маршрута конкретного экземпляра: платформа умеет отображать пройденные точки графически. Это быстрый способ понять, где застрял процесс, без чтения кода и журнала регистрации.

Типичные ошибки и ограничения

Типичные ошибки
01
Запуск процесса в подписке ПриЗаписи без проверки дублей — каждая перезапись документа порождает новый экземпляр
02
Жёсткая адресация на конкретного пользователя вместо роли — процесс ломается при кадровых изменениях
03
Тяжёлый код в обработчиках точек маршрута — блокировки и таймауты у пользователей
04
Ветки карты маршрута без выхода к завершению — экземпляры процесса зависают навсегда
05
Изменение типов реквизитов в работающей базе — ошибки приведения типов у запущенных экземпляров
06
Отсутствие обработки отказа в обработчиках — при ошибке процесс остаётся в непонятном состоянии

Учитывайте и ограничения механизма: бизнес-процессы платформы не являются полноценным BPMN-движком. Сложные сценарии с таймерами, эскалациями и массовыми параллельными согласованиями требуют дополнительной разработки: регламентных заданий для контроля просрочки, регистров для хранения состояния, отдельных механизмов делегирования. Если требования близки к классическому BPM, оцените, не проще ли использовать специализированную конфигурацию или внешнюю систему с интеграцией.

Итог

Что важно запомнить

Бизнес-процесс в 1С создаётся в конфигураторе: объект с реквизитами, карта маршрута из точек, связь с задачей и ролевая адресация. Разрабатывайте на копии базы, тестируйте все ветки маршрута под разными пользователями, запуск делайте с защитой от дублей, а тяжёлую логику выносите из обработчиков точек маршрута.

Частые вопросы

Можно ли создать бизнес-процесс без программирования?

Полностью без кода — только в конфигурациях, где есть встроенный механизм согласования, настраиваемый в пользовательском режиме (например, в типовых решениях с механизмом согласования заявок). Собственный объект «Бизнес-процесс» без обработчиков на встроенном языке создать нельзя: минимально нужен код для условий и запуска.

Чем бизнес-процесс отличается от задачи?

Бизнес-процесс описывает маршрут — последовательность и логику переходов. Задача — конкретное поручение исполнителю, которое процесс формирует в точках действия. Один экземпляр процесса за время жизни создаёт множество задач разным исполнителям.

Как узнать, на каком этапе находится запущенный процесс?

Откройте экземпляр бизнес-процесса и посмотрите его карту маршрута — пройденные точки подсвечиваются. Дополнительно проверьте список задач с отбором по этому бизнес-процессу: невыполненные задачи покажут текущий этап и ответственного.

Что делать, если процесс завис и не двигается дальше?

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

Снимется ли конфигурация с поддержки после добавления бизнес-процесса?

Да, добавление нового объекта метаданных меняет конфигурацию, и полная автоматическая поддержка будет потеряна — обновления придётся устанавливать через сравнение и объединение. Чтобы минимизировать риски, весь новый код по возможности выносите в общие модули с префиксом и не меняйте типовые объекты.

Как настроить контроль сроков выполнения задач?

В платформенном механизме нет встроенных таймеров эскалации. Стандартный подход: хранить плановую дату в реквизите процесса или задачи и создать регламентное задание, которое периодически ищет просроченные задачи и отправляет уведомления или переназначает их руководителю исполнителя.