Конструктор Бизнес-Процессов. Подсистема/Конфигурация/Расширение

Публикация № 1239680

Управление - Управление бизнес-процессами (BPM)

Бизнес-процессы BPM BPMS Сценарии Скрипты Расширение Конфигурация Универсальные механизмы Администрирование

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

Всем привет!

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

 

Вместо предисловия.

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

*Хотя, на тот момент, когда мне пришла в голову эта мысль, я делал пару проектов, в которых такая возможность пригодилась бы. При условии наличия удобного, гибкого и "лёгкого" механизма, конечно.
 

Первая попытка сделать это "на лету" ничем не увенчалась - я зашёл в какой-то интеллектуальный тупик и забыл об этой идее на какой-то время...
Позже я вернулся к идее и окончательно сформулировал для себя задачу.


Постановка задачи

  1. Требуется разработать конфигурацию для создания и настройки бизнес-процессов в пользовательском режиме.
  2. Конфигурация должна быть написана "с нуля", все объекты метаданных должны быть объединены в рамках 1 подсистемы.
  3. Конфигурация должна быть универсальной - её функционал должен максимально просто подключаться к любой конфигурации, работающей в режиме управляемого приложения. Подключение, или через сравнение/объединение конфигураций, или через использование расширения.
  4. Функционал конфигурации должен быть максимально, насколько это возможно, простым (если не сказать "примитивным"). При этом, не должно нарушаться требование пунктов 1 и 3.

В общем, поставил себе задачу сделать что-то максимально простое и универсальное.

 

В качестве IDE для разработки использовал 1С:EDT версий 1.16.0.363 и 2020.2.

Конфигуратором при разработке не пользовался.
*к 1С:EDT прилюдно "принюхивался" в своих прошлых публикациях и после этого стал практически беспроблемно его использовать. Всякие "болячки" удалось игнорировать.

Дополнительно, в некоторых случаях, при работе с файлами конфигурации, использовал текстовый редактор Atom.
Используя штатные средства 1С:EDT, выгружал версии в репозиторий на GitHub.

*за время разработки накопилось 86 коммитов. Привычка - вторая натура и все изменения бережно описывал и выгружал в репозиторий. Ниже картинка с частью коммитов. Она здесь, в общем-то, не к месту, но раз уж заскриншотил, то пусть будет)

Ниже привожу процесс разработки и полученные результаты.

Т.к. делал всё на принципах энтузиазма и "любви к процессу", не торопясь реализовывал всё, что приходило в голову и хоть как-то коррелировало с опытом работы и реальными ситуациями, в которых каждая настройка/возможность могла бы найти место. Конечно, с учётом того, чтобы не нарушать пункт 4 постановки задачи.


Готовясь написать эту статью, думал, что удастся описать всё в 2 словах, но не вышло.

 

Часть 1.

В первую очередь - концепция.

Определённое время у меня ушло на то, чтобы подобрать для задачи подходящий "скелет" - минимально необходимый набор объектов, на базе которых всё будет построено.
Это у меня получилось не с первого раза. Только 3-й вариант конфигурации стал основой того, что получилось в итоге.

*Это был 1-ый коммит.

 

Вся система построена на 3 основных объектах:

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

Сценарий

Основным, "несущим" элементом сценария является графическая схема процесса.

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

 

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

 

Свойства элементов схемы

Свойства элемента схемы - шага процесса:

  • Наименование. Краткое наименование, которое отображается на схеме.
  • Подробное описание. Подробная информация о шаге процесса в виде форматированного документа.

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

  • Настройка срока выполнения. Без срока или с указанным сроком и дополнительными параметрами.

Настройки. Состав зависит от вида шага процесса:

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

  • Настройки шага вида Условие: здесь содержится код программной проверки условия.

Условие выполнено, если значение переменной _Результат (тип Булево) = Истина. Или Ложь, если не выполнено.

В остальных случаях генерируется ошибка.

Для упрощения был добавлен список переменных, который заполняется в зависимости от того, какие шаги предшествовали проверке условия. Т.е. в списке доступны параметры уже пройденных шагов.
*Обратиться через точку можно к любому реквизиту задачи: &Действие2.ПометкаУдаления и т.п.

Вместо программного кода можно указать ссылку на справочник Алгоритмы. О нём ниже.
 

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

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

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

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

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

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

*В данном случае элемент Выбор варианта отличается от Условия только количеством вариантов: N вместо 2.

  • Настройки шага вида Обработка: здесь содержится автоматически выполняемый программный код или ссылка на исполняемый алгоритм.

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

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

 

  • Адресация. Адресация доступна только для шага вида Действие.

