Здравствуйте!
В данной статье приводятся ответы на вопросы с примерами настроек системы КонструкторБизнесПроцессов
Предыдущие части:
- БИП Бизнес-Процессы, FAQ: Ответы на вопросы, Часть 01
- БИП Бизнес-Процессы, FAQ: Ответы на вопросы, Часть 02
Надеемся, данная информация окажется для вас полезной и интересной!🙂
Навигация
- FAQ11 – Что такое 'Действие'
- FAQ12 – Что такое 'Условие'
- FAQ13 – Что такое 'Выбор варианта'
- FAQ14 – Что такое 'Обработка'
- FAQ15 – Что такое 'Вложенный процесс'
:FAQ11 – Что такое 'Действие'
Вопрос: Что такое «Действие»?
https://rutube.ru/video/910c3d81659d06387a9dd4f5da5efbe1/
Действие – это вид шага процесса, на котором требуется выполнить какое-то реальное действие пользователем.
Для выполнения действия создается задача.
Выполнение задачи подразумевает выполнение действия.
Например, если нужно проверить договор, мы добавляем на схему процесса действие.
В дальнейшем Действия мы будем называть "Задачами".
Для задачи можно указать описание и инструкцию, которые сможем увидеть исполнитель.
Для задачи может быть указан срок выполнения. И параметры запуска.
Задача может создаваться сразу, или через указанный период времени, или при наступлении произвольного события.
Отдельно настраиваются параметры выполнения, от которых зависят внешний вид формы задачи и порядок работы с ней.
Действие отличается от других шагов по процессу тем, что оно связано с реальными пользователями. Поэтому, для данного шага отдельно настраивается адресация.
Здесь настраиваются исполнители и наблюдатели.
Для примера создадим сценарий процесса, который состоит из двух последовательных задач.
Для первой задачи укажем исполнителя Федоров.
Для второй задачи укажем Роль исполнителей и установим признак групповой задачи. Это означает, что на данном шаге каждому пользователю с указанной ролью будет создана отдельная задача.
В нашем случае для двух менеджеров.
Запишем сценарий и запустим по нему процесс.
На динамической карте текущего процесса мы видим, что процесс остановился на шаге "Выполнить действие №1". Исполнитель должен выполнить задачу.
Задача выполнена и процесс перешел на следующее действие. Действие было настроено как групповое, поэтому по нему создано две задачи – для каждого менеджера.
Назначенного исполнителя можно увидеть на форме задачи.
При необходимости, задачу можно переадресовать.
Таким образом, Действие на схеме процесса – это Задача для исполнения.
:FAQ12 – Что такое 'Условие'
Вопрос: Что такое «Условие»?
https://rutube.ru/video/9b15bc731b04a5852f8fa0d1f0055529/
Условие – это шаг-развилка. Шаг, на котором система решает, в какую сторону дальше пойдет процесс.
Это зависит от выполнения условия. Если условие выполнено, процесс пойдет по одному пути. Если условие не выполнено – по другому.
*Положение стрелок "Да" и "Нет" на схеме можно поменять местами, перетянув одну стрелку на место другой.
Условие проверяется двумя способами: Автоматически или Вручную.
Автоматическая проверка условий – это использование программного кода или отборов для проверки. Результат проверки следует передать в переменную _Результат.
В данном примере, очевидно, условие не будет выполнено.
И процесс по сценарию перейдет на шаг "Действие 2".
Ручная проверка условий – это проверка условия исполнителями задач, предшествующих шагу условия.
Результат проверки – это кнопка Да или Нет, которую должен нажать Исполнитель в задаче.
При необходимости, заголовки кнопок можно изменить.
Условие может использоваться для групповых проверок.
Для этого, шаг Действие, в котором проверяется условие должен быть групповым.
В настройках условия выбирается вариант проверки групповых условий.
При необходимости, можно принудительно завершать задачи, выполнение которых уже не требуется для проверки условия.
В качестве примера настроим условие с ручной проверкой.
Чтобы проверить условие, в задаче нужно будет нажать кнопку Да или Нет. Переименуем их в "Выполнено" и "Нет".
Какой шаг после условия будет следующим зависит от того, какую кнопку нажмет исполнитель задачи.
Запишем сценарий и запустим по нему новый процесс.
Процесс запущен и в задаче нам требуется ответить на вопрос – выполнено условие или нет.
Мы нажали Нет. Значит, условие не выполнилось и процесс пошел влево.
Теперь настроим сценарий с групповой проверкой условия.
Для этого в задаче установим признак групповой задачи.
По данному шагу будет создано 3 задачи. По количеству пользователей с указанной ролью.
В настройках условия укажем вариант "Да, когда все – Да" и включим принудительное завершение задач.
На первом шаге процесса создано 3 задачи – для трех исполнителей.
Условие будет выполнено, когда все 3 исполнителя нажмут кнопку "Да".
1-ый исполнитель ответил "Да". 2-ой исполнитель ответил "Нет". Условие не выполнено и процесс пошел влево.
Результат 3-ей задачи уже ни на что не повлияет, потому что для выполнения условия, во всех 3 задачах исполнители должны были ответить "Да".
3-я задача завершена принудительно, в соответствии с настройками сценария.
Изменим в сценарии вариант проверки условия для групповых задач.
Теперь, для выполнения условия, достаточно в любой из задач нажать кнопку "Да".
Запустим новый процесс по измененному сценарию.
Откроем любую из задач и нажмем кнопку Да.
Условие выполнилось и процесс пошел вправо. Остальные 2 задачи за ненадобностью автоматически завершены.
Это были примеры ручной проверки условия.
Теперь настроим автоматическую проверку условия.
Создадим сценарий с проверкой суммы документа.
Если условие выполнено, процесс пойдет вправо. Если нет – влево.
При запуске процесса нужно будет выбрать документ, по которому будем проверять сумму.
В настройках условия напишем код проверки суммы.
_Процесс.Объект – это документ. Его сумма должна быть больше 20 000.
Здесь вместо кода можно было использовать отбор для проверки условия. В ряде случаев, в том числе и сейчас, использование отбора – это проще и удобнее. Но программный код позволяет настраивать сложные проверки, недоступные в отборах.
Запишем сценарий и запустим по нему новый процесс.
Выберем документ с суммой меньше 20 000.
На карте процесса видим, что условие не выполнилось.
Запустим еще один процесс и выберем другой документ. На этот раз с суммой больше 20 000.
С данным документом процесс пойдет по-другому:
Это были примеры использования шага вида Условие. Условие – это развилка процесса, с ручной или автоматической проверкой.
:FAQ13 – Что такое 'Выбор варианта'
Вопрос: Что такое «Выбор варианта»?
https://rutube.ru/video/03d67bf5e48376b6b5ace1604bcc7f71/
Выбор варианта – это шаг-развилка. Шаг, на котором система решает, в какую сторону дальше пойдет процесс.
Дальнейший ход процесса после этого шага зависит от выбранного варианта.
Выбор варианта может быть осуществлен двумя способами: Автоматически и Вручную.
Автоматический выбор варианта – это использование программного кода или отборов для проверки и выбора каждого варианта.
Результат проверки следует передать в переменную _Результат.
Здесь Вариант №1 будет выбран, если сегодня – понедельник.
Но нет. Проверка показала, что сегодня какой-то другой день недели.
Вариант №2 будет выбран, если сегодня – вторник.
Тоже нет.
Других вариантов, кроме Вариант №3 не осталось. Поэтому, он и будет автоматически выбран.
Кроме автоматического выбора есть ручной выбор варианта – это осуществление выбора в одной из задач, предшествующих шагу выбора.
Выбор – это список, из которого Исполнитель задачи должен выбрать один из вариантов.
Для примера настроим сценарий с ручным выбором варианта.
Процесс начинается с задачи, в которой требуется выбрать вариант.
Укажем варианты.
Запишем сценарий и запустим по нему новый процесс.
Откроем карту процесса.
Для завершения задачи по процессу требуется выбрать один из вариантов.
После выбора процесс пошел по тому пути, который соответствует нашему выбору.
Теперь изменим наш сценарий, чтобы выбор осуществлялся автоматически.
Удалим задачу из сценария.
При запуске процесса потребуется выбрать документ. Пусть это будет документ "Заказ клиента".
Теперь напишем правила для выбора варианта.
Для первого варианта настроим отбор. 1-ый вариант будет выбран, если сумма документа меньше 20 000.
Если 1-ый вариант не подходит, система проверит условие 2-го варианта. 2-ой вариант будет выбран, если сумма документа меньше 500 000.
_Процесс.Объект – это документ, по которому будет запущен наш процесс.
Если и 2-ой вариант не подошел, остается только 3-ий. Для него условие задавать не требуется.
Переименуем варианты, чтобы они отражали суть выбора.
Запишем сценарий и запустим по нему новый процесс.
Выберем какой-нибудь документ.
Процесс запущен. Откроем его карту.
Выбран 1-ый вариант, потому что сумма документа оказалась меньше 20 000.
Создадим новый процесс. На этот раз выберем документ с суммой побольше.
Запустим процесс.
Какая-то ошибка: Поле не обнаружено СуммаДокумент.
В коде выбора варианта мы допустили ошибку. Вернемся в сценарий и исправим её: СуммаДокумента, а не СуммаДокумент.
После исправления нам не требуется перезапускать программу. Достаточно записать сценарий.
Создадим новый процесс и запустим его после выбора документа.
Процесс стартовал и на карте процесса видим, что был выбран 2-ой вариант: Сумма документа до 500 000.
Создадим ещё один процесс. Выберем документ с суммой больше 500 000, чтобы проверить выбор 3-го варианта.
Выбран 3-ий вариант.
Это были простые примеры использования шага вида Выбор варианта. Выбор варианта – это развилка, с ручной или автоматической проверкой.
:FAQ14 – Что такое 'Обработка'
Вопрос: Что такое «Обработка»?
https://rutube.ru/video/a763bb03b9b808e7db1e60c89c327cd3/
Обработка – это шаг процесса, на котором выполняется произвольный программный код на языке 1С.
Программный код может быть написан в настройках самого шага. Или может быть выбран готовый алгоритм, который требуется выполнить на данном шаге.
Пока код для выполнения не задан, шаг Обработка на схеме отображается как прозрачный с пунктирной границей.
Отсутствие кода в шаге Обработка не является ошибкой. Это будет просто пустой, фиктивный, незначимый шаг. В ряде случаев, это может быть использовано для реализации логики процесса.
Для примера настроим сценарий с обработкой, в которой происходит проведение документов.
Напишем минимальный рабочий код.
После шага проведения добавим ещё один шаг Обработка. И пусть он запускается не сразу после проведения, а через 10 минут.
В этой обработке выберем алгоритм для выполнения.
Данный алгоритм подключается к серверу Telegram через HTTP-соединение. В текстовый документ записывается результат подключения.
Добавим сюда еще одну Обработку. На этот раз выполним код командной строки, который будет копировать указанный файл.
ЗапуститьПриложение("cmd /c copy file1.txt file2.txt", "c:\temp\test\");
Таким образом мы настроили сценарий, состоящий из трех последовательных обработок.
Первая обработка проводит документы. Вторая – подключается к внешнему серверу. Третья – выполняет операции с файлами.
Запишем сценарий и запустим по нему процесс.
Откроем карту процесса и посмотрим на ход его выполнения.
Первый шаг сразу же выполнился.
Второй шаг с отложенным запуском будет запущен через 10 минут. Не будет дожидаться, запустим его сами.
Второй и третий шаги последовательно выполнились.
Процесс завершен. Откроем папку, в которую был записан файл на втором шаге.
Файл есть. В файле есть результат подключения к внешнему серверу.
Здесь же находятся и файлы, с которыми совершалась операция копирования на третьем шаге.
Это были примеры использования шага вида Обработка. Обработка – это выполнение программного кода на встроенном языке 1С.
Код может быть произвольным и использоваться как в рамках текущего процесса, так и для широкого спектра учетных, регламентных и административных задач, для интеграций с внешними системами и источниками данных.
:FAQ15 – Что такое 'Вложенный процесс'
Вопрос: Что такое «Вложенный процесс»?
https://rutube.ru/video/effc64f4820fcc305f95fbf42b99b2c8/
Вложенный процесс – это шаг процесса, на котором выполняется один или несколько других процессов.
Использование вложенных процессов позволяет разбивать один сложный процесс на несколько простых, которые в свою очередь могут использоваться многократно в разных сценариях.
Это упрощает не только настройку сложных процессов, но и улучшает их читабельность на схеме и понимание происходящего в них.
Для примера создадим сценарий, состоящий из шага Действия и следующего за ним вложенного процесса.
В качестве вложенного процесса выберем готовый сценарий из списка.
Система позволяет настраивать и групповые вложенные процессы. Если такая настройка включена, то на текущем шаге будет запущен не один процесс, а несколько. По количеству объектов, с которыми связан основной процесс.
Дополнительная информация доступна во встроенной справке, а также во входящем в комплект поставки Руководстве пользователя:
Запишем сценарий и запустим по нему новый процесс.
Откроем карту процесса.
Первый шаг – это задача.
Выполним её.
Процесс перешел на шаг вложенного процесса.
Откроем его карту.
Вложенный процесс состоит из одной задачи.
Здесь мы видим, в том числе, и ссылку на родительский процесс, в рамках которого он запущен.
Родительский процесс не будет двигаться дальше, пока вложенный не будет завершен.
Выполним задачу по вложенному процессу.
Вложенный процесс завершился.
В основном процессе после вложенного других шагов нет. Поэтому, он тоже завершился.
Это был простейший пример настройки и использования шага вида Вложенный процесс.
Вложенный процесс – это шаг сценария, на котором выполняется один или несколько процессов по другому сценарию.
Продолжение следует...