Разработка и Конфигурация · 12 мин
Что такое точка маршрута в 1С и как её использовать
Точка маршрута в 1С — элемент бизнес-процесса: старт, завершение, действие, условие, выбор варианта. Разбираем виды точек, настройку карты маршрута и типичные ошибки.
Точка маршрута — это элемент карты бизнес-процесса в 1С, который описывает один шаг движения процесса: выдачу задачи исполнителю, проверку условия, разделение или слияние веток, завершение. Набор точек и соединяющих их переходов образует карту маршрута, по которой платформа «ведёт» конкретный экземпляр бизнес-процесса от старта до завершения.
Механизм бизнес-процессов встроен в платформу 1С:Предприятие 8 и используется в типовых конфигурациях (например, для согласования заявок, обработки обращений, выдачи задач), а также доступен разработчику в конфигураторе. Понимание того, какие бывают точки маршрута и как они взаимодействуют, необходимо и программисту, создающему свою карту, и администратору, разбирающемуся, почему процесс «застрял» на каком-то шаге.
Каждая точка маршрута имеет тип, имя, а у некоторых типов — дополнительные свойства: адресацию задачи, условие, обработчики событий. От корректности этих настроек зависит, кому придёт задача, пойдёт ли процесс дальше автоматически или будет ждать действий пользователя.
Где находятся точки маршрута и как устроена карта
Карта маршрута создаётся в конфигураторе: в дереве конфигурации откройте ветку «Бизнес-процессы», добавьте новый объект (или откройте существующий) и перейдите на закладку «Прочее» → «Карта маршрута». Откроется графический редактор, где на панели инструментов доступны все типы точек.
Точки размещаются на схеме и соединяются линиями переходов. Переход определяет, куда процесс двинется после выполнения текущей точки. У точек условия и выбора варианта переходов несколько — по одному на каждую ветку логики. У точек действия и старта переход обычно один.
Помимо графического представления, у карты есть табличное отображение: список точек с колонками, где указываются групповые реквизиты адресации, обработчики и другие свойства. Это удобно, когда карта большая и нужно быстро проверить настройки всех точек разом.
Основные виды точек маршрута
Платформа предоставляет фиксированный набор типов точек. Каждый тип решает свою задачу, и комбинируя их, можно описать практически любой регламент согласования или обработки.
- Точка старта — единственная на карте, с неё начинается выполнение процесса. Переходов «входящих» у неё нет.
- Точка завершения — на карте может быть несколько. Попадание процесса в любую из них завершает его выполнение.
- Точка действия — самый частый тип: при достижении её платформа формирует задачу исполнителю (пользователю или группе по правилам адресации). Процесс стоит на этой точке, пока задача не будет выполнена.
- Точка условия — проверяет произвольное условие на встроенном языке и направляет процесс по ветке «Да» или «Нет».
- Точка разделения — расщепляет процесс на несколько параллельных веток, которые выполняются одновременно.
- Точка слияния — ждёт завершения всех входящих параллельных веток и продолжает процесс дальше в единственном экземпляре.
- Точка выбора варианта — исполнителю выдаётся задача без конкретных действий, но с набором кнопок-вариантов; выбранный вариант определяет дальнейший переход.
- Точка вложенного бизнес-процесса — запускает другой бизнес-процесс и ждёт его завершения, после чего основной процесс идёт дальше.
- Точка обработки — позволяет программно организовать циклы: повторное выполнение участка карты, пока не выполнится условие выхода.
Для типовых задач согласования чаще всего хватает связки «старт → действие → условие → завершение». Разделение и слияние нужны, когда согласовать документ должны параллельно несколько служб, а вложенные процессы — когда этап сам по себе является отдельным регламентом.
Чем различаются похожие точки
Ветвление без участия пользователя: решение принимает код на встроенном языке. Подходит, когда ветка выбирается по данным документа (сумма, вид операции).
Ветвление делает человек: ему выдаётся задача с кнопками-вариантами. Подходит, когда решение принципиально должен принять руководитель.
Выдаёт исполнителю обычную задачу, которую нужно выполнить; вариантов перехода у неё один. Используется для фиксации факта выполнения работы.
Как настроить точку действия и адресацию задач
Точка действия — рабочая лошадка карты: именно она порождает задачи, которые пользователи видят в списке «Мои задачи». Двойной щелчок по точке открывает палитру свойств, где задаются имя, пояснение и ключевой блок — адресация.
Адресация определяет, кому попадёт задача. Для этого у бизнес-процесса создаются реквизиты адресации (например, «Исполнитель», «Подразделение», «Роль»), а у точки действия в свойствах указывается, какой реквизит за какой параметр отвечает. Если задан только исполнитель — задача придёт конкретному пользователю. Если указана роль и, например, подразделение — задачу увидят все пользователи с этой ролью в данном подразделении, и любой из них может её принять.
Значения реквизитов адресации обычно заполняются при старте процесса — вручную пользователем или программно в обработчике «ПередСтартом». Если реквизит адресации окажется пустым в момент выдачи задачи, поведение зависит от настройки: задача может попасть всем пользователям или не быть созданной корректно, поэтому заполнение адресатов нужно контролировать.
- 1Создайте у бизнес-процесса реквизиты адресации (Исполнитель, Роль, Подразделение) с нужными типами.
- 2Разместите на карте точку действия и соедините её переходами с соседними точками.
- 3Откройте свойства точки и привяжите реквизиты адресации к параметрам адресации задачи.
- 4Заполните обработчик точки (например, ПередСозданиемЗадач), если нужно программно изменить адресатов или данные задачи.
- 5Запустите тестовый экземпляр процесса и проверьте, у какого пользователя появилась задача.
Условия, циклы и параллельные ветки
Точка условия содержит выражение на встроенном языке, возвращающее Истина или Ложь. В выражении доступны реквизиты бизнес-процесса и связанного с ним объекта (например, согласуемого документа). Типичный пример: если сумма заявки превышает порог — направить на согласование директору, иначе завершить процесс.
Цикл организуется возвратом перехода на более раннюю точку карты: например, после точки условия «Согласовано?» ветка «Нет» возвращается на точку действия «Доработка заявки», после которой процесс снова идёт на согласование. Точка обработки дополнительно позволяет управлять такими повторениями программно — например, ограничить число итераций, чтобы процесс не крутился бесконечно.
Параллельные ветки создаются точкой разделения: процесс расходится, скажем, на согласование юристом и согласование бухгалтером одновременно. Точка слияния дальше по карте ждёт завершения всех входящих веток. Важно помнить: если одна из параллельных веток зависнет (задача не выполнена), слияние никогда не сработает и процесс не завершится.
Обработчики событий точек маршрута
У точек маршрута есть события, в которых разработчик размещает код на встроенном языке. У точки действия это, например, события перед созданием задач и при выполнении задачи; у точки условия — проверка условия; у карты в целом — обработчики старта и завершения процесса.
Типовые сценарии использования обработчиков: подстановка исполнителя из документа-основания, запись результата согласования обратно в документ, установка статуса объекта, отправка уведомлений, проверка заполненности обязательных данных перед переходом дальше. Через обработчики же реализуется взаимодействие точек с реквизитами бизнес-процесса.
Код в обработчиках выполняется на сервере в контексте бизнес-процесса, поэтому там доступны его реквизиты и можно обращаться к другим объектам базы. Ошибка в обработчике прерывает движение процесса: переход не выполняется, а пользователь получает сообщение об ошибке. Поэтому логику ветвлений стоит делать устойчивой к незаполненным данным.
Как проверить, что процесс движется правильно
После настройки карты её нужно проверить на тестовых данных. Запустите бизнес-процесс из пользовательского режима, откройте форму экземпляра процесса — там отображается карта маршрута с отметкой текущей позиции: видно, на какой точке процесс стоит и какие точки уже пройдены.
Далее смотрите список задач под пользователем-исполнителем: задача должна появиться с ожидаемым наименованием и адресацией. Выполните её и убедитесь, что процесс перешёл на следующую точку. Для ветвлений проверьте оба пути — и «Да», и «Нет», — а для параллельных веток убедитесь, что слияние срабатывает только после завершения всех веток.
Как проверить результат
Маркер стоит на ожидаемой точке, пройденные точки подсвечены
Маркер не двигается после выполнения задачи или процесс завершён раньше времени
Задача появилась у нужного пользователя или группы
Задача у всех пользователей сразу (пустая адресация) или ни у кого
Процесс идёт по ветке, соответствующей данным документа
Всегда выбирается одна и та же ветка — вероятно, условие написано с ошибкой
Типичные ошибки при работе с картой маршрута
Большинство проблем с бизнес-процессами сводится к нескольким повторяющимся причинам: пустая адресация, неверные условия, «висящие» параллельные ветки и правки карты в рабочей базе. Зная их, диагностика занимает минуты.
Частые вопросы о точках маршрута
Можно ли добавить свой тип точки маршрута?
Нет, набор типов точек жёстко определён платформой и не расширяется. Нестандартную логику реализуют через обработчики событий существующих точек, вложенные бизнес-процессы и программное управление реквизитами процесса.
Чем точка выбора варианта отличается от точки условия?
Точка условия выбирает ветку автоматически, вычисляя выражение на встроенном языке, без участия человека. Точка выбора варианта выдаёт пользователю задачу с кнопками-вариантами, и ветку выбирает человек. Если решение должно приниматься по данным — используйте условие, если человеком — выбор варианта.
Почему задача появилась у всех пользователей?
Почти всегда причина в пустых реквизитах адресации у точки действия: если ни исполнитель, ни роль не заданы, платформа считает задачу адресованной всем. Проверьте, как заполняются реквизиты адресации при старте процесса и в обработчиках точки.
Что происходит с уже запущенными процессами при изменении карты?
Платформа хранит для каждого экземпляра текущую позицию на карте. После изменения карты поведение активных процессов может стать некорректным — вплоть до невозможности продолжения. Поэтому карту меняют на копии, а в рабочей базе сначала завершают или прерывают старые экземпляры.
Как сделать, чтобы процесс возвращался на доработку при отклонении?
После точки согласования поставьте точку условия «Согласовано?» и проведите ветку «Нет» обратно на точку действия «Доработка», а от неё — снова на согласование. Получится цикл. При необходимости ограничьте число повторений программно через реквизит-счётчик.
Можно ли запускать один бизнес-процесс из другого?
Да, для этого служит точка вложенного бизнес-процесса: она стартует указанный процесс и удерживает основной на этой точке до его завершения. Так крупный регламент разбивают на независимые этапы, которые удобно поддерживать по отдельности.
Что важно запомнить
Точка маршрута — шаг бизнес-процесса 1С на карте маршрута. Ключевые типы: старт, действие (задача исполнителю), условие, выбор варианта, разделение/слияние, вложенный процесс, завершение. Корректная адресация и проверенные условия — главные условия стабильной работы, а карту в рабочей базе меняют только с остановкой активных экземпляров.