Доступно 3 вида адресации:

  • 1 исполнитель;
  • любой исполнитель из указанной группы;
  • все исполнители из указанной группы (будет создано столько задач, сколько пользователей относится к указанной роли на момент создания задач по указанному шагу).

Исполнителя можно не указывать вовсе. В этом случае, задача будет доступна всем, у кого есть такие права.
Или можно указать исполнителя позже уже в самой задаче вручную.
Или создать отдельный сценарий, который будет распределять задачи по пользователям. Why not?


Для переадресации используется кнопка в задаче (об этом ниже).
Решил не мелочиться, прикрутил ещё и обработку для групповой переадресации (об этом, тоже, ниже).

Алгоритмы

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

  • Текст (тип Строка). Текст программного кода для выполнения.
  • Условие (тип Булево). Признак того, что программный код используется для проверки условия. Должен содержать код присвоения переменной _Результат булевого значения.

Т.к. синтаксис никак платформой не подсвечивается (*без напильника), прикрутил кнопки экспорта/импорта алгоритмов для работы с ними во внешнем редакторе. Например, в Atom'е. 

 

В общем, получилась вот такая таблица шагов сценария:

Ячейки с гиперссылками открывают показанные выше формы:

А так выглядит Графическая схема + Настройки по шагам на форме объекта справочника "Сценарии":

*Внизу, при активации строки с шагом вида "Выбор варианта", открывается таблица вариантов выбора. Хотя, сейчас пишу и подумал, что 1-ую колонку нижней таблицы можно было бы и убрать.

+Проверка схемы при записи:

 

По графической схеме сценария, вроде бы, это всё.

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

 

Запуск сценариев

Как запускать сценарии?
Первое, что было на поверхности - Запуск вручную.

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

*Всем объектам метаданных добавил префикс бип_ (вольное от "Бизнес-Процессы").

Второй вариант запуска - Автоматический.

Для этого в сценарий было добавлено 3 новых галочки на закладке Запуск:

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

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

Логика такая: возникает событие, система ищет "активный" сценарий с таким типом события для указанного типа объекта с учётом установленного отбора объектов и, если находит такой сценарий, запускает его.

*Фактически, логика может быть немного другой - об этом в конце.

"Запускает" означает, что на основании сценария создаётся новый процесс, в реквизит Объект которого записывается источник события - элемент справочника или документ.
Реквизит Объект необходим "для контекста".

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

Чтобы временно приостановить использование сценария, есть кнопка .

Состояние сценариев отображается в списке:

Запуск сценариев требуется только для сценариев с автоматическим запуском.

  • Второй вариант автоматического запуска - Запуск по расписанию. Для этого было добавлено регламентное задание, которое, зная дату последнего успешного запуска сценария, проверяло необходимость запуска стандартной функцией ТребуетсяВыполнение().

  • 3-ий вариант автоматического запуска - Запуск по произвольному условию. Сценарий будет запущен, если в результате выполнения произвольного программного кода значение переменной _Результат (тип Булево) будет равно Истина.

Здесь, как и при проверке условий, можно указать программный код или алгоритм.

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

Если в массив _ВыходныеДанные добавить несколько объектов, а переменной _РазделятьПоПроцессам присвоить значение Истина, то будет создан не 1 процесс, а несколько процессов - для каждого объекта из массива _ВыходныеДанные.
Типа того:

В общем, получилось 3 варианта автозапуска. Больше в голову не пришло.

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

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

*Чтобы лишний раз не писать эту строку вручную, при установке галочек автозапуска, строка заполняется/обновляется автоматически с оператором ИЛИ.

Допускается использование не только 3 переменных _Событие, _Регламент и _Условие.

При записи сценария строка проверяется на ошибки:

 

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

 

Чтобы как-то тестировать автозапуск, был добавлен Лог.

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

Затем, глядя на строки подобные 3-ей, была добавлена ленивая проверка условий автозапуска.


*Зачем вычислять то, что не требуется? Это и не экологично, в конце концов.

 

 

Сценарии есть. Система умеет их автоматически запускать. Что происходит дальше?

 

Процессы

Когда требуется запустить сценарий, на его основании создаётся Процесс (вручную или автоматически).

Основная форма для работы с процессом - Карта процесса, на которой отображается весь ход выполнения процесса и его история.

Процесс может находиться в следующих состояниях:

  • Создан.
  • В работе.
  • Остановлен.
  • Выполнен.
  • Отменен.

Возможность остановки и отмены процессов задаётся в настройках сценария.

При остановке и отмене обязательно требуется указывать причину.

При остановке, останавливаются все активные задачи, относящиеся к процессу.

