Форум Сообщества Аналитиков

Общий раздел => Методологии => MDA => Тема начата: Drakena от 07 Января 2009, 22:39:33

Название: OCL- запросы
Отправлено: Drakena от 07 Января 2009, 22:39:33
Подскажите, как правильно составить OCL-запрос с фильтром по набору.
Пример: Есть коллекция Прайсов. Прайс с атрибутами Товар, Цена, Объем.
Задача: Найти новые позиции товаров в прайсе.

OCL запрос: self.Товар->Difference(Прайс.AllInstances->select(владелец=self.владелец)->
At('+IntToStr(BHLPrice.CurentIndex)+').Tовар

Здесь получаю набор с одним атрибутом Товар как разница между текущим прайсом и предыдущим. А вот как сделать фильтр в прайсе по этому набору?

Название: Re: OCL- запросы
Отправлено: yumata от 09 Января 2009, 23:44:03
Есть две возможности управлять OCL-запросами:
1. Формировать его программно, вставляя значения для выборки.
2. Использовать OCL-переменные, что гораздо удобнее, так как значения переменных можно формировать динамически.
В Вашем конкретном случае можно добавить еще один select для фильтрации.