Простейший пример создания бизнес-процессов

20.11.19

Архитектура

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

Начало

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

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

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

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

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

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

Шаг за шагом

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

Шаг №1: Добавляем справочники

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

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

Шаг 2: Сохраняем текущего пользователя

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

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

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

Шаг №3: Создаем задачи

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

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

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

  1. Параметр "Адресация" используется для указания таблицы, в которой настраивается адресация задач.
  2. Свойство "ТекущийПользователь" ссылается на значение, в котором сохраняется текущий исполнитель для задачи (в нашем примере это текущий пользователь).
  3. Основной реквизит адресации выбирается из реквизитов адресации задачи. Значение этого реквизита будет заполнятся системой при автоматическом создании задачи из текущего исполнителя.

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

На этом настройка объекта "Задачи" завершена. Теперь мы можем перейти непосредственно к созданию бизнес-процесса.

Шаг №4: Создаем бизнес-процесс

Четвертый шаг - он важный самый. Теперь мы начинаем работать непосредственно с бизнес-процессом. Создаем новый объект конфигурации "БизнесПроцесс" в ветке "Бизнес-процессы".

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

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

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

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

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

Мы еще вернемся к настройке адресации. Коснемся точки условия. Для нее нам не нужно настраивать параметры адресации, единственное условие для ее работы - описать обработчик проверки условия.

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

Процедура ОплатаНаличнымиПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат)
 
        // Если параметр "Результат" равен ИСТИНА,
        // то процесс подет по ветке "ДА", и наоборот.

        // "ОплатаИзКассы" - реквизит 
        // бизнес-процесса (см. выше)
	Результат = ОплатаИзКассы; 
 
КонецПроцедуры

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

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

// Обработчик команды формы
//
&НаКлиенте
Процедура ОбновитьКарту(Команда)  
	ОбновитьКартуСервер();   
КонецПроцедуры   

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

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

Шаг №5: Список задач

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

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

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

Шаг №6: Настройка адресации

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

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

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

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

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

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

Тестируем

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

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

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

Итог

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

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

Мы не рассмотрели многие нюансы, так как это уже выходит за рамки публикации. Есть что добавить? Знаете интересные публикации по этой теме? Добро пожаловать в комментарии!

Ставьте лайки, подписывайтесь на канал :)

Другие ссылки

Авторские разработки

бизнес процессы новичку задачи карта маршрута примеры стажер адресация

См. также

Архитектура решений Программист Платформа 1С v8.3 Бесплатно (free)

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

14.10.2024    3957    0    comol    28    

28

Кейсы автоматизации Платформа 1С v8.3 1С:Документооборот Бесплатно (free)

Компания «Уралхим» использует 1С:Документооборот не только для хранения и согласования документов, но и для централизованного управления НСИ между 47 системами (не только на 1С); для бэкенда к мобильным приложениям охранников; и в качестве сервиса заказа справок для сотрудников. О деталях реализации нестандартных решений, разработанных в компании «Уралхим» на базе 1С:Документооборот, пойдет речь в статье.

02.08.2024    3448    0    Novattor    1    

16

Кейсы автоматизации Платформа 1С v8.3 Энергетика и ЖКХ Россия Бесплатно (free)

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

27.12.2023    2186    0    slavik27    7    

15

Отчеты и дашборды Бизнес-аналитик Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Бесплатно (free)

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

11.12.2023    2906    0    Serg_Tangatarov    2    

16

Архитектура решений Программист Бесплатно (free)

Рассмотрим применение архитектурной проверки задач в процессе разработки.

30.10.2023    5595    0    ivanov660    10    

35

Кейсы автоматизации Работа с требованиями Анализ бизнес-процессов Бесплатно (free)

Автоматизировать производственные процессы в 1С:ERP без доработки типовых механизмов очень сложно. А дорабатывать типовые механизмы 1С:ERP не всегда оправданно. Решением может стать технология разработки Рабочих мест, которая позволяет автоматизировать самые сложные участки последовательно – шаг за шагом, процесс за процессом. Расскажем о том, как помочь пользователям вводить большое количество данных, не нарушая порядок ввода и полноту заполнения всех необходимых реквизитов, и как вовлечь сотрудников Заказчика в разработку и тестирование функционала Рабочих мест.

