Бизнес-процессы в 1С 8.3

Курс

Бизнес-процесс

Бизнес-процесс в 1С — это некая последовательность взаимосвязанных действий, которая приводит к определенному результату.

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

  1. Установка цен
  2. Согласование цен
  3. Проведение документа или корректировка

Бизнес-процессы позволяют автоматизировать данный процесс, а также проконтролировать последовательность этапов, чтобы нельзя было провести документ установки цен без согласования.

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

Связь с задачей указывается на закладке Основные:

Бизнес-процесс

Один объект метаданных Задача может быть связан с несколькими бизнес- процессами. Как правило так и делается. Создается несколько бизнес-процессов, но задача только одна. Это позволяет использовать один список задач пользователя.

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

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

Бизнес-процесс

Карта маршрута

Чтобы открыть карту маршрута нужно перейти на закладку Прочее и нажать кнопку Карта маршрута:

Карта маршрута

Будет открыто поле, где можно из специальных элементов составить карту маршрута:

Карта маршрута

Пример готовой карты маршрута:

Карта маршрута

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

точки маршрута

С помощью карты маршрута описывается последовательность этапов бизнес-процесса.

Точки маршрута

Точка маршрута отражает один этап бизнес-процесса.

Рассмотрим все точки маршрута.

Точка старта

Точка старта

С точки старта бизнес-процесс начинается. У одного бизнес-процесса может быть несколько точек старта.

У точки старта есть обработчик ПередСтартом, который вызывается перед непосредственным стартом бизнес-процесса. У обработчика 2 параметра:

  • ТочкаМаршрутаБизнесПроцесса — точка, с которой выполняется старт.
  • Отказ — если данному параметру установить Истина, то бизнес-процесс не будет запущен.

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

ПередСтартом

После старта бизнес-процесс автоматически переходит на следующую точку маршрута.

Точка завершения

Точка завершения

В точке завершения бизнес-процесс завершается. У одного бизнес-процесса может быть несколько точек завершения.

У точки завершения есть обработчик ПриЗавершении, который вызывается до непосредственного завершения бизнес-процесса. У обработчика 2 параметра:

  • ТочкаМаршрутаБизнесПроцесса — по этому параметру можно определить на какой точке выполняется завершение.
  • Отказ — если установить Истина, то бизнес-процесс не завершится, а также задача, которая предшествовала завершению останется невыполненной.

Точка действия

Точка действия

При переходе на точку действия создается задача или несколько задач, в зависимости от настроек. Пока все задачи данной точки не будут выполнены бизнес-процесс не продолжит свое движение по карте маршрута.

Точка условия

Точка условия

Точка условия разделяет бизнес-процесс на 2 ветки. У данной точки есть 2 выхода: Да и Нет (при необходимости в свойствах линии можно изменить наименование). Также обязательно должен быть создан обработчик ПроверкаУсловия, который имеет 2 параметра:

  • ТочкаМаршрутаБизнесПроцесса — точка условия, для которой выполняется проверка.
  • Результат — выходной параметр, если присвоить ему Истина, то бизнес-процесс пойдет по ветке, которая отмечена специальным квадратом (по умолчанию это ветка Да). Если Ложь, то по другой ветке. По умолчанию параметр равен Ложь.

Точка выбора варианта

Точка выбора варианта

Точка выбора варианта позволяет организовать выбор из нескольких вариантов. Чтобы добавить новый вариант нужно щелкнуть правой кнопкой по точке и выбрать Добавить вариант:

Добавить вариант

Для выбора вариант обязательно должен быть создан обработчик ОбработкаВыбораВарианта со следующими параметрами:

  • ТочкаВыбораВарианта — точка, для которой выполняется выбор варианта.
  • Результат — выходной параметр, должен содержать результат выбора. Варианты выбора можно получить через свойство Варианты от точки выбора варианта.

Точка разделения и точка слияния

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

Точка разделения и точка слияния

Точки слияния может и не быть, тогда у бизнес-процесса будет несколько точек завершения.

Точка обработки

Точка обработки

Точка обработки позволяет выполнить произвольный алгоритм, который задается в обработчике Обработка. У данного обработчика только один параметр ТочкаМаршрутаБизнесПроцесса:

При достижении данной точки автоматически выполняется алгоритм из обработчика. Сразу после выполнения бизнес-процесс переходит на следующую точку. В точке обработки задачи не создаются.

Точка вложенного бизнес-процесса

Точка вложенного бизнес-процесса

