новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Создаем бизнес-процесс в несколько шагов

  • Добавить свою публикацию
  • для этого требуется регистрация

Что необходимо

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

Изображение

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

Шаг за шагом

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

1) На первом этапе добавим в конфигурацию необходимые справочники с соответствующими предопределенными элементами.

Изображение

Заполнение предопределенных элементов мы осуществили в соответствии со значениями адресации задач на карте маршрута (см. выше).

 

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

Изображение

Чтобы не усложнять пример, соответствие между элементом справочника "Пользователи" и пользователем информационной базы будем осуществлять по наименованию. При запуске программы система должна сохранить ссылку на текущего пользователя (элемент справочника "Пользователи") в параметр сеанса "ТекущийПользователь". Тип данного параметра - "СправочникСсылка.Пользователи".

Изображение

На скриншоте выше показан программный код для инициализации значения параметра сеанса "ТекущийПользователь" для текущего пользователя информационной базы. Поиск в справочнике осуществляется по наименованию. Если элемент не найден, то создается новый. В конце стандартной процедуры "УстановитьПараметрыСенаса", в модуле сеанса конфигурации, полученная ссылка на элемент справочника "Пользователи" записывается в соответствующий параметр сеанса.

 

3) На третьем шаге создадим объект конфигурации "Задача", чтобы в дальнейшем бизнес-процесс адресовал задачи установленным пользователям. Для этого добавим объект конфигурации в ветке "Задачи" и дадим ему такое же имя.

 

Прежде чем настраивать свойства добавленного объекта, нам необходимо создать регистр адресации задач, по содержимому которого система будет определять конечного исполнителя для задачи (пользователя). Для этого добавим регистр сведений "РолиИсполнителейЗадач" с тремя измерениями. Тип измерений понятен по их именам.

Изображение

Теперь необходимо в свойстве объекта задач выполнить следующие настройки:

Изображение

Описанные настройки на вкладке "Адресация" влияют на поведение системы при присвоении исполнителя задачам, создаваемым бизнес-процессом. Немного подробнее:

  1. Параметр "Адресация" используется для указания таблицы, в которой настраивается адресация задач.
  2. Свойство "ТекущийПользователь" ссылается на значение, в котором сохраняется текущий исполнитель для задачи (в нашем примере это текущий пользователь).
  3. Основной реквизит адресации выбирается из реквизитов адресации задачи. Значение этого реквизита будет заполнятся системой при  автоматическом создании задачи из текущего исполнителя.
Стоит отменить еще один важный момент: при создании реквизитов адресации, которые будут заполнятся бизнес-процессом автоматически, необходимо установить соответствие их и измерений таблицы адресации.
Изображение
На этом настройка объекта "Задачи" завершена. Теперь мы можем перейти непосредственно к созданию бизнес-процесса.
 
4) Четрвертый шаг - он важный самый. Теперь мы начинаем работать непосредственно с бизнес-процессом. Создаем новый объект конфигурации "БизнесПроцесс" в ветке "Бизнес-процессы".
Изображение
В нем мы добавили реквизит "ОплатаИзКассы" с типом "Булево", чтобы перед стартом бизнес-процесса указать способ выплаты (через банк или кассу). Значение именно этого реквизита будет указывать на какую точку действия необходимо перейти на карте маршрута.
 
В свойствах бизнес-процесса на вкладке "Основные" укажем для свойства "Задачи" созданный нами ранее объект задач.
Изображение
Теперь главное - необходимо создать карту маршрута бизнес-процесса в соответствии со схемой, показанной в начале статьи. Для этого перейдем на вкладку "Прочее" и выполним команду "Карта маршрута".
Изображение
Начертить простую карту маршрута может любой, даже тот, кто впервые зашел сюда. Интуитивно понятная панель инструментов позволяет создавать даже сложные карты маршрута бизнес-процессов. Единственная сложность, которая может возникнуть - это настройка точек маршрута в отношении проделываемых действий. В нашем примере для точек действий нужно установить значения реквизитов адресации. На скриншоте выше показана точка действия, задачи по которой приходят всем сотрудникам подразделения "Бухгалтерия". Соответственно, настройки адресации для нее будут выглядеть следующим образом:
Изображение
Мы еще вернемся к настройке адресации. Коснемся точки условия. Для нее нам не нужно настраивать параметры адресации, единственное условие для ее работы - описать обработчик проверки условия.
Изображение
 Программный код обработчика приведен на следующем листинге:
 Процедура ОплатаНаличнымиПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат)
	
	// Если параметр "Результат" равен ИСТИНА, то процесс подет по ветке "ДА", и наоборот.
	Результат = ОплатаИзКассы; // "ОплатаИзКассы" - реквизит бизнес-процесса (см. выше)
	
