Общий пример

В статье приводится пример настройки бизнес-процесса в типовой конфигурации с использованием универсальной подсистемы КонструкторБизнесПроцессов.

17 ноября 2023 г.

«Производительность|Результативность|Эффективность»
«Efficiency........|Effectiveness...|Performance..»

Здравствуйте!

В данной статье мы хотим привести пример настройки бизнес-процесса в типовой конфигурации с помощью универсальной подсистемы КонструкторБизнесПроцессов.

Мы не ставим целью показать настройку какого-то конкретного бизнес-процесса.

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

В качестве основной конфигурации мы используем типовую «1С:ERP Управление предприятием», но это могла бы быть любая другая конфигурация в режиме управляемого приложения. Выбрана она была исключительно ввиду удобства демонстрации с привязкой к объектам этой конфигурации.

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

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

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

Подробная информация о возможностях программного продукта доступна в материалах на сайте www.bip.one.

Если у вас возникли вопросы, напишите нам письмо: mail@1bpm.ru

Общая информация

  1. Все показанные настройки производятся в обычном пользовательском режиме (режим Предприятие).
  2. Режим разработчика (Конфигуратор) может быть дополнительно использован для анализа структуры метаданных при написании скриптов – используемого в логике бизнес-процессов программного кода на встроенном языке 1С.
  3. Настройка бизнес-процессов возможна без использования программного кода (no-code), с незначительным использование простых скриптов (low-code) и с неограниченным (по объему и функционалу) количеством программного кода на встроенной языке 1С.
  4. Для настроек не требуется перезапуск программы и процедуры обновления. Не требуется выход всех пользователей.
  5. Настроенные бизнес-процессы (Сценарии) полностью доступны к использованию с момента их записи и запуска.
  6. Настройки любого сценария могут быть изменены, когда нет активных бизнес-процессов по нему, а также "на лету", т.е. без остановки текущих процессов по сценарию. В данном случае, изменения сценария будут динамически отражены в активных бизнес-процессах.
  7. Активный бизнес-процесс можно перезапустить полностью или откатить на выбранный шаг.
  8. Настроенные в одной базе сценарии могут быть экспортированы в другие базы.

Навигация по статье




Часть I

Графическая схема

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

Контроль ошибок схемы...

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

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

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

После исправления ошибок и записи сценария, окно с ошибкой исчезнет.

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

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

Описание процесса

  • При старте процесса для Исполнителя №1 создается задача Действие №1.
  • После выполнения этой задачи для Исполнителя №2 создается задача Действие №2, в которой исполнитель должен осуществить выбор из 3-вариантов. От этого выбора зависит то, как дальше будет протекать процесс.
  • Если выбран Вариант №1:
    • для исполнителя с ролью Роль №1 будет создана задача Действие №3,
    • после выполнения этой задачи, с отложенным запуском, будет выполнен шаг Обработка, после которого процесс будет завершен.
  • Если выбран Вариант №2:
    • будет запущен вложенный процесс,
    • после его завершения процесс завершится.
  • Если выбран Вариант №3:
    • для каждого исполнителя с ролью Роль №2 будет создана задача Действие №4,
    • после выполнения этих задач будет осуществлена проверка условия:
      • если проверка завершится положительным результатом, процесс завершится,
      • если результат проверки окажется отрицательным, процесс вернется на первый шаг и вся цепочка шагов повторится.

Настройка шагов

Все шаги сценария и их настройки доступны в отдельной таблице.

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

Коротко рассмотрим все настройки нашего сценария.

Описание

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

Здесь можно указать ссылку на инструкцию (отдельный справочник подсистемы), а также настроить динамические кнопки, которые будут автоматически добавлены на форме задачи.

Программные параметры описания:

Настройка динамических кнопок:

О справке...
Для каждой формы подсистемы, а также для отдельных элементов форм, доступна подробная справка (кнопка ?), поэтому процесс настройки не будет составлять труда.

Запуск

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

Шаги с отсрочкой запуска отображаются на графической схеме с пиктограммой .

Срок выполнения

Устанавливается для задач.

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

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

Настройки

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

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

Настроим задачу Действие №2.

Укажем, что для её выполнения требуется осуществить Выбор варианта №1. Также, если исполнитель выберет Вариант №1, ему потребуется заполнить объект, который мы назвали Конкурент. Этот объект нужно выбрать из справочника Партнеры с отбором по признаку.

Условная обязательность...
Объект Конкурент - условно обязательный объект. Если будет выбран Вариант №2 или Вариант №3, на форме задачи это поле отображаться не будет.

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

Теперь настроим остальные шаги сценария и посмотрим, какие ещё настройки могут быть доступны.

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

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


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

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

Для Действия №3 изменим заголовок кнопки выполнения на "Таблица заполнена".

Настроим параметры работы с Таблицей данных в рамках данной задачи: запретим изменение колонки Товар. Таким образом, исполнитель задачи будет иметь доступ только к колонке Цена и не сможет завершить задачу, пока эта колонка не будет заполнена. Это регулируется признаком Обязательный, который был установлен в общих настройках таблицы данных.



