Библиотека для работы с бизнес процессами в OScript
Короткое название
workflow
Данная библиотека предназначена для формирования простых и условых бизнес-процессов выполнения методов в OScript.
Реализует основные классы:
БизнесПроцесс
- основной класс работы
ЗадачаБизнесПроцесса
- основная задача бизнес процесса
УсловиеБизнесПроцесса
- задача с условием бизнес процесса, выполняет в зависимости от условия разные ветки бизнес процесса (по факту вложенные бизнес процессы)
Для установки необходимо:
opm install -f <ПутьКФайлу>
или установить с хаба пакетов
opm install workflow
БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураБезПараметров");
БизнесПроцесс.ДобавитьЗадачу("Задача2", ЭтотОбъект, "ПроцедураБезПараметров");
БизнесПроцесс.ДобавитьЗадачу("Задача3", ЭтотОбъект, "ПроцедураБезПараметров");
БизнесПроцесс.Запустить();
Ожидаем.Что(БизнесПроцесс.Завершен(), "Бизнес процесс должен быть завершен").ЕстьИстина();
МассивПараметровЗадачи = Новый Массив();
МассивПараметровЗадачи.Добавить("Параметр1ИзМассива");
КонтекстВыполнения = БизнесПроцессы.НовыйКонтекстВыполнения();
БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураПомещенияВКонтекстЗначения", МассивПараметровЗадачи, КонтекстВыполнения);
БизнесПроцесс.ДобавитьЗадачу("Задача2", ЭтотОбъект, "ПроцедураПолученияИзКонтекстаЗначения", МассивПараметровЗадачи, КонтекстВыполнения);
БизнесПроцесс.Запустить();
МассивПараметровЗадачи = Новый Массив();
МассивПараметровЗадачи.Добавить(Истина);
БизнесПроцесс = Новый БизнесПроцесс("Тестовый бизнес процесс");
КонтекстБизнесПроцесса = БизнесПроцесс.ПолучитьКонтекст();
БизнесПроцесс.ДобавитьЗадачу("Задача1", ЭтотОбъект, "ПроцедураСКонтекстом", МассивПараметровЗадачи, КонтекстБизнесПроцесса);
Условие1 = БизнесПроцесс.НовоеУсловие("Условие1");
МассивПараметровЗадачи = Новый Массив();
МассивПараметровЗадачи.Добавить(Ложь);
Условие1.ДляЗначения(Истина).ДобавитьЗадачу("ЗадачаИстины", ЭтотОбъект, "ПроцедураСКонтекстом", МассивПараметровЗадачи, КонтекстБизнесПроцесса);
Условие1.ПоУмолчанию().ДобавитьЗадачу("ЗадачаПоУмолчанию", ЭтотОбъект, "ПроцедураСКонтекстомПоУмолчанию", МассивПараметровЗадачи, КонтекстБизнесПроцесса);
БизнесПроцесс.Запустить();
Документация публичного интерфейса (в разработке)
Доработка проводится по git-flow. Жду ваших PR.
Смотри файл LICENSE
.