Comments 4
А нет ли в планах "завезти на IsFusion" BPMN?
Пока в ближайших планах, к сожалению, нет. Я имею ввиду именно рисование мышкой и визуализацию схемы.
На практике же, на lsFusion успешно реализовывались фактически задачи BPM (прохождение разных документах по статусам и так далее). Просто это делается на уровне декларативного кода. Обычно создается класс "Статус документа" - DocStatus, которые вводятся или пользователем, или статические объекты. А дальше есть несколько вариантов.
Можно просто создать первичное свойство status = DATA DocStatus (Doc), и затем менять его либо через события, либо конкретными действиями (кнопками), которые показывать в зависимости от текущего статуса.
Второй вариант - это создать абстрактное свойство status = ABSTRACT CASE DocStatus (Doc), которое затем вычислять в зависимости от каких-то условий. То есть не документ переходит в статус, а статус меняется при выполнении условий. Типа status (Doc d) += WHEN signatureCount(d) >= 2 THEN DocStatus.done; Это более гибкая схема, которая фактически позволяет делать ветвление статусов с параллельным выполнением. Помню, где-то делали, что когда проголосовали по заявке X экспертов, то статус меняется на какой-то другой.
Плюс местами использовалась логика задач. То есть делается абстрактный класс Task, а потом через агрегации AGGR создавать новые задачи на определенных статусах / условиях.
То есть это все позволяет делать гибкие процессы, где статусы меняется по сложным схемам. И все это делается в несколько строк кода.
Я прежде всего про то, чтобы была возможность загрузить готовый xml-файл BPMN2.0 в lsFusion и уже на платформе обвязать его узлы декларативно и использовать в рабочих процессах.
Да, спасибо за идею. В принципе, это будет действительно удобно. Когда появиться возможность постараемся сделать.
Правда пока более перспективным выглядит движение в сторону AI. Поскольку у нас плоский высокоуровневый код, то можно попробовать научить модель писать код. В принципе, уже сейчас, если попросить последний ChatGPT что-то написать на lsFusion, то он уже что-то разумное делает. Правда конечно есть проблемы.
Релиз lsFusion 5.0 — новой версии декларативной платформы разработки