Добро пожаловать!
http://www.bip.one
mail@bip.one







    БИП, Бизнес-Процессы, Конструктор Бизнес-Процессов, Мета-Бизнес-Процессы, BPM
    Любые бизнес-процессы в любой конфигурации 1С
    на технологической платформе «1С:Предприятие 8.3» (Управляемое приложение)
    Текущая версия 1.0.3.5




«БИП: Бизнес-Процессы». Примеры использования.
Часть №IV. Графика


В статье приводятся примеры настройки графических карт сценариев в системе «БИП: Бизнес-Процессы».

Это продолжение предыдущих частей Часть №I, Часть №II и Часть №III, в которых были приведены несколько примеров использования системы «БИП: Бизнес-Процессы».

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

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

  • Основная поставка «БИП: Бизнес-Процессы»;
  • Базовая версия Расширение для настройки бизнес-процессов «Зодиак».


Эта часть будет посвящена графическим картам сценариев — визуальной, интерактивной и «фундаментальной» составляющей любого сценария в системе «БИП: Бизнес-Процессы».



Содержание

1. Графическая схема сценария

2. Параллельность

3. Условные переходы

4. Оформление графической схемы

5. Дополнительно о шагах процесса



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

В основе любого сценария, а, в последствии, и любого активного экземпляра сценария — процесса, лежит графическая схема. В 1С она ещё может называться «Картой маршрута».

Графическая схема определяет:

  • логику протекания всего процесса;

  • порядок этапов процесса;

  • взаимосвязи этапов.

Простейший «одноклеточный» пример сценария — это 1 действие. Пример приведен на изображении ниже.

Карта активного процесса, а также карта завершенного процесса для такого сценария будут выглядеть как показано на изображении ниже.

Цепочки из 2, 3, ..., N действий строятся простым добавлением новых элементов. Примеры приведены на изображениях ниже.

Символ показывает на каком этапе в данный момент находится активный процесс.

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

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

Пример схемы с шагов вида Обработка показан на изображении ниже.

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

Процесс может быть запущен при наступлении какого-то события системы, или по определенному условию, или при наступлении «Дня D» или «Часа X» и, при этом, будет выполнен указанный в обработке программный код. При запуске по расписанию сценарий — это полный аналог обычного регламентного задания, которое запускается в назначенное время и выполняет указанный метод.

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

↑Наверх




Параллельность

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

Но этапы могут выполняться и параллельно.

Пример самого простого распараллеливания приведен на изображении ниже.

При запуске процесса формируется 2 параллельные задачи.

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

В данном примере — это шаг Действие3. Процесс не перейдет на этот шаг до тех пор, пока не будут выполнены все его предшественники. Процесс выполнения задач приведен на изображении ниже.

Ещё 1 пример со слиянием приведен на следующем изображении.

Может показаться, что процесс перейдет в шаг Завершение после выполнения любой из задач.

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

Можно предположить, что раз 2 стрелки входят в шаг Завершение с разных сторон, то какое же это может быть слияние?

Но для системы это не имеет значения — процесс перейдет на текущий шаг только тогда, когда будут завершены (или пропущены — об этом ниже) все предшественники/родители, т.е. все шаги, исходящие линии связей которых входят в текущий шаг. Место соединения линии связи с текущим элементом значения не имеет.

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

Может быть, даже, и так:

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

Похожим на предыдущий вариант, но другим по сути, является следующий пример, приведенный на изображении ниже.

В данном случае, процесс завершится после завершения любого из действий.

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

Несколько шагов вида Завершение удобно использовать на больших схемах с условиями и выборами вариантов, где тянуть линии связи к 1 элементу завершения не удобно. В этом случае, можно добавить несколько элементов вида Завершение и расположить их удобным для построения схемы образом.


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

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

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

В данном примере шаг Обработка не содержит программного кода (или алгоритма) и система его просто «перешагивает». По сути - этот шаг фиктивный.

Использование элемента вида Обработка для таких целей имеет ещё 1 дополнительный плюс – в этих шагах можно, используя программный код, «логировать» точки слияния и разделения. Если, конечно, это потребуется.

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



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

