Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M |
![]() ![]() |
AlexShiryaev Member Откуда: Сообщений: 66 |
Добрый день! Подскажите, пожалуйста, а возможно ли в Ensemble вызвать бизнес-правило из бизнес-операции? Или только из бизнес-процесса? Если возможно, то подскажите как? Или ткните в документацию. Сам не нашел что-то. Спасибо. |
24 май 16, 12:03 [19211398] Ответить | Цитировать Сообщить модератору |
DAiMor Member Откуда: Volzhsky -> Moscow -> CZ, Brno -> Moscow Сообщений: 2633 |
|
||
24 май 16, 12:06 [19211416] Ответить | Цитировать Сообщить модератору |
AlexShiryaev Member Откуда: Сообщений: 66 |
Ну и хотелось бы не зашивать справочник соответствий в код, а использовать правила. Дело еще в том, что результат вывода формируется в бизнес-операции путем обращения к SQL, а затем вызывается вторая бизнес операция для сохранения результатов в файл XML через определенный адаптер. Бизнесс-процесс не используется. Хотелось бы минимальными затратами времени и сил внести нужные изменения в существующую продукцию. |
||
24 май 16, 12:15 [19211503] Ответить | Цитировать Сообщить модератору |
DAiMor Member Откуда: Volzhsky -> Moscow -> CZ, Brno -> Moscow Сообщений: 2633 |
что-то вы описали только про безнес операции вам все же нужно использовать бизнес-процесс в таком случае, более того бизнес-процессы могут быть вызваны несколько последовательно при необходимости дополнительных преобразований. так же и бизнес операция может отправить данные в бизнес процесс, где после преобразований на основании правил может отправиться уже в другую бизнес-операцию |
24 май 16, 12:26 [19211599] Ответить | Цитировать Сообщить модератору |
AlexShiryaev Member Откуда: Сообщений: 66 |
Не знал. Спасибо. Попробую. |
||
24 май 16, 12:32 [19211649] Ответить | Цитировать Сообщить модератору |
EvLaUy Member Откуда: Москва Сообщений: 2170 |
Коллеги, или путаница в терминологии, или я отстал от жизни. Насколько я помню технологический цикл Ensemble, то он такой: входной адаптер - бизнес-служба - бизнес-процесс - бизнес-операция - выходной адаптер. Что есть "бизнес-правило" и как его можно "вызвать"? Эта сущность наравне с перечисленными формализована в документации и присутствует в Инспекторе сущностей Ensemble? |
24 май 16, 21:37 [19214825] Ответить | Цитировать Сообщить модератору |
DAiMor Member Откуда: Volzhsky -> Moscow -> CZ, Brno -> Moscow Сообщений: 2633 |
EvLaUy, да цикл, примерно такой, все верно, и любой элемент необязательный, бизнес правила, не могу сказать когда появились (сам не работаю активно с Ensemble), но они позволяют управлять тем какая бизнес операция будет выполнена или другой процесс, бизнес-правила позволяют анализировать входящие данные например по типу данных. По сути это часть процесса маршрутизации вот пример настроенного правила из документации ![]() Документация |
24 май 16, 22:40 [19215126] Ответить | Цитировать Сообщить модератору |
EvLaUy Member Откуда: Москва Сообщений: 2170 |
Спасибо, понял. Значит, отстал от жизни, давно уже не делал проектов в Ensemble. Прогресс не остановить. Получается, сумели уже и этот момент формализовать, молодцы. |
25 май 16, 10:03 [19216147] Ответить | Цитировать Сообщить модератору |
AlexShiryaev Member Откуда: Сообщений: 66 |
Добрый день! Не буду плодить темы. Спрошу здесь. Есть класс
Class Class1 Extends %SerialObject
Property1
Property2
и т.д. (не столь важно). Есть второй класс Class Class2 Extends %SerialObject Property1 Property2 as list of Class1 Далее создаю бизнес-правило с ContextClass=Class1. В настройках правила вижу нужные Property и могу с ними работать. Все нормально. Далее, создаю вызов правила в бизнес-процессе. В поле RuleContext указываю Class2.Property2.GetAt(i). Компилируется все нормально, но при вызове бизнес-процесса получаю ошибку
Что в принципе и понятно, в классе Class1 нет такого Property как %Process. Как избежать ошибки? Или при создании правила, его контекст должен использовать только контекст бизнес-процесса? (пробовал ставить BusinessProcessBPL.Context, все работает, но не удобно обращаться к вложенным классам в контексте бизнес-процесса). PS
|
||||
16 июн 16, 14:00 [19300243] Ответить | Цитировать Сообщить модератору |
krvsa Member Откуда: г Волжский Сообщений: 13116 |
Писали уже не раз - не используй "составные" поля. |
||
16 июн 16, 16:51 [19301298] Ответить | Цитировать Сообщить модератору |
AlexShiryaev Member Откуда: Сообщений: 66 |
krvsa, Не совсем понял, что значит "составные" поля? |
16 июн 16, 17:13 [19301417] Ответить | Цитировать Сообщить модератору |
krvsa Member Откуда: г Волжский Сообщений: 13116 |
Поля типа: - массив - коллекция |
||
17 июн 16, 08:24 [19303378] Ответить | Цитировать Сообщить модератору |
AlexShiryaev Member Откуда: Сообщений: 66 |
krvsa, И все равно не понятно, как это поможет решить проблему. Мне нужно, чтобы в качестве контекста правила выступал не класс контекста бизнес-процесса, а другой класс (свой). Настройка правила это позволяет, проблем нет, но вот код, который автоматически генерится при компиляции бизнес-процесса не работает с данным классом. |
17 июн 16, 09:48 [19303628] Ответить | Цитировать Сообщить модератору |
AlexShiryaev Member Откуда: Сообщений: 66 |
Вобщем, пришлось создать Class3 как Extends (Class1, Ens.BP.Context) С ним все работает. Вот только копировать значения всех полей из экземпляра в экземпляр муторно в BPL бизнес-процессе... Поискал и нашел решение (не знал такого раньше):
|
||
17 июн 16, 15:23 [19305601] Ответить | Цитировать Сообщить модератору |
krvsa Member Откуда: г Волжский Сообщений: 13116 |
Для меня это все звучит как
Т.ч. извини. ![]() |
||||
20 июн 16, 09:03 [19312783] Ответить | Цитировать Сообщить модератору |
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M | ![]() |