powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [Ensemble] Business rules.
15 сообщений из 15, страница 1 из 1
[Ensemble] Business rules.
    #39242057
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Подскажите, пожалуйста, а возможно ли в Ensemble вызвать бизнес-правило из бизнес-операции? Или только из бизнес-процесса?
Если возможно, то подскажите как? Или ткните в документацию. Сам не нашел что-то.
Спасибо.
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39242063
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexShiryaevДобрый день!

Подскажите, пожалуйста, а возможно ли в Ensemble вызвать бизнес-правило из бизнес-операции? Или только из бизнес-процесса?
Если возможно, то подскажите как? Или ткните в документацию. Сам не нашел что-то.
Спасибо.А что вы хотите этим добиться ?
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39242074
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorА что вы хотите этим добиться ?Грубо говоря, есть список "замены". Т.е. значение определенного поля при определенных условиях нужно менять.
Ну и хотелось бы не зашивать справочник соответствий в код, а использовать правила.
Дело еще в том, что результат вывода формируется в бизнес-операции путем обращения к SQL, а затем вызывается вторая бизнес операция для сохранения результатов в файл XML через определенный адаптер. Бизнесс-процесс не используется.
Хотелось бы минимальными затратами времени и сил внести нужные изменения в существующую продукцию.
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39242092
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то вы описали только про безнес операции

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

так же и бизнес операция может отправить данные в бизнес процесс, где после преобразований на основании правил может отправиться уже в другую бизнес-операцию
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39242103
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
так же и бизнес операция может отправить данные в бизнес процесс

Не знал. Спасибо. Попробую.
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39242735
EvLaUy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, или путаница в терминологии, или я отстал от жизни. Насколько я помню технологический цикл Ensemble, то он такой: входной адаптер - бизнес-служба - бизнес-процесс - бизнес-операция - выходной адаптер. Что есть "бизнес-правило" и как его можно "вызвать"? Эта сущность наравне с перечисленными формализована в документации и присутствует в Инспекторе сущностей Ensemble?
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39242752
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvLaUy,

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

Документация
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39242903
EvLaUy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, понял. Значит, отстал от жизни, давно уже не делал проектов в Ensemble. Прогресс не остановить. Получается, сумели уже и этот момент формализовать, молодцы.
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39257105
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Не буду плодить темы. Спрошу здесь.
Есть класс
Код: vbnet
1.
2.
3.
Class Class1 Extends %SerialObject
Property1
Property2


и т.д. (не столь важно).
Есть второй класс
Код: vbnet
1.
2.
3.
Class Class2 Extends %SerialObject
Property1
Property2 as list of Class1



Далее создаю бизнес-правило с ContextClass=Class1. В настройках правила вижу нужные Property и могу с ними работать. Все нормально.
Далее, создаю вызов правила в бизнес-процессе. В поле RuleContext указываю Class2.Property2.GetAt(i). Компилируется все нормально, но при вызове бизнес-процесса получаю ошибку
<PROPERTY DOES NOT EXIST>zS10+2^BusinessProcessBPL.Thread1.1 *%Process,Class1

Что в принципе и понятно, в классе Class1 нет такого Property как %Process.
Как избежать ошибки? Или при создании правила, его контекст должен использовать только контекст бизнес-процесса? (пробовал ставить BusinessProcessBPL.Context, все работает, но не удобно обращаться к вложенным классам в контексте бизнес-процесса).

PS
Cache for Windows (x86-64) 2010.2.7 (Build 1004_0_11142U) Wed Dec 21 2011 15:29:56 EST
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39257262
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexShiryaevКак избежать ошибки?
Писали уже не раз - не используй "составные" поля.
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39257276
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

Не совсем понял, что значит "составные" поля?
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39257489
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexShiryaevчто значит "составные" поля?
Поля типа:
- массив
- коллекция
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39257544
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

И все равно не понятно, как это поможет решить проблему. Мне нужно, чтобы в качестве контекста правила выступал не класс контекста бизнес-процесса, а другой класс (свой). Настройка правила это позволяет, проблем нет, но вот код, который автоматически генерится при компиляции бизнес-процесса не работает с данным классом.
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39257925
AlexShiryaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем, пришлось создать Class3 как Extends (Class1, Ens.BP.Context)
С ним все работает. Вот только копировать значения всех полей из экземпляра в экземпляр муторно в BPL бизнес-процессе...
Поискал и нашел решение (не знал такого раньше):
Код: plaintext
1.
2.
3.
4.
 set cd=##class(%Dictionary.ClassDefinition).%OpenId("Class1")
 for iii=1:1:cd.Properties.Count()
 {
   set $PROPERTY(context.Class3,cd.Properties.GetAt(iii).Name)=$PROPERTY(context.Class1,cd.Properties.GetAt(iii).Name)
 }
...
Рейтинг: 0 / 0
[Ensemble] Business rules.
    #39258648
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexShiryaevМне нужно, чтобы в качестве контекста правила выступал не класс контекста бизнес-процесса, а другой класс (свой). Настройка правила это позволяет, проблем нет, но вот код, который автоматически генерится при компиляции бизнес-процесса не работает с данным классом.
Для меня это все звучит как
"AlexShiryaev"Бала блабла, блабла, блабла, блабла, блабла, блабла, блабла, блабла, блабла ...
Т.ч. извини.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [Ensemble] Business rules.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]