На групповом этапе процесса создаётся не 1 задача, а столько задач, сколько исполнителей входит в указанную для шага группу. И на следующий этап процесс перейдет только после завершения всех задач группового этапа.

В завершение темы параллельных этапов стоит уточнить, что количество параллельных этапов не ограничено.

↑Наверх




Условные переходы

Выполнение сценария — это не только линейный (последовательный или параллельный) процесс выполнения шагов, но и вариативность возможных направлений.

Условные переходы в процессе реализуются с помощью шагов вида Условие и ВыборВарианта.

По сути, Условие и ВыборВарианта — это одно и тоже, с той лишь разницей, что в условии всего 2 варианта выбора - Да или Нет, а в выборе варианта - столько, сколько необходимо.

Поэтому, в дальнейшем, примеры с шагами вида Условие и ВыборВарианта будут приводиться без акцентирования внимания на конкретный вид.

Самый простой пример условного перехода приведен на изображении ниже.

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

В связи с использованием условных переходов появляется такое понятие как «Пропущенный шаг».

Это такой шаг, выполнение которого не требуется, потому что процесс пошёл по другому направлению.

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

Пример осуществленного условного перехода и пропущенного в связи с этим переходом шага, приведен на изображении ниже.

В результате проверки, условие было выполнено и процесс перешел к следующей задаче «Если условие выполнено».

Шаг «Если условие не выполнено» становится пропущенным, задача по нему не формируется.

  • На карте процесса пропущенные шаги отмечаются специальным значком и зачеркнутым описанием.

  • Линии фактического движения процесса отличаются от линий пропущенных шагов и от ещё не начатых этапов цветом и шириной.

Такое оформление помогает быстрее и точнее ориентироваться на карте процесса.

Что происходит дальше?

В шаге Условие происходит разделение(условное) процесса на 2 потока. В шаге Завершение эти 2 потока сходятся, происходит слияние.

В шаг Завершение входит 2 задачи:

  • «Если условие выполнено»

  • «Если условие не выполнено».

Для системы пропущенный шаг и выполненный шаг тождественны равны. = .

Поэтому, после завершения шага «Если условие выполнено», процесс будет завершен.

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

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

На примерах выше видно, что для шагов вида ВыборВарианта выбранный вариант отмечается символами «>>>».

Разные результаты условных переходов могут приводить к одним и тем же шагам процесса. Это показано на изображении ниже.

Независимо от того, какой вариант будет выбран — Вариант2 или Вариант3 , процесс перейдет в шаг Действие6.

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

Здесь использовано 2 элемента вида Завершение , для того, чтобы линии графической схемы выглядели «аккуратнее». Иначе, она могла бы выглядеть так, как показано на изображениях ниже.

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

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

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

Расстояние между настройкой и запуском минимально настолько, насколько это в принципе возможно в той версии Вселенной, в которой мы пребываем. Все делается в режиме «Предприятие» на лету.

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

↑Наверх




Оформление графической схемы

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

↑Наверх




Дополнение: Шаг процесса под лупой

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

Отдельно же шаги процесса вида Старт, Действие, Обработка, Вложенный процесс или Завершение, а также условных переходов вида Условие и ВыборВарианта — в общем случае, все шаги процесса, при ближайшем рассмотрении можно представить в следующем виде:

  • Шаг может быть запущен сразу, а может быть запущен отложенно — по времени или по произвольному условию. Единственное исключение — это не относится к шагу вида Старт.

  • При запуске шага может быть выполнен дополнительный произвольный алгоритм. Это может быть отправка сообщения исполнителю о создании новой задачи или формирование каких-то данных в базе и т.п.

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

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

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

  • Задача может завершаться автоматически при выполнении указанного условия.

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

Все эти настройки производятся для каждого шага графической схемы сценария.

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



Наверх | На главную | Следующая | Предыдущая
Напишите нам, чтобы получить подробную информацию об условиях приобретения, сопровождения и партнерства.
© Новые Системы ООО, 2021. Проектирование, Разработка, Внедрение, Сопровождение 16+