При создании, процессу присваивается статус Создан или В работе. Это зависит от настроек сценария.

При завершении процесса, статус Выполнен присваивается автоматически или вручную. Это, тоже, зависит от настроек сценария.

 

Задача

Задача создаётся автоматически, в соответствии со сценарием, или вручную.

Ручная задача может быть создана на основании существующей задачи.

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

Задача может находиться в следующих состояниях (по аналогии с Процессом):

  • Создана.
  • В работе.
  • Остановлена.
  • Выполнена.
  • Отменена.

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

Возможность остановки задачи зависит от вида задачи:

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

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

Для передачи задачи другому исполнителю предусмотрена форма переадресации.

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

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

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

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

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

 

 



 

Сценарии настроены, процессы автоматически запускаются, задачи назначаются, переадресовываются и выполняются.

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

Но, пока, всё это функционирует как отдельная конфигурация.

Надо попробовать прикрутить этот функционал в какую-нибудь типовую конфигурацию.

 

Часть 2.

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

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

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

Это касается и работы с пользователями.

В самой подсистеме нет справочника "Пользователи".

  • Если загрузить файл конфигурации в пустую чистую базу, то выбираемый в качестве Исполнителя (или Автора) пользователь будет иметь строковый тип и будет идентифицироваться по имени пользователя информационной базы.

*здесь я усложнять не стал и оставил это как есть. Тип Строка? Ну ок, пусть будет так.

  • Если подключить подсистему как расширение или добавить в существующую конфигурацию сравнением/объединением, то, при начале работы, система будет пытаться найти параметр сеанса ТекущийПользователь (с большой долей вероятности он будет существовать) и тип Исполнителя будет соответствовать типу этого параметра сеанса. Т.е. дополнительно никакие манипуляции не потребуются. Всё это система умеет понимать сама.

*если же параметр сеанса с таким именем найден не будет, см. предыдущий вариант.

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

Т.к. в сценарий может быть запущен по событию любого справочника и документа (принцип универсальности), то тип источников событий в подписках - СправочникОбъект и ДокументОбъект.

Если при этом, по факту, будет использоваться только 2-3 вида справочника/документа для автозапуска сценариев, то целесообразнее было бы уточнить вручную типы источников событий в подписках.
*Но это дело 10-ое...

 

Как было написано выше, для подключения к другим конфигурациям возможны 2 варианта:

  • Расширение.
  • Объединение с существующей конфигураций.

 

Расширение

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

Часть прикладных объектов платформы (версия 8.3.17 апрель-май 2020) недоступны в расширениях.

На данный момент (то, что касается описываемой системы) это РегламентныеЗадания и Задачи.

*В предыдущих версиях платформы не было констант, подписок на события и т.п.

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

Я, в принципе, так и сделал - уж очень хотелось подключить куда-нибудь своё расширение.

 

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

Поэтому, использовать расширение с типовой конфигурацией на данный момент (май 2020), возможности нет.

Например, в 1С: Управление Торговлей версии 11.4.11.102 от 04.05.20 стоит режим совместимости "Версия 8.3.12".

В общем, расширение - дело будущего)

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

*Расширение делал в Конфигураторе, хотя, в EDT это делается быстрее - можно выделить сразу все объекты и скопировать их из конфигурации в расширение.

 

Объединение с существующей конфигурацией

Второй вариант - Объединение с существующей конфигураций.
 

Для примера я взял демонстрационную базу 1С: Управление Торговлей версии 11.4.11.102.

  • Включил возможность изменения.
  • В окне Сравнение/объединение... с файлом новой конфигурации снял галочку Свойства и нажал Выполнить.
  • В модуле приложения и модуле сеанса в соответствующие обработчики событий добавил по 1 строке:
    • бип_ОбщегоНазначения.ПередНачаломРаботыСистемы()
    • бип_ОбщегоНазначения.ПриНачалеРаботыСистемы()
    • бип_НаСервере.УстановкаПараметровСеанса().
  • В настройках рабочей области начальной странице добавил 3 новых списка: Сценарии, Процессы и Задачи.
  • Обновил конфигурацию.
  • Установил пользователю права.

При первом запуске откроется окно настройки констант новой подсистемы. Больше ничего делать не надо. Всё готово.

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

Создал нового партнера "ООО Альянс". Появился новый процесс.

Карта процесса, после завершения процесса:

 

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

Какой-то запрос. Результат запроса содержит 5 партнеров. Для каждого партнера должен сформироваться отдельный сценарий.

Результат: 5 процессов и 5 задач соответственно:

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

 

Дополнительно

"Автоматика" обеспечивается 2 регламентными заданиями ЗапускСценариев и ОбработкаЗадач.

