Документооборот ПРОФ, КОРП, ДГУ
25.02.2016

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

Общее описание

Механизм бизнес-процессов (далее "Процесс") направлен на автоматизацию порядка взаимодействия сотрудников в организации.

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

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

Каждый из предметов по отношению к процессу имеет свою роль:

Основные – это те предметы, над которыми выполняются действия процесса. Такие предметы подлежат особой обработке при выполнении процесса. Например, внутренние документы меняют свое состояние, к ним добавляются визы согласования и т.д.

Вспомогательные предметы не изменяются и не обрабатываются при выполнении/продвижении процесса.

Заполняемые – особые предметы, которые должны быть заполнены в определенных задачах процесса. Но процесс, в котором происходит заполнение предметов не направлен на выполнение действий над ними. Обычно в рамках одного процесса происходит заполнение предмета, а в рамках другого – действие над предметом. Например, в процессе Исполнение следует подготовить проект договора, а в процессе Согласование – согласовать договор.

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

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

Меню Отправить:

При создании процесса на основании задачи из меню Подзадачи предмету присваивается роль Вспомогательный. Если процесс создается по шаблону с предметами, то роль определяется шаблоном.

Для процессов Исполнение и Ознакомление определена особая логика при создании на основании задач процесса Рассмотрение – предметы в процессах Исполнение и Ознакомление имеют те же роли, что и в процессе Рассмотрение.

Меню Подзадачи:

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

Контекстное меню области предметов в процессе:

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

В шаблоне процесса роль предмета определяется при добавлении.

Добавление предметов в шаблон процесса:

Как устроено определение роли предметов

Ниже описан порядок определения роли предмета в процессе по способу создания и добавления предмета в процесс.

Создание процесса на основании

При создании процесса на основании других объектов вызывается процедура РаботаСБизнесПроцессамиКлиент.ОткрытьПомощникСозданияОсновныхПроцессов. В зависимости от переданных параметров формируется структура параметров формы и открывается общая форма СозданиеБизнесПроцесса.

При создании формы (в обработчике ПриСозданииНаСервере) происходит анализ параметров формы и в зависимости от них производится заполнение таблицы Предметы, а также формирование списка предлагаемых шаблонов для создания нового процесса.

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

Для поиска мест добавления предметов в процедуре ПриСозданииНаСервере удобно использовать поиск по строке Предметы.

Создание процесса по шаблону

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

ОбработкаЗаполнения:

Копировать в буфер обмена
Если ДанныеЗаполнения.Свойство("Шаблон") Тогда
			Мультипредметность.ЗаполнитьПредметыПроцессаПоШаблону(ДанныеЗаполнения.Шаблон, ЭтотОбъект);
		КонецЕсли;
		
		Если ДанныеЗаполнения.Свойство("Предметы") Тогда
			Мультипредметность.ПередатьПредметыПроцессу(ЭтотОбъект, ДанныеЗаполнения.Предметы, Ложь, Истина);
			Проект = МультипредметностьПереопределяемый.ПолучитьОсновнойПроектПоПредметам(ДанныеЗаполнения.Предметы);
		КонецЕсли;

Добавление нового предмета в процесс

Роль добавляемого предмета в карточке процесса определяется явно в процедурах:

Обработка основных предметов при выполнении процесса

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

Установка состояния документов происходит:

Добавление/обновление виз согласования выполняется в подписках на событие ПередЗапись и ПриЗаписи задачи:

  • ВизыСогласованияПередЗаписьюЗадачи
  • ВизыСогласованияПриЗаписиЗадачи

    Как подключить свой объект к механизму бизнес-процессов

    Это может потребоваться, когда необходимо для запуска процессов по нетиповым объектам.

    Чтобы подключить свой объект необходимо:

    1. Определиться со списком процессов, в которых требуется использовать новый объект.
    2. Расшить тип реквизита Предмет, таблицы Предметы в следующих объектах:
      • Задачи.ЗадачаИсполнителя
      • Бизнес-процессы.<ИмяБизнесПроцесса>
      • Справочники.Шаблоны<ИмяШаблонаПроцесса>
    3. Обязательно заполнить представление объекта и списка нового предмета.
    4. Добавить новый объект в список «ввода на основании» соответствующих процессов.
    5. Расширить тип общей команды СоздатьБизнесПроцесс.
    6. В списке и карточке нового объекта разместить меню Отправить.
      • Меню с соответствующими элементами, командами и обработчиками следует скопировать из карточки/списка внутренних документов (справочник ВнутренниеДокументы).
      • После копирования следует удалить лишнее и проверить работу кода.
    7. Доработать процедуру определения основных типов процессов (ПолучитьТипыОсновныхПредметов) в модулях менеджеров соответствующих процессов.
    8. Доработать обработчики точек карт маршрута необходимых процессов для исполнения действий над предметом.