«Производительность|Результативность|Эффективность»
«Efficiency|Effectiveness|Performance»
Здравствуйте!
В данной статье мы хотим привести пример настройки бизнес-процесса в типовой конфигурации с помощью универсальной подсистемы КонструкторБизнесПроцессов. (//infostart.ru/soft1c/1244691/)
Мы не ставим целью показать настройку какого-то конкретного бизнес-процесса.
Наша цель – показать возможности настройки бизнес-процессов, поэтому наш пример будет абстрактным. Тем не менее, для удобства и наглядности примера, а также для связи процесса с реальными объектами основной информационной базы, при настройке будут использоваться объекты основной конфигурации - элементы справочников и документы. Например, элементы справочника "Номенклатура", документ "Заказ клиента" и другие.
В качестве основной конфигурации мы используем типовую «1С:ERP Управление предприятием», но это могла бы быть любая другая конфигурация в режиме управляемого приложения. Выбрана она была исключительно ввиду удобства демонстрации с привязкой к объектам этой конфигурации.
Сама подсистема подключена к конфигурации как расширение. Но, при необходимости, она может быть и встроена в основную конфигурацию. Для этого в комплект поставки, кроме расширения, входит стандартный установочный шаблон, содержащий файл конфигурации.
В предыдущих статьях уже были показаны примеры настроек. Но этим статьям уже более 2 лет, а функционал подсистемы постоянно расширяется и оптимизируется. Поэтому, нам хочется продемонстрировать (пусть и с неизбежными повторениями) возможности подсистемы в её актуальном (на конец 2023 года) состоянии.
Конечно, не весь доступный функционал будет продемонстрирован, т.к. статья была бы, как нам кажется, излишне перегружена деталями. Поэтому, в данном случае, скорее всего, получится продемонстрировать подсистему "по верхам", совсем не затрагивая функционал модуля Оценка и KPI и лишь поверхностно упоминая модуль автоматических оповещений. Тем не менее, надеемся, статья окажется для кого-то интересной и полезной.
Общая информация
- Все показанные настройки производятся в обычном пользовательском режиме (режим Предприятие).
- Режим разработчика (Конфигуратор) может быть дополнительно использован для анализа структуры метаданных при написании скриптов – используемого в логике бизнес-процессов программного кода на встроенном языке 1С.
- Настройка бизнес-процессов возможна без использования программного кода (no-code), с незначительным использование простых скриптов (low-code) и с неограниченным (по объему и функционалу) количеством программного кода на встроенной языке 1С.
- Для настроек не требуется перезапуск программы и процедуры обновления. Не требуется выход всех пользователей.
- Настроенные бизнес-процессы (Сценарии) полностью доступны к использованию с момента их записи и запуска.
- Настройки любого сценария могут быть изменены, когда нет активных бизнес-процессов по нему, а также "на лету", т.е. без остановки текущих процессов по сценарию. В данном случае, изменения сценария будут динамически отражены в активных бизнес-процессах.
- Активный бизнес-процесс можно перезапустить полностью или откатить на выбранный шаг.
- Настроенные в одной базе сценарии могут быть экспортированы в другие базы.
Навигация по статье
ЧАСТЬ I
Графическая схема
Основа сценария – графическая схема, визуализация последовательности этапов процесса и связей между ними. Схема настраивается вручную в специальной области на форме настроек.
Описание процесса
- При старте процесса для Исполнителя №1 создается задача Действие №1.
- После выполнения этой задачи для Исполнителя №2 создается задача Действие №2, в которой исполнитель должен осуществить выбор из 3-вариантов. От этого выбора зависит то, как дальше будет протекать процесс.
- Если выбран Вариант №1:
- для исполнителя с ролью Роль №1 будет создана задача Действие №3,
- после выполнения этой задачи, с отложенным запуском, будет выполнен шаг Обработка, после которого процесс будет завершен.
- Если выбран Вариант №2:
- будет запущен вложенный процесс,
- после его завершения процесс завершится.
- Если выбран Вариант №3:
- для каждого исполнителя с ролью Роль №2 будет создана задача Действие №4,
- после выполнения этих задач будет осуществлена проверка:
- если проверка завершится положительным результатом, процесс завершится,
- если результат проверки окажется отрицательным, процесс вернется на первый шаг и вся цепочка шагов повторится.
Настройка шагов
Все шаги сценария и их настройки доступны в отдельной таблице.
Для шагов доступны настройки наименования, описания, параметров запуска и сроков выполнения, детальные настройки и параметры адресации задач.
Коротко рассмотрим все настройки нашего сценария.
Описание
Описание - это форматированный текст, отображаемый на форме задачи. Включена возможность добавления ссылок, изображений и программно рассчитываемых параметров.
Здесь можно указать ссылку на инструкцию (отдельный справочник подсистемы), а также настроить динамические кнопки, которые будут автоматически добавлены на форме задачи.
Описание:
Программные параметры описания:
Настройка динамических кнопок:
Запуск
Шаг сценария может быть запущен сразу, с отсрочкой запуска или по произвольному условию.
Шаги с отсрочкой запуска отображаются на графической схеме с пиктограммой .
Срок выполнения
Устанавливается для задач.
Настройки
Детальные настройки зависят от вида шага. Для вложенного процесса - это ссылка на сценарий. Для обработки - исполняемый программный код. Для условия и выбора варианта - настройки проверки и выбора. Для задач - параметры выполнения задачи.
Самый простой вариант настройки задачи - это задача, при выполнении которой не требуется ничего, кроме указания комментария о результатах.
Настроим задачу Действие №2.
Укажем, что для её выполнения требуется осуществить Выбор варианта №1. Также, если исполнитель выберет Вариант №1, ему потребуется заполнить объект, который мы назвали Конкурент. Этот объект нужно выбрать из справочника Партнеры с отбором по признаку.
Теперь настроим остальные шаги сценария и посмотрим, какие ещё настройки могут быть доступны.
Кроме общих параметров заполнения задач, обязательных и условно обязательных объектов, в системе предусмотрена возможность использования Произвольных таблиц данных, которые могут применяться в бизнес-процессах для различных целей.
Таблица данных настраивается для сценария в целом, а для отдельных задач уточняются ограничения её просмотра и редактирования.
Таблица данных может заполняться вручную, автоматически или комбинированно.
После общих настроек таблицы данных можно перейти к настройкам таблицы данных для отдельных задач.
Для Действия №3 изменим заголовок кнопки выполнения на "Таблица заполнена".
Настроим параметры работы с Таблицей данных в рамках данной задачи: запретим изменение колонки Товар. Таким образом, исполнитель задачи будет иметь доступ только к колонке Цена и не сможет завершить задачу, пока эта колонка не будет заполнена. Это регулируется признаком Обязательный, который был установлен в общих настройках таблицы данных.
Настроим шаг Обработка №1. Для этого напишем программный код (или укажем уже готовый алгоритм из справочника Алгоритмы).
Напоминаем, что наш пример абстрактный и мы не ставим цель показать настройку реального бизнес-процесса, поэтому в качестве примера напишем код записи данных в файл.
Продолжим настройку остальных шагов.
Настройка Вложенного процесса №1 осуществляется двойным щелчком и выбором сценария из списка.
Настроим шаг Действие №4. Укажем в качестве выбора Условие №1 и установим заголовки быстрой проверки условия: вместо заголовков "Да" и "Нет", укажем "Принять" и "Отклонить".
Настройку шага Условие №1 выполним чуть позже.
Адресация
Назначение исполнителей задач осуществляется для каждой задачи по отдельности. Доступ к настройкам адресации осуществляется через общую таблицу настройки шагов.
Задача может быть адресована:
- на указанного в настройках исполнителя,
- на исполнителя, который определяется программно,
- на роль. В данном случае возможны 2 варианта:
- задачу может взять в работу и выполнить любой пользователь с указанной ролью,
- для каждого пользователя с указанной ролью будет создана отдельная задача.
Для задачи Действие №4 укажем Роль и установим признак Групповой задачи.
Для каждого пользователя с указанной ролью будет создана отдельная задача. По умолчанию, процесс перейдет на следующий шаг только когда все задачи данной группы будут выполнены.
Настройка условий
Вернемся к настройке шага Условие №1.
Проверка Условия (как и Выбор варианта) может быть ручным или программным:
- при ручной проверке условия/выборе варианта исполнитель задачи вручную выбирает результат,
- при программной проверке результат определяется программно по значению встроенной переменной _Результат.
В качестве примера приведем проверку дня недели текущего дня. Если сегодня пятница, условие выполнено.
В нашем примере проверка Условия №1 осуществляется вручную исполнителем задачи Действие №4.
С учетом того, что Действие №4 - это групповая задача, фактически в системе может оказаться несколько задач. В этих случаях, при проверке условия должны учитываться результаты всех задач этой группы.
Для этого, в настройках условия предусмотрены параметры:
- вариант проверки условия:
- условие выполнено, когда во всех задачах группы условие выполнено - «Да», когда все «Да»,
- условие выполнено, когда хотя бы в одной задаче группы условие выполнено - «Да», когда любое «Да».
- принудительное завершение задач группы для варианта «Да», когда все «Да»: если хотя бы в одной (уже завершенной) задаче условие не выполнено, остальные, не взятые в работу задачи в группе, будут завершены автоматически.
В нашем примере настройка Условия №1 будет выглядеть следующим образом:
Настройка сценария в целом
Графическая схема и шаги сценария настроены.
Теперь настроим сам сценарий.
Во-первых, нужно определиться - как именно будет запускаться сценарий? Возможные варианты:
- вручную,
- автоматически:
- по событию,
- по расписанию,
- по условию,
- комбинированно.
Так может выглядеть комбинированный автоматический запуск сценария:
Для примера включим только ручной запуск.
И укажем, что при создании процесса обязательно требуется указать объект, к которому относится процесс.
Сценарий настроен и готов к работе.
ЧАСТЬ II
Система оповещений
Настроим оповещения пользователей по сценарию. Они помогут участникам процесса всегда быть в курсе происходящих событий.
Для этого добавим несколько оповещений:
- по электронной почте:
- исполнителю задачи, при запуске шага Действие №1 (включим возможность выполнения задачи по электронной почте),
- исполнителю задачи, если задача Действие №1 не взята в работу вовремя,
- Исполнителю №2, если задача Действие №1 просрочена.
- в Telegram: при запуске шага Действие №2 для исполнителя задачи (включим доступность вложений из процесса и возможность выполнения задач в мессенджере),
- в систему взаимодействия: при выполнении шага Завершение для пользователя Исполнитель №3.
Для задачи Действие №1 был установлен Срок выполнения и признак Важная. Поэтому, для дополнительного контроля, были добавлены оповещения Не взята в работу вовремя и Просрочена. Для этих событий установим расписание оповещений.
Запуск процесса
Процессы с автоматическим запуском запускаются без участия пользователя при наступлении событий запуска, по расписанию, при наступлении указанных условий или по совокупности факторов.
Для ручного запуска следует выбрать сценарий и по нему создать процесс, нажав соответствующую кнопку.
По нашему сценарию процесс должен быть обязательно привязан к Объекту основной информационной базы и должна быть заполнена Таблица данных.
После заполнения процесс может быть запущен.
Дальнейшее протекание процесса будет полностью соответствовать логике сценария (с учетом возможностей, указанных в п.6 и п.7 Общей информации).
Выполнение задачи
Первый шаг сценария - задача Действие №1. Она появляется в списке задач у Исполнителя.
Согласно настройкам оповещений (см. Система оповещений), Исполнитель получает электронное письмо о новой задаче. А также дополнительное письмо, если задача не была взята в работу вовремя. Содержание писем было указано в настройках оповещений.
Задача может быть выполнена по электронной почте или непосредственно в программе.
Форма задачи формируется динамически и её содержание зависит от настроек сценария.
В данном случае на форме задачи отображаются следующие данные:
- данные об объекте процесса и его вложениях,
- текст описания задачи,
- динамическая кнопка (см. раздел Описание).
Выполнение задачи Действие №1 переводит процесс на шаг Действие №2.
Эта задача, также, может быть выполнена в самой программе. Но, с учетом настроек оповещений, Исполнитель получает уведомление о новой задаче в Telegram с возможностью выполнения.
Задача подразумевает выбор для шага Выбор варианта №1, поэтому функционал для выбора будет доступен и на форме задачи в программе, и в Telegram.
После выбора Варианта №3 процесс переходит на шаг Действие №4. Это групповая задача для роли Роль №2. Система создает задачу для каждого пользователя с указанной ролью.
Процесс перейдет на следующий шаг только после завершения всех задач группы. Но, с учетом настроек (см. Настройка условий), если хотя бы 1 из исполнителей укажет, что Условие №1 не выполнено, остальные задачи завершатся автоматически и процесс вернется на шаг Действие №1.
Исполнитель нажимает кнопку Отклонить (заголовки кнопок проверки условия настроены в разделе Настройки) и процесс возвращается на первый шаг процесса (Действие №1).
В случае, если в задаче Действие №2 при выборе варианта указан Вариант №1, процесс пойдет по другому маршруту и в задаче Действие №3 потребуется заполнить Таблицу данных (см. Запуск процесса).
После завершения задачи Действие №3, процесс будет находиться в состоянии ожидания до момента запуска отложенного шага Обработка №1.
После выполнения обработки, процесс завершится. И, согласно настройкам оповещений (см. Система оповещений), для Исполнителя №3 придет сообщение в систему взаимодействия.
Завершение
Мы рассмотрели пример настройки сценария, автоматических оповещений, а также запуск и выполнение процесса по сценарию.
Спасибо за ваше внимание к данному материалу.
Надеемся, информация о программном продукте КонструкторБизнесПроцессов окажется для вас полезной.
Ссылка на основную статью: //infostart.ru/soft1c/1244691/.