*Можно было бы и в 1 регламентное задание уместить.

Для дополнительной их проверки произвел ещё пару действий.


В настройках поставил галочку

После этого создал 4 новых партнера

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

Логика следующая: лучше 1 пакет запросов по нескольким объектам, чем несколько пакетов по 1 объекту.

После обработки стека появляется сразу 4 новых задачи.


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

Создал сценарий с отложенным запуском задачи через 15 минут.

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

Отложенные шаги записываются в регистр сведений:

И автоматически запускаются в указанное время (*с учётом периодичности запуска регламентного задания, конечно)

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


Заключительная часть.

 

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

Таким же образом обстояло дело и с самой программой - на стадии вынашивания идеи и начала её реализации казалось, что парой-тройкой "забегов" (*или "набегов" в EDT) удастся получить программку, которая удовлетворит моё любопытство и закроет этот старый гештальт.

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

Когда "требований", которые "надо" было реализовать, стало больше, чем несколько, стал использовать канбан:

Какие-то детали, нюансы и доступные настройки в описании я упустил, т.к. они, в общей картине, особой роли не играют. Иначе статья оказалась бы чуть длиннее.

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

 

Чтобы тестировать функционал, кроме простейших тестовых примеров нарисовал схемку "бинарное сложение" (название, конечно, условное). Суть сценария - 8 раз попросить пользователя ввести попарно биты одного разряда двух двоичных чисел, сложить их и, при завершении процесса, записать сумму в текстовый файл.

Цикл формирования задач по вводу битов выполняется, пока...

На каждой итерации появлялось по 2 задачи.

В каждой из которых требовалось указать бит - 0 (Нет) или 1 (Да).

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

Результат записывался в файл:

Каждый раз, после очередного коммита с доработками, исправлениями и рефакторингом прогонял этот сценарий на одном и том же примере:

  11110011
                 +
  00011010
--------------
100001101

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

Дополнительно к этому, во время неоднократных проверок было очень лениво 16 раз выбирать результат проверки условия из списка Да/Нет и нажимать "Выполнена". Поэтому, забиндил кнопку , а выбор условия сделал простым двойным нажатием на ячейку (для выбора варианта открывается список выбора). Т.е. сам себе улучшал юзабилити, везде, где только чувствовал такую потребность).

 

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

 

Надеюсь, те, кто дочитал до этого места, не пожелают о потраченном на эту статью времени.

Специальные предложения

Вознаграждение за ответ
Показать полностью
Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. tanya_charm 26.05.20 06:04 Сейчас в теме
Дочитал. Круто!
Когда в продакшен?
portwein; AlexK_2012; Evgenij1990; sapervodichka; +4 Ответить
2. akim2040 20 26.05.20 09:41 Сейчас в теме
Заверните. Где и когда купить и забрать?
Dementor; AlexK_2012; Evgenij1990; sapervodichka; +4 Ответить
3. botokash 249 26.05.20 11:33 Сейчас в теме
Очень круто! Сам сейчас создаю подобное, но ваша работа намного полнее, было интересно прочитать.
15. YuriYuriev 30.05.20 06:12 Сейчас в теме
4. botokash 249 26.05.20 11:39 Сейчас в теме
Еще сразу возникает вопрос - можно ли внедрить как подсистему БСП? Встраивается как новый БП внутри БСП?
И да, присоединюсь к вопросу про доступность данной конфигурации.
AlexK_2012; sapervodichka; UniversaLL; +3 Ответить
14. YuriYuriev 30.05.20 06:08 Сейчас в теме
(4) Все объекты конфигурации объединены в 1 подсистему. Можно сравнением/объединением подключить к другой конфигурации. В статье я это делал на примере подключения к УТ 11.4. Порядок подключения к другим конфигурациям был бы такой же.
5. sapervodichka 3461 26.05.20 13:34 Сейчас в теме
Хочу купить ваши акции!
overloader; +1 Ответить
6. roman72 187 26.05.20 15:02 Сейчас в теме
Такую бы функциональность к 1С СППР прикрутить. С учётом, конечно, их понятий процессов, задач и сценариев. Переработать, думаю, сильно придётся, но вот именно отрисовщика бизнес-процессов в СППР не хватает, с обратной связью со справочниками объектыданных. сценарии, процессы, шаги процессов, задачи.
AlexK_2012; sapervodichka; +2 Ответить
7. papami 30 26.05.20 15:21 Сейчас в теме
Работа проделана большая. А на деле сколько бизнес-процессов приходилось настраивать в рамках предприятия?
8. mi1man 341 26.05.20 17:22 Сейчас в теме
прикольно, но наверное изобретаешь новый велосипед) .. поищи на Инфостарте по строке Процессы 3
10. akim2040 20 27.05.20 09:38 Сейчас в теме
(8)
Процессы 3