Настроим шаг Обработка №1. Для этого напишем программный код (или укажем уже готовый алгоритм из справочника Алгоритмы).

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

Использование программного кода...
При написании программного кода доступен весь функционал встроенного языка 1С.

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

Продолжим настройку остальных шагов.

Настройка Вложенного процесса №1 осуществляется двойным щелчком и выбором сценария из списка.

Настроим шаг Действие №4. Укажем в качестве выбора Условие №1 и установим заголовки быстрой проверки условия: вместо заголовков "Да" и "Нет", укажем "Принять" и "Отклонить".

Настройку шага Условие №1 выполним чуть позже.

Адресация

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

Задача может быть адресована:

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

Для задачи Действие №4 укажем Роль и установим признак Групповой задачи.

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

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

Если процесс привязан в объекту основной информационной базы, то при программном определении исполнителя доступен быстрый выбор реквизита по объекту процесса.

Настройка условий

Вернемся к настройке шага Условие №1.

Проверка Условия (как и Выбор варианта) может быть ручным или программным:

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

В качестве примера приведем проверку дня недели текущего дня. Если сегодня пятница, условие выполнено.

В нашем примере проверка Условия №1 осуществляется вручную исполнителем задачи Действие №4.

С учетом того, что Действие №4 - это групповая задача, фактически в системе может оказаться несколько задач. В этих случаях, при проверке условия должны учитываться результаты всех задач этой группы.

Для этого, в настройках условия предусмотрены параметры:

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

В нашем примере настройка Условия №1 будет выглядеть следующим образом:

Настройка сценария в целом

Графическая схема и шаги сценария настроены.

Теперь настроим сам сценарий.

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

  • вручную,
  • автоматически:
    • по событию,
    • по расписанию,
    • по условию,
    • комбинированно.

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

Для примера включим только ручной запуск.

И укажем, что при создании процесса обязательно требуется указать объект, к которому относится процесс.

Сценарий настроен и готов к работе.


Часть II

Система оповещений

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

Для этого добавим несколько оповещений:

  • по электронной почте:
    • исполнителю задачи, при запуске шага Действие №1 (включим возможность выполнения задачи по электронной почте),
    • исполнителю задачи, если задача Действие №1 не взята в работу вовремя,
    • Исполнителю №2, если задача Действие №1 просрочена.
  • в Telegram: при запуске шага Действие №2 для исполнителя задачи (включим доступность вложений из процесса и возможность выполнения задач в мессенджере),
  • в систему взаимодействия: при выполнении шага Завершение для пользователя Исполнитель №3.

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

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

Но в данной статье они не рассматриваются. Подробнее о системе автоматических оповещений см. инструкции и справку по программе.



Запуск процесса

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

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

По нашему сценарию процесс должен быть обязательно привязан к Объекту основной информационной базы и должна быть заполнена Таблица данных.

После заполнения процесс может быть запущен.

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

Выполнение задачи

Первый шаг сценария - задача Действие №1. Она появляется в списке задач у Исполнителя.

Согласно настройкам оповещений (см. Система оповещений), Исполнитель получает электронное письмо о новой задаче. А также дополнительное письмо, если задача не была взята в работу вовремя. Содержание писем было указано в настройках оповещений.

Задача может быть выполнена по электронной почте или непосредственно в программе.


Форма задачи формируется динамически и её содержание зависит от настроек сценария.

В данном случае на форме задачи отображаются следующие данные:

  • данные об объекте процесса и его вложениях,
  • текст описания задачи,
  • динамическая кнопка (см. раздел Описание).

Выполнение задачи Действие №1 переводит процесс на шаг Действие №2.

Эта задача, также, может быть выполнена в самой программе. Но, с учетом настроек оповещений, Исполнитель получает уведомление о новой задаче в Telegram с возможностью выполнения.

Задача подразумевает выбор для шага Выбор варианта №1, поэтому функционал для выбора будет доступен и на форме задачи в программе, и в Telegram.

После выбора Варианта №3 процесс переходит на шаг Действие №4. Это групповая задача для роли Роль №2. Система создает задачу для каждого пользователя с указанной ролью.

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

Исполнитель нажимает кнопку Отклонить (заголовки кнопок проверки условия настроены в разделе Настройки) и процесс возвращается на первый шаг процесса (Действие №1).

В случае, если в задаче Действие №2 при выборе варианта указан Вариант №1, процесс пойдет по другому маршруту и в задаче Действие №3 потребуется заполнить Таблицу данных (см. Запуск процесса).

После завершения задачи Действие №3, процесс будет находиться в состоянии ожидания до момента запуска отложенного шага Обработка №1.

После выполнения обработки, процесс завершится. И, согласно настройкам оповещений (см. Система оповещений), для Исполнителя №3 придет сообщение в систему взаимодействия.


Завершение

Мы рассмотрели пример настройки сценария, автоматических оповещений, а также запуск и выполнение процесса по сценарию.

Спасибо за ваше внимание к данному материалу.

Надеемся, информация о программном продукте КонструкторБизнесПроцессов окажется для вас полезной.