КонецПроцедуры

 И последний штрих для объекта бизнес-процесса. Добавим собственную основную форму объекта. На ней будем отображать текущее состояние карты маршрута для бизнес-процесса. Для этого добавим новый реквизит формы "Карта" с типом "ГрафическаяСхема" и поместим для него элемент на форму с типом "Поле графической схемы". Для отображения текущего состояния карты маршрута на форму добавим команду "ОбновитьКарту" и соответствующую ей кнопку.

Изображение

При нажатии на кнопку "Обновить карту" будет выполнен следующий программный код:

 &НаКлиенте
Процедура ОбновитьКарту(Команда) // Обработчик команды формы 
	ОбновитьКартуСервер();  	
КонецПроцедуры   &НаСервере
Процедура ОбновитьКартуСервер() // Серверная контекстная процедура получения карты маршрута 
	// Конвертируем объект формы в объект бизнес-процесса
	ОбъектБП = РеквизитФормыВЗначение("Объект");                      	
	// Вызываем метод получения карты маршрута текущего бизнес-процесса
	Карта = ОбъектБП.ПолучитьКартуМаршрута();      	
КонецПроцедуры

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


5) На этом этапе выведем на панель рабочего стола список задач для текущего пользователя. Для этого будем использовать виртуальную таблицу объекта задач - "ПоИсполнителю". Создадим новую форму списка "РабочийСтол", при этом не будем устанавливать ее основной. Откроем ее в редакторе форм и в качестве основной таблицы для динамического списка (реквизит формы "Список") изменим основную таблицу.

Изображение

После этого добавим созданную форму в рабочую область рабочего стола.

Изображение

Теперь перейдем к последнему этапу - настройки регистра адресации задач в режиме 1С:Предприятие.

 

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

Изображение

А теперь подробнее. Первая запись с заполненным измерением "Пользователь" говорит системе, что если для точки действия на карте маршрута в качестве исполнителя установлен пользователь "Сидоров", то задача адресуется непосредственно ему. Если бы мы заполнили измерение "Должность" или "Бизнес-процесс", то задача бы пришла к пользователю только в том случае, если адресация точки маршрута была настроена аналогичным образом. 

 

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

Изображение

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

Изображение

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


На этом задача решена. Проведем небольшое тестирование.

Тестируем

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

Изображение

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

Изображение

Тест завершен, все работает.

Итог

Механизм бизнес-процессов теперь используется во многих типовых конфигурациях. Даже в задачах для сертификации "1С:Специалист" по платформе 8.2 имеется отдельный блок задач по бизнес-процессам. Но несмотря на привлекательность данного механизма, во многом он остается неудобным с точки зрения разработки в таких моментах, как программное формирование карты маршрута и связь объекта бизнес-процесса с другими объектами конфигурации.

 
0
Читайте также
1С 7.7 программирование
1С 7.7 программирование это курс для начинающих изучение 1С Предприятие 7.7 , методик программирования и конфигурирования системы.
Принимаем на работу программиста.
Ответственно отнеситест к выбору 1С программиста, т.к. последствия приема специалиста, уровень знаний которого недостаточен могут быть печальными
Права доступа на реквизиты
"Особенности использования механизма настройки прав доступа для реквизитов"
Разработки
Просмотрщик COM-объектов
Просмотр СОМ-объектов
Рабочее место менеджера по продажам для УТ10.3, КА1.1, УПП1.3
Менеджер по продажам- рабочее место:планирование продаж и т.д.
АКТ О ПРИЕМЕ-ПЕРЕДАЧЕ ТОВАРНО-МАТЕРИАЛЬНЫХ ЦЕННОСТЕЙ НА ХРАНЕНИЕ
Прием-передача материальных ценностей (печатная форма)
Еще от автора
≡ к списку статей