www.1bpm.ru mail@bip.one |
Эффективность. Надежность. Контроль.
Система автоматизации и управления бизнес-процессами
|
||||||||
|
«БИП: Бизнес-Процессы». Примеры использования. Часть №IV. Графика |
Август 2020 г. |
В статье приводятся примеры настройки графических карт сценариев в системе «БИП: Бизнес-Процессы».
|
Это продолжение предыдущих частей Часть №I, Часть №II и Часть №III, в которых были приведены несколько примеров использования системы «БИП: Бизнес-Процессы».
Программный продукт «БИП: Бизнес-Процессы» предназначен для настройки произвольных бизнес-процессов в пользовательском режиме в любых конфигурациях 1С, работающих на технологической платформе «1С:Предприятие 8.3» в режиме управляемого приложения. Продукт может использоваться как отдельная конфигурация для моделирования бизнес-процессов, как дополнение для встраивания в существующие конфигурации и как расширение. Программный продукт сертифицирован и имеет официальный статус «1С:Совместимо!». Программный продукт предлагается в 2 вариантах:
Эта часть будет посвящена графическим картам сценариев — визуальной, интерактивной и «фундаментальной» составляющей любого сценария в системе
«БИП: Бизнес-Процессы».
Содержание 4. Оформление графической схемы 5. Дополнительно о шагах процесса
Графическая схема сценария В основе любого сценария, а, в последствии, и любого активного экземпляра сценария — процесса, лежит графическая схема. В 1С она ещё может называться «Картой маршрута». Графическая схема определяет:
Простейший «одноклеточный» пример сценария — это 1 действие. Пример приведен на изображении ниже.
Карта активного процесса, а также карта завершенного процесса для такого сценария будут выглядеть как показано на изображении ниже.
Цепочки из 2, 3, ..., N действий строятся простым добавлением новых элементов. Примеры приведены на изображениях ниже.
Символ показывает на каком этапе в данный момент находится активный процесс. Вместо шага вида Действие, который подразумевает задачу для назначенного исполнителя, сценарий может состоять из автоматических шагов вида Обработка. Обработка не требует участия пользователя и выполняется автоматически. При этом, исполняется заданный в настройках обработки программный код (или готовый алгоритм). Пример схемы с шагов вида Обработка показан на изображении ниже.
В данном примере обработка будет выполнена сразу же после старта процесса.
Вложенный процесс реализуется добавлением на схему элемента вида Вложенный процесс. В контексте настройки и использования графической схемы этот шаг не имеет особенностей.
Параллельность Выше были продемонстрированы примеры последовательного выполнения шагов сценария. Но этапы могут выполняться и параллельно. Пример самого простого распараллеливания приведен на изображении ниже.
При запуске процесса формируется 2 параллельные задачи.
Если в процессе, в какой-то момент, возникает точка разделения на разные ветви, то, в какой-то момент, может возникнуть и точка их слияния. В данном примере — это шаг Действие3. Процесс не перейдет на этот шаг до тех пор, пока не будут выполнены все его предшественники. Процесс выполнения задач приведен на изображении ниже.
Ещё 1 пример со слиянием приведен на следующем изображении.
Может показаться, что процесс перейдет в шаг Завершение после выполнения любой из задач. Но это не так. В данном случае процесс — это не гонка, в которой побеждает тот, кто первым достигнет финиша. Процесс завершится только тогда, когда оба действия будут выполнены.
Можно предположить, что раз 2 стрелки входят в шаг Завершение с разных сторон, то какое же это может быть слияние? Но для системы это не имеет значения — процесс перейдет на текущий шаг только тогда, когда будут завершены (или пропущены — об этом ниже) все предшественники/родители, т.е. все шаги, исходящие линии связей которых входят в текущий шаг. Место соединения линии связи с текущим элементом значения не имеет. Примеры того же самого сценария в разных исполнениях приведены на изображении ниже.
Может быть, даже, и так:
Похожим на предыдущий вариант, но другим по сути, является следующий пример, приведенный на изображении ниже.
В данном случае, процесс завершится после завершения любого из действий. Но встает другой вопрос — что это за процесс, начатую задачу по которой можно не завершать, потому что кто-то выполнил свою часть раньше и процесс завершился...
В некоторых случаях, всё-таки, наличие точек разделения и точек слияния на графической схеме оправдано. Чаще всего, это может потребоваться на больших графических схемах с множеством линий связи, когда несколько параллельных веток процесса сходятся и вновь расходятся на несколько других веток. В этом случае, в качестве точки разделения и точки слияния можно использовать элемент графической схемы вида Обработка. Пример приведен ниже.
Данный шаг на графической схеме является не столько функциональным, сколько вспомогательным и декоративным, позволяющим представить графическую схему процесса в более наглядном виде и более удобном исполнении для редактирования и дальнейшей настройки. В данном примере шаг Обработка не содержит программного кода (или алгоритма) и система его просто «перешагивает». По сути - этот шаг фиктивный. Использование элемента вида Обработка для таких целей имеет ещё 1 дополнительный плюс – в этих шагах можно, используя программный код, «логировать» точки слияния и разделения. Если, конечно, это потребуется. Таким образом, шаг вида
Обработка
можно использовать не только для выполнения программного кода при выполнении процесса, но и как дополнительный элемент схемы, используемый для прочих специфических моментов.
Отдельным видом параллельных задач являются групповые задачи. Пример такой схемы приведен на изображении ниже. На групповом этапе процесса создаётся не 1 задача, а столько задач, сколько исполнителей входит в указанную для шага группу. И на следующий этап процесс перейдет только после завершения всех задач группового этапа.
В завершение темы параллельных этапов стоит уточнить, что количество параллельных этапов не ограничено.
Условные переходы Выполнение сценария — это не только линейный (последовательный или параллельный) процесс выполнения шагов, но и вариативность возможных направлений. Условные переходы в процессе реализуются с помощью шагов вида Условие и ВыборВарианта. По сути, Условие и ВыборВарианта — это одно и тоже, с той лишь разницей, что в условии всего 2 варианта выбора - Да или Нет, а в выборе варианта - столько, сколько необходимо. Поэтому, в дальнейшем, примеры с шагами вида Условие и ВыборВарианта будут приводиться без акцентирования внимания на конкретный вид. Самый простой пример условного перехода приведен на изображении ниже.
В связи с использованием условных переходов появляется такое понятие как «Пропущенный шаг». Это такой шаг, выполнение которого не требуется, потому что процесс пошёл по другому направлению.
Пример осуществленного условного перехода и пропущенного в связи с этим переходом шага, приведен на изображении ниже.
В результате проверки, условие было выполнено и процесс перешел к следующей задаче «Если условие выполнено». Шаг «Если условие не выполнено» становится пропущенным, задача по нему не формируется.
Такое оформление помогает быстрее и точнее ориентироваться на карте процесса. Что происходит дальше? В шаге Условие происходит разделение(условное) процесса на 2 потока. В шаге Завершение эти 2 потока сходятся, происходит слияние. В шаг Завершение входит 2 задачи:
Для системы пропущенный шаг и выполненный шаг тождественны равны. = . Поэтому, после завершения шага «Если условие выполнено», процесс будет завершен.
Для задач, которые по сценарию были завершены автоматически/принудительно, предусмотрено отдельное оформление. Рамка у таких задач серого цвета, а в теле задачи вместо пиктограммы выводится серая галочка .
Благодаря динамическому оформлению карты процесса, даже, не обращаясь к таблице истории процесса, прекрасно видно как протекал весь процесс. Дополнительные примеры условных переходов, пропущенных шагов и целых потоков приведены на изображениях ниже.
На примерах выше видно, что для шагов вида ВыборВарианта выбранный вариант отмечается символами «>>>». Разные результаты условных переходов могут приводить к одним и тем же шагам процесса. Это показано на изображении ниже.
Независимо от того, какой вариант будет выбран — Вариант2 или Вариант3 , процесс перейдет в шаг Действие6. Также, результат условного перехода может приводить к разделению процесса. Пример приводится на изображении ниже.
Здесь использовано 2 элемента вида Завершение , для того, чтобы линии графической схемы выглядели «аккуратнее». Иначе, она могла бы выглядеть так, как показано на изображениях ниже.
Таким образом, графическая схема процесса помогает визуализировать будущий процесс и увидеть будущий план этого процесса ещё до его запуска. Здесь же, можно, «не отходя от кассы», оптимизировать схему процесса, если визуально будут обнаружены неоптимальные участки. Но самым главным преимуществом является то, что настроенный процесс сразу же может быть запущен и протестирован. Отменен при необходимости, скорректирован и запущен повторно. Расстояние между настройкой и запуском минимально настолько, насколько это в принципе возможно в той версии Вселенной, в которой мы пребываем. Все делается в режиме «Предприятие» на лету. Сценарии, в которых не требуется использовать программный код, сценарии с простыми цепочками действий, которые должны выполнять пользователи, осуществляя условные переходы по сценарию вручную при выполнении задач, такие сценарии может настраивать любой пользователь, не обладающий навыками программирования. Оформление графической схемы Для графической схемы, также, предусмотрено несколько вариантов оформления.
Дополнение: Шаг процесса под лупой На графической схеме шаги процесса показаны предельно схематично и укрупненно. Глядя на графику, мы можем видеть какие есть шаги, как они взаимосвязаны между собой и каков характер протекающего процесса. Отдельно же шаги процесса вида Старт, Действие, Обработка, Вложенный процесс или Завершение, а также условных переходов вида Условие и ВыборВарианта — в общем случае, все шаги процесса, при ближайшем рассмотрении можно представить в следующем виде:
Все эти настройки производятся для каждого шага графической схемы сценария. Таким образом, плоская карта будущего процесса приобретает дополнительное измерение и глубину в виде этих настроек, влияющих не только на протекание всего процесса, но и на качественное взаимодействие пользователей с системой.
|