26.10.2023    2933    0    user1754524    15    

17

Кейсы автоматизации Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

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

29.08.2023    3516    0    ke_almaty    0    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aximo 2100 20.11.19 12:20 Сейчас в теме
Юрий, в вашей статье вы пояснили решение 5-ой задачи аттестации "специалист по платформе"))))...
alexandr_astafiev; DrAku1a; pavelpribytkin96; YPermitin; +4 Ответить
2. пользователь 20.11.19 12:28
(1) возможно)


Получается они не изменилась за 6 лет???
3. aximo 2100 20.11.19 12:29 Сейчас в теме
(2) ничего там не изменилось - недавно прошел аттестацию я...
DrAku1a; pavelpribytkin96; SirAlex1C; YPermitin; +4 Ответить
4. пользователь 20.11.19 12:37
5. aximo 2100 20.11.19 12:38 Сейчас в теме
(4) спасибо. время и общество требует бумажное подтверждение
6. пользователь 20.11.19 12:43
(5) я давно сдавал, видимо это был период подготовки и я эту статью жля запоминания сделал.

Ну думаю пригодиться :)
7. SirAlex1C 21.11.19 04:49 Сейчас в теме
Наглядная подача материала, впрочем, как и всегда. Плюсую:)
quick; YPermitin; +2 Ответить
8. пользователь 21.11.19 05:20
9. Fox-trot 163 21.11.19 05:40 Сейчас в теме
очепятка
Стоит отменить еще один важный момент: при создании реквизитов
YPermitin; +1 Ответить
10. пользователь 21.11.19 05:43
11. gradi 5 21.11.19 09:09 Сейчас в теме
Вот бы 1С реализовала BPMS в платформе...
12. пользователь 21.11.19 11:51
(11) думаю, рано или поздно это должно случиться.
13. user813581 1 22.11.19 08:33 Сейчас в теме
Спасибо за статью.
quick; YPermitin; +2 Ответить
14. rpashkovsky 23 23.11.19 14:39 Сейчас в теме
"ОплатаИзКассы" с типом "Булево", чтобы перед стартом бизнес-процесса указать способ выплаты (через банк или кассу). Значение именно этого реквизита будет указывать на какую точку действия необходимо перейти на карте маршрута.

Так же можно проверять при выполнении задачи
YPermitin; +1 Ответить
15. пользователь 23.11.19 15:01
16. improg 709 17.06.20 12:58 Сейчас в теме
А ведь такие задачи на спеце по платформе 8.3 делаются за 20-30 минут ))
YPermitin; +1 Ответить
17. пользователь 17.06.20 19:11
(16) зато теперь можно с телефона во время экзамена зайти и почитать как сделать :D
user1618804; +1 Ответить
18. BairamovTM 17.07.20 09:23 Сейчас в теме
Отличная статья, простая и понятная подача материала.
user1618804; quick; +2 Ответить
19. TigerS74 06.04.21 16:11 Сейчас в теме
В расширении не даёт добавить ни Задачу,ни Бизнес процесс. Что делать? Режим работы расширения был Адаптация и теперь не меняется.
20. user1618804 19.02.22 10:32 Сейчас в теме
Отличная статья, без лишней воды от А до Я.
21. -Denton- 27.10.22 09:00 Сейчас в теме
Добрый день. Видел решения (https://infostart.ru/public/974551/), где карты маршрута создаются и применяются прям в режиме предприятия. Если кто знает подскажите пожалуйста механизм которым это достигается ? Лично я не нашел никакого реквизита или метода который позволяет задать программно другую карту маршрута.
22. Cheid 19.06.24 11:04 Сейчас в теме
Спасибо автору за статью.

У меня вопрос, найти что-то похожее не смог, решил написать здесь.

Есть БП состоящий из Старт - Точка - Финиш, Точка порождает задачу, но она не приходит исполнителю.

Права у исполнителя есть на БП и Задачи.
БП стартован и существует.
Задача тоже существует.
В списке задач у пользователя отсутствует.
Адресация по РолиИсполнителя, наш исполнитель включен в список.

Куда копать?
Оставьте свое сообщение