Как то размыто получается. Можно ссылки на другие публикации? очень интересно что ещё есть подобное.
11. mi1man 341 27.05.20 10:18 Сейчас в теме
12. akim2040 20 27.05.20 10:20 Сейчас в теме
(11) тоже интересная штука, спасибо
16. YuriYuriev 30.05.20 06:13 Сейчас в теме
(8) велосипед велосипеду рознь)
9. Itilive.ru 40 26.05.20 21:31 Сейчас в теме
А что с паралельностью в процессе и задачи с множественным выполнением?
17. YuriYuriev 30.05.20 06:16 Сейчас в теме
(9)
Надеюсь, правильно понял ваш вопрос.

Точки слияния/разделения, пока, лежат в сторонке)
На последнем примере это видно - из 1 шага выходит 2 линии к 2 действиям. Задачи создаются параллельно (одновременно). Процесс находится в режиме ожидания, пока обе ветки не будут выполнены. После чего процесс продолжается.
В таком варианте "множественное" (если я правильно понял ваш вопрос) выполнение 1 задачи не предусмотрено. Если шаг содержит несколько "точек входа", то шаг будет обработан, когда все входные шаги будут выполнены (или пропущены).

Если под "множественым выполнением" вы понимаете что-то другое - повторное прохождение части процесса или настройки групповой адресации действия, то уточните.
19. Itilive.ru 40 01.06.20 10:40 Сейчас в теме
(17)
Под "Множественным" имел ввиду свойство точки действия "Групповая" - Признак групповой точки маршрута бизнес-процесса
Групповая, Group.


Посмотрите файл в вложении такую схему выполнит? Просто в платформе есть ошибка - она всегда ждет завершение задачи от действия4 даже когда по условию эта точка обходится.
Прикрепленные файлы:
20. YuriYuriev 01.06.20 12:28 Сейчас в теме
(19) "Групповая", да, есть. Это настраивается в адресации действия. (Во вложении пример)

По вашему примеру результаты во вложении. 1-ый процесс, когда Условие = Нет. 2-ой процесс - Условие = Да.
Прикрепленные файлы:
13. Yashazz 3267 27.05.20 10:59 Сейчас в теме
Я делал такое и гораздо круче тоже делал, но, скажу честно, у меня бы пороху не хватило так подробно всё расписать и оформить в виде публикации. Т.е. нового ничего, оригинального ничего, но сделано, по крайней мере по прочтении описания, аккуратно, грамотно и вдумчиво. И прекрасно подготовлено для публикации. Мне бы ваше свободное время, автор)
Плюсовать не буду, но факт отличной презентации отмечу.
18. YuriYuriev 30.05.20 06:43 Сейчас в теме
(13) спасибо за оценку публикации.
21. Andrefan 01.06.20 22:14 Сейчас в теме
Отличная работа, впечатлило! Сколько времени потребовалось на реализацию?
Оставьте свое сообщение

См. также

Принципы внедрения и сопровождения учета на базе 1С Промо

Пользователю системы Управление бизнес-процессами (BPM) v8 1cv8.cf Россия Бесплатно (free)

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

19.01.2012    64865    0    stvorl    185    

"БИП: Бизнес-Процессы". Примеры использования. Часть №2

Управление бизнес-процессами (BPM) v8 1cv8.cf УУ Бесплатно (free)

В статье приводится пример настройки бизнес-процесса и демонстрация применения программного кода в режиме "Предприятие" с использованием системы "БИП: Бизнес-Процессы". Все действия выполняются без использования режима Конфигуратор. Примеры приводятся в конфигурации "1С: Управление Торговлей", ред. 11.4 с подключенной подсистемой "БИП: Бизнес-Процессы".

30.06.2020    772    0    YuriYuriev    0    

"БИП: Бизнес-Процессы". Примеры использования. Часть №1

Управление бизнес-процессами (BPM) v8::Бизнес-процессы УУ Бесплатно (free)

В статье приводится несколько примеров настройки бизнес-процессов с использованием системы "БИП: Бизнес-Процессы". Все действия выполняются без использования режима Конфигуратор. Только пользовательский режим. Примеры приводятся в конфигурации "1С: Управление Торговлей", ред. 11.4 с подключенной подсистемой "БИП: Бизнес-Процессы".

26.06.2020    1004    0    YuriYuriev    0    

Что такое RPA? Как и зачем его делать на 1С?

Управление бизнес-процессами (BPM) v8 Бесплатно (free)

В данной публикации я кратко (наверное, ещё раз) расскажу про подход к автоматизации, который принято называть RPA, и продемонстрирую этот подход применительно к 1С. На Infostart event был мой доклад на эту тему, поэтому не буду повторяться - чуть больше углублюсь в технические детали.

05.12.2019    10535    0    comol    94    

Простейший пример создания бизнес-процессов

Практика программирования Управление бизнес-процессами (BPM) v8::Бизнес-процессы 1cv8.cf Бесплатно (free)

Простой пример создания бизнес-процессов в несколько шагов. Может пригодиться при первом знакомстве с ними или для решении задач экзамена 1С:Специалист по платформе.

20.11.2019    12913    0    YPermitin    17    

Опыт внедрения 1С ИТИЛИУМ

Управление бизнес-процессами (BPM) v8 1cv8.cf Россия УУ Бесплатно (free)

Хочу поделиться успешным опытом внедрения 1С ИТИЛИУМ и рассказать об основных моментах: на что стоит обратить внимание при внедрении систем SD или ITSM.

06.06.2019    8890    0    MaximumIT    12    

[История разработки] Терминал путевых листов (АвтоГРАФ 5)

Практика программирования Управление бизнес-процессами (BPM) v8 1cv8.cf Бесплатно (free)

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

30.05.2019    9722    0    rpgshnik    16    

Механизм бизнес-событий на конкретном примере

Управление бизнес-процессами (BPM) Документооборот и делопроизводство Документооборот и делопроизводство v8::Бизнес-процессы ДО Россия УУ Бесплатно (free)

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

18.02.2019    11388    0    soulner    0    

Завязка истории про переход одной дистрибьюторской конторы с УТ 10.3 на УТ 11

Управление бизнес-процессами (BPM) v8 v8::ОУ УТ10 УТ11 Оптовая торговля, дистрибуция, логистика УУ Бесплатно (free)

Шумел камыш, деревья гнулись... Ничто не предвещало беды... Ну или как там обычно начинается завязка истории про переход с УТ 10.3 на УТ 11 :)

14.02.2019    5562    0    1c.pro.fun    24    

Принципы проектирования справочников номенклатуры в 1С: Управление Предприятием 2 (ERP 2.4.6)

Управление бизнес-процессами (BPM) Бухгалтерский учет Пользователю системы v8 ERP2 Россия Бесплатно (free)

Принципы системного подхода к проектированию справочников номенклатуры в 1С: Управление Предприятием 2 (ERP 2.4.6) или как избежать замусоривания.

13.02.2019    22073    0    roman72    28    

Практика применения подсистемы Автозадачи

Управление бизнес-процессами (BPM) Пользователю системы v8 1cv8.cf Россия УУ Бесплатно (free)