С помощью данной точки можно запустить вложенный бизнес-процесс в рамках текущего. Более подробно данная точка будет рассмотрена позже.

Декорация и декоративная линия

Декорация и декоративная линия

Данные точки никак не влияют на маршрут бизнес-процесса. Используются как декорации.

Виды маршрутизации бизнес-процессов

Жесткая

Последовательность точек маршрута линейная. Например:

Жесткая

Условная

В карте маршрута присутствует хотя бы одна точка условия или точка выбора варианта. Например:

Условная

Параллельная

В карте маршрута есть хотя бы одно разделение на несколько параллельных ветвей:

Параллельная

Карта маршрута на форме

Карту маршрута можно отобразить в пользовательском режиме. Для этого нужно создать реквизит формы с типом ГрафическаяСхема:

Карта маршрута

Перенести его в элементы формы. Будет создан элемент с видом Поле графической схемы:

Поле графической схемы
Карта маршрута

Для получения карты маршрута можно в обработчиках формы ПриЧтенииНаСервере и ПослеЗаписиНаСервере добавить получение карты методом ПолучитьКартуМаршрута:

В результате на форме будет отображена карта маршрута. Уже пройденные точки будут заштрихованы, текущая точка будет выделена красной линией:

Карта маршрута

Метод ПолучитьКартуМаршрута можно вызывать у объекта бизнес-процесса. То есть, если где-то доступна ссылка на бизнес-процесс, то можно получить из ссылки объект, а потом из объекта карту:

Старт бизнес-процесса

Бизнес-процесс может находиться в одном из трех состояний:

  • Не стартован — для бизнес-процесса не было создано ни одной задачи. Реквизит Стартован = Ложь. Такого можно добиться если только записать бизнес-процесс, не нажимаю кнопку Старт.
  • Стартован — бизнес-процесс был запущен кнопкой Старт (или программно), есть хотя бы одна задача, связанная с данным бизнес-процессом. Реквизит Стартован = Истина.
  • Завершен — реквизит Завершен бизнес-процесса равен Истина. При этом могут быть невыполненные задачи, связанные с бизнес-процессом.

Ручной старт бизнес-процесса

Для ручного старта бизнес-процесса нужно нажать на форме кнопку Старт или Стартовать и закрыть (тогда бизнес-процесс будет запущен, а также будет закрыта форма):

старт бизнес-процесса

Если у точки старта есть обработчик ПередСтартом, то он будет выполнен, а затем бизнес-процесс автоматически перейдет на следующую точку.

Несколько точек старта

Если у бизнес-процесса несколько точек старта, например так:

старт бизнес-процесса

То его нельзя запустить вручную. При запуске будет выброшено исключение «Неоднозначность при выборе точки старта»:

Неоднозначность при выборе точки старта

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

Изменение реквизита Стартован

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

Стартован

Если после этого попробовать запустить его кнопкой Старт, то будет выброшено исключение «Бизнес-процесс уже стартовал ранее»:

Бизнес-процесс уже стартовал ранее

Если сначала запустить бизнес-процесс, а потом снять флаг Стартован, то бизнес-процесс можно запустить еще раз. В этом случае бизнес-процесс будет распараллелен.

Например, бизнес-процесс имеет следующую карту:

Карта бизнес-процесса

Если сейчас запустить бизнес-процесс, то будет создана задача для точки Действие1. После ее выполнения бизнес-процесс перейдет на точку Действие2 и будет создана соответствующая задача.

Если сейчас вручную снять флаг Стартован и запустить бизнес-процесс еще раз, то снова будет создана задача для точки Действие1.

Если сейчас выполнить задача для точки Действие2 (которая была создана при первом запуске), то автоматический переход на точку Действие3 не будет выполнен. Бизнес-процесс будет ждать, пока его параллельная ветка не дойдет до той же самой точки. Только после выполнения задач для точек Действие1 и Действие2 (для бизнес-процесса, запущенного второй раз), будет создана задача для точки Действие3. Уже только одна для обоих процессов. После ее выполнения бизнес-процесс будет завершен.

Завершение бизнес-процесса

Завершение бизнес-процесса выполняется при достижении им точки маршрута Точка завершения. При этом реквизит Завершен автоматически устанавливается в Истина.

Если вручную установить флаг Завершен на форме бизнес-процесса:

Завершен

То бизнес-процесс будет считаться завершенным и больше не будет выполняться продвижение по карте маршрута и создание новых задач.

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


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok