Схему бизнес-процесса обычно создают во время обследования, согласования требований или подготовки ТЗ. Затем "жизнь" вносит коррективы в базы 1С: появляются новые документы, статусы, проверки и алгоритмы. А схема остаётся во внешней "он-лайн рисовалке" или папке «Регламенты», и перед следующей доработкой аналитик уже не уверен, соответствует ли она реальной работе. Исходя из своего опыта и для оптимизации работы я разработал отдельное расширение «Схемопоинт. BPMN внутри 1C» — рабочий инструмент для пилотного применения, позволяющий создавать, импортировать и хранить BPMN-схемы непосредственно в 1С. Канонические элементы BPMN можно связывать с объектами конфигурации, чтобы перед доработкой видеть не только последовательность действий, но и её связь с учётной системой. Где теряется актуальный процессОбычно информация о процессе распределена между несколькими местами:
Каждый источник по отдельности может быть актуальным. Но вместе они не дают быстрого ответа на два вопроса: как процесс работает сейчас и какие объекты 1С участвуют в его выполнении. Поэтому при подготовке новой доработки Аналитик сначала ищет схему, сверяет её актуальность с информационной системой и просит пользователей ещё раз объяснить фактический порядок работы. В результате файлам со схемами перестают доверять, а оценить влияние будущих доработок на все шаги процесса при подготовке ТЗ становится сложно. Кейс: интернет-заказы и невидимое правило приоритетаНа одном из моих проектов, по регламенту менеджер интернет-магазина резервировал товар, а склад должен был обрабатывать заказ на общих основаниях. Фактически между менеджерами и складом существовал отдельный "скрытый" чат: через него менеджеры просили ускорить конкретные отгрузки. Неформальное правило приоритезации отсутствовало в сохраненной схеме и первоначально не попало в постановку на доработку складского учёта. После обнаружения чата задача изменилась: вместо ручного «проталкивания» заказов понадобился формальный механизм приоритизации отгрузок в самой базе. Схема правильно показывала основные шаги, но не отражала появившееся неформальное правило, существенно влиявшее на автоматизацию процесса. Этот случай привёл меня к практическому вопросу: можно ли сократить "расстояние" между схемой процесса и системой, в которой этот процесс фактически выполняется? Почему общей папки недостаточноПорядок в реестрах процессов, правила именования файлов и назначенный ответственный помогают найти нужную схему. Но связь между ней и реализацией в 1С всё равно приходится поддерживать вручную и отдельно прояснять:
Моя давнишняя идея состояла в том, что саму схему процесса удобнее создавать и хранить в основной учётной системе. Тогда перед доработкой аналитик открывает процесс там же, где находятся связанные с ним документы и справочники. Само хранение внутри 1С не делает схему автоматически актуальной. Изменения процесса по-прежнему должен фиксировать аналитик. Но ему уже не нужно искать исходный файл в сторонних хранилищах и заново вспоминать о связях с метаданными системы. Как BPMN внутри 1С выглядит для аналитикаВ расширении «Схемопоинт» процесс становится отдельным элементом справочника внутри информационной базы, что логично. Аналитик может:
Импорт позволяет не начинать работу с пустого холста. Если схема уже создана в другом редакторе, пользователь пересохраняет файл в XML BPMN, загружает его в «Схемопоинт» и сначала проверяет отображение. После этого процесс можно сохранить и дополнить связями с объектами конкретной конфигурации. Например, задачу «Создать заказ поставщику» можно связать с соответствующим документом, событие — с объектом, фиксирующим результат операции, а шаг обработки данных — с нужным отчетом или обработкой. Что происходит внутри расширенияИнженерной основой редактора стала открытая библиотека bpmn-js. Она поддерживает канонический формат BPMN и предоставляет готовые механизмы отображения и редактирования схем. Взаимодействие компонентов построено следующим образом:
При импорте/загрузке используется тот же механизм: 1С читает выбранный BPMN-файл и передаёт его содержимое HTML-редактору. После визуальной проверки схема сохраняется как новый процесс. [Схема 1. Взаимодействие 1С-клиента, HTML-документа, JavaScript и хранилища процессов] Скрипты, стили и библиотека bpmn-js находятся внутри расширения. JS дополнен несколькими скрытыми служебными полями и кнопками. Во время работы редактор не обращается к внешним сайтам и не требует подключения к интернету. Привязки элементов BPMN к метаданным сохраняются средствами 1С отдельно от графического представления процесса. Связывать можно задачи, события, объекты данных, подпроцессы. Для каждого элемента задаётся одна основная связь с объектом конфигурации. Такое разделение оставляет саму схему в стандартном формате BPMN XML, а относящуюся к конкретной информационной базе информацию хранит на стороне 1С. Что уже работаетВ текущей реализации можно:
Расширение работает в Тонком клиенте, не требует изменения основной конфигурации и не зависит от Библиотеки стандартных подсистем. Работа проверялась на «Управлении торговлей» и «Бухгалтерии предприятия» на платформе 8.3.27. Проект продолжает развиваться. Итог: сократить разрыв между схемой и системойУстаревшая схема — это не проблема выбранного редактора. Это следствие разрыва между описанием процесса и системой, в которой он реализован. Чем дольше схема существует отдельно от 1С, тем больше времени перед следующей доработкой требуется на восстановление контекста. Хранение BPMN внутри 1С не гарантирует автоматическую актуальность процесса. Но оно даёт аналитику понятную исходную точку: открыть схему, проверить ключевые шаги, увидеть связанные объекты и обсуждать с пользователями конкретное изменение, а не восстанавливать весь процесс заново. Для пилотной проверки не нужно переносить все регламенты компании. Достаточно взять один регулярно изменяющийся процесс, загрузить его схему в разработанное расширение, связать ключевые шагов с объектами конфигурации и использовать перед следующей постановкой задачи. Главный критерий проверки: стало ли проще работать со схемами, проще понять, что именно меняется в процессе и какие объекты 1С затронет будущая доработка? Исходный код открыт: расширение можно использовать, изменять и распространять с указанием автора. Если проверите этот подход на своём процессе, напишите в комментариях: помогло ли хранение схемы внутри 1С быстрее готовить доработки и упростило ли работу? |