На Инфостарте есть публикация о подсистеме Автозадачи (https://infostart.ru/public/656758/). Я решил поделить своим опытом применения этой подсистемы Альфа-авто 5.

29.01.2019    8968    0    AntonSm    4    

Обзор блока адресного хранения в программах 1С: УТ, ERP и КА

Управление бизнес-процессами (BPM) Учет ТМЦ Бухгалтерский учет Учет ТМЦ v8 ERP2 УТ11 КА2 Россия УУ Бесплатно (free)

В статье мы подробно расскажем вам, как реализовано адресное хранение в типовых решениях 1С:Управление торговлей, 1С:ERP и 1С:Комплексная автоматизация.

29.11.2018    23923    0    alis112358    23    

Ограничения и недостатки производственного учёта в 1С: УНФ

Управление бизнес-процессами (BPM) Бухгалтерский учет Производство Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 УНФ УУ Бесплатно (free)

У любого программного продукта (и не только программного, да и не только у продукта) существуют свои сильные и слабые стороны. О многих сильных сторонах 1С: УНФ (Управление нашей фирмой) я писал и снимал обучающие видеоролики. Мне действительно нравится данная программа в силу сочетания функциональности и простоты учёта. Но давайте объективно коснёмся недостатков 1С: УНФ при внедрении на производственных предприятиях. Но сначала про…

30.10.2018    21246    0    Gavrik    24    

Автоматизация для "полевых" сотрудников (тех, кто не работает в офисе)

Управление бизнес-процессами (BPM) Учет рабочего времени Учет рабочего времени v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса УУ Бесплатно (free)

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

24.01.2018    14792    0    siddy    0    

Внутренние бизнес-процессы

Управление бизнес-процессами (BPM) Управление взаимоотношениями с клиентами (СRM) Управление взаимоотношениями с клиентами (СRM) v8::Бизнес-процессы 1cv8.cf УУ Бесплатно (free)

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

20.12.2017    15076    0    siddy    0    

Практический пример автоматизации производства в 1С: УНФ

Пользователю системы Управление бизнес-процессами (BPM) Бухгалтерский учет Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 УНФ УУ Бесплатно (free)

Конфигурация 1C:УНФ обладает явным преимуществом для небольших предприятий по сравнению с другими программными продуктами семейства 1С. Это лёгкость использования с отсутствием изобилия функционала, в котором теряются многие пользователи, которым представлено УТ, КА, не говоря про ERP. Другими словами, ничего лишнего. Это большой плюс, если нет бюрократии и сложных методик в организации.

31.07.2017    32324    0    Gavrik    16    

Внедрение автоматизированной системы управления работами в сервисной компании

Управление бизнес-процессами (BPM) Управление проектом Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8 ERP2 1С:Франчайзи, автоматизация бизнеса Россия УУ Бесплатно (free)

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

29.06.2017    12411    0    Soliton    2    

Управление договорами в 1С:Документооборот

Управление бизнес-процессами (BPM) Документооборот и делопроизводство Пользователю системы Бухгалтерский учет Документооборот и делопроизводство v8 ДО УУ Бесплатно (free)

В 1С:Документооборот в релизах 2.1.7 и 2.1.8 концепция учета договоров продолжила свое развитие (появились стороны договора). Это повлияло и на бизнес-процессы (теперь вместо процесса Утверждение надо пользоваться процессом Подписание для договоров). Рассмотрим основные моменты, на которые надо обратить внимание при внедрении управления договорами в 1С:Документооборот.

24.01.2017    33868    0    vlush78    0    

Проектное внедрение прав доступа в системах 1С

Техническое задание Управление бизнес-процессами (BPM) Управление проектом v8::Права 1cv8.cf Бесплатно (free)

Для крупных предприятий я рекомендую разрабатывать "Техническое задание на права доступа в системе 1С Предприятие 8". Данная работа сопровождается комплексным подходом по аналогии проектного внедрения. Рассмотрим порядок работы, переход от исследования к ТЗ и критерии упрощения документации.

17.01.2017    17453    0    Gavrik    4    

Настройка бесшовной интеграции 1С: ERP 2.0 и 1С: "Документооборот" КОРП. Варианты реализации бизнес-процессов

Управление бизнес-процессами (BPM) Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО ERP2 ИТ-компания Бесплатно (free)

Данная статья поможет настроить интеграцию 1С ERP и 1С "Документооборот" КОРП по технологии web сервисов. Описывается пошаговая настройка программ, а также приведены примеры процесса согласования договоров продажи контрагентам. Рассмотрены различные варианты реализации процесса согласования. Приведены примеры настроек маршрутизации процесса (условные и безусловные). В статье очень много скриншотов, может, кому-то это не понравится, но без этого считаю, что статья была бы не полной, т.к. описание именно "по шагам".

09.08.2016    74467    0    iolko    86    

Переход с УПП на ERP: когда и почему его целесообразно делать

Управление бизнес-процессами (BPM) v8 УПП1 ERP2 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

Выпуск решения 1С:ERP стал новым шагом в развитии продуктов 1С. Можно смело заявлять, что они вышли на новый уровень. Однако, у всех достоинств 1С:ERP есть обратная сторона – ее разрабатывали с нуля, без оглядки на то, как аналогичные функции были сделаны в УПП. Из-за этого компаниям, уже использующим 1С:УПП, не всегда будет легко перейти на 1С:ERP. В данной статье я постараюсь "без купюр" вывести все доводы "За" и "Против" относительно перехода с УПП на ERP. 

04.08.2016    27157    0    Koderline    9    

Как организовать прогнозирование пробега автомобилей и приглашение на техническое обслуживание в Альфа-Авто

Управление бизнес-процессами (BPM) Бухгалтерский учет Управление взаимоотношениями с клиентами (СRM) Управление взаимоотношениями с клиентами (СRM) v8 Автомобили, автосервисы Россия УУ Бесплатно (free)

В данной публикации рассмотрим как на базе типового отраслевого решения Альфа-Авто организовать приглашение клиентов на периодическое техническое обслуживание (далее - "ТО") автомобилей с использованием расчетных данных о прогнозируемом пробеге. Основной идеей статьи является необходимость работы со всей клиентской базой (и их автомобилей) предприятия. Ниже будет описание того как нужно организовать процесс.

24.06.2016    60734    0    miavolas    21    

Кастомизация "на лету"

Управление бизнес-процессами (BPM) v8 Бесплатно (free)

В статье пойдет речь о 14 решениях, построенных на одной архитектуре (таких решений больше, но я выбрал самые интересные). Я сделаю краткий обзор, но постараюсь, конечно, рассказать о каждом инструменте, чтобы было понятно. Все решения, о которых я буду говорить, родились на практике и применены в ходе моей работы IT-директором бурно развивающейся нефтесервисной компании. Некоторые из них были выложены на Инфостарте в открытый доступ и уже немного разошлись по стране, поэтому не исключаю, что кто-то из здесь присутствующих их даже использовал. А для партнеров 1С я зачастую раздаю NFR-версии – я не коммерсант и люблю нести в мир добро.

26.04.2016    38373    0    1c-intelligence    45    

Документооборот: Сложный порядок выполнения в Комплексных процессах, включающий сложные комбинации групп И и ИЛИ

Управление бизнес-процессами (BPM) Документооборот и делопроизводство Документооборот и делопроизводство v8 ДО Бесплатно (free)

Комплексные процессы состоят из под-процессов «этапы». Эти «этапы» могут запускаться после «старта процесса» или выполнения других «этапов». Что мы имеем: Если этап должен выполниться, когда выполнился весь «набор этапов», то выбираем вариант «Стартовать действие после выполнения всех отмеченных ниже действий». Если этап должен выполниться, когда достаточно выполнения одного этапа из «набора этапов», то выбираем «Стартовать действие после выполнения любого из отмеченных ниже действий». По сути первое – это логическое И, а второе – это логическое ИЛИ. Проблема: Комбинация наборов этапов из блоков И и блоков ИЛИ на уровне расстановки галочек (в форме "НастройкаПредшественниковЭтапаКомплексногоПроцесса") не доступна. В статье предлагается способ настройки таких процессов, подразумевающий незначительную доработку 1С:Документооборот КОРП (1 фоновое задание и 1 константа).

09.09.2015    18948    0    kitaevay    5    

Как с помощью навязчивого информирования пользователей добиться максимальной ответственности и исполнительности. Практический опыт

Управление бизнес-процессами (BPM) v8 УПП1 Бесплатно (free)

Про эффективное средство повышения ответственности исполнителей - методику "трех китайских предупреждений".

23.12.2014    17621    0    nimus    29    

График производства по этапам

Управление бизнес-процессами (BPM) Бухгалтерский учет Финансовый учет и бюджетирование (FRP) Производство готовой продукции (работ, услуг) Финансовый учет и бюджетирование (FRP) Производство готовой продукции (работ, услуг) v8 УПП1 ERP2 УУ Бесплатно (free)

Статья является четвертым материалом в серии публикаций компании "Институт типовых решений - Производство" (ИТРП), посвященных модулю производственного планирования в новом решении "1С:ERP Управление предприятием 2.0". В статье рассматриваются этапы формирования графика производства.

05.11.2014    19201    0    itrp2013    2    

Создание пользовательских уведомлений (бизнес-событий) в 1С: Документооборот, редакция 1.3

Управление бизнес-процессами (BPM) Практика программирования v8 ДО Бесплатно (free)

В этой статье я хочу рассказать метод создания собственных-пользовательских уведомлений (бизнес-событий) в конфигурации 1С: Документооборт.

24.07.2014    38532    0    anton_sh    13    

Общие принципы формирования графика производства в новом решении "1С: ERP Управление предприятием 2.0"

Управление бизнес-процессами (BPM) Бухгалтерский учет Финансовый учет и бюджетирование (FRP) Учет рабочего времени Финансовый учет и бюджетирование (FRP) Учет рабочего времени v8 ERP2 УУ Бесплатно (free)

Во второй статье, входящей в серию материалов, посвященных модулю производственного планирования в новом решении "1С:ERP Управление предприятием 2.0", рассматриваются особенности настройки графиков производства, в том числе интервалы планирования, расчет графика производства на верхнем уровне и выполнение графика на нижнем уровне.

21.07.2014    29124    0    itrp2013    2    

Схема интервью для собеседования с кандидатом на должность программиста 1С

Управление бизнес-процессами (BPM) Управление проектом v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

План проведения собеседования, лично использовал раз десять при собеседованиях при работе во франчайзи.

07.12.2011    65627    0    fixin    187    

Создаем удобочитаемую карту маршрута бизнес-процесса

Практика программирования Управление бизнес-процессами (BPM) v8 1cv8.cf Россия Бесплатно (free)

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

28.07.2010    26947    0    galich    7    

Методологии внедрения ERP

Управление бизнес-процессами (BPM) v8 ERP2 Россия Бесплатно (free)

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

19.04.2010    14779    0    SaintSeba    19