21.06.2012, 10:26 | #1 |
MCTS
|
Как наложить фильтр внутри View?
Вот есть вьюшка из приджойненных таблиц:
InventTable InventSum Записи группируются по ItemId Выводится сумма по AvailablePhys Проблема в том, что мне в коде нужно добавить фильтр на одно из строковых полей InventSum, а для этого приходится добавлять группировку по этому полю во вьюшку (чтобы вывести это поле как одно из полей вьюшки), но мне не нужна эта группировка, а нужен фильтр внутри вьюшки, внутри InventSum. Потому что в таком случае, на гриде записи начинают биться по этой группировке. Как тут быть вообще? И еще, подскажите, пожалуйста, что означает св-во Relations во вложенном датасорсе (InventSum) внутри вьюшки? |
|
21.06.2012, 10:42 | #2 |
Ищущий знания...
|
Во view в datasource есть ranges туда можно добавить поле, и в его свойствах задать значение (свойсво Value).
Это не работает?
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
21.06.2012, 10:45 | #3 |
Участник
|
- Relations - это по каким полям InventSum привязан к InventTable. Если он у Вас пустой - значит связи нет. Поставьте у датасорса InventSum свойство relations=true.
- Нельзя динамически навесить ограничение на поле InventSum. Единственный способ - это править в коде объект АОТ. НЕ ВЗДУМАЙТЕ ТАК ДЕЛАТЬ! - Раз у Вас View сразу суммирует по AvailablePhys, то просто добавьте в View группировку по нужному вам полю, в запросе на форме сделайте ограничение на это поле, а затем ещё одно суммирование по AvailablePhys (но это уже будет поле View, а не InventSum'а). А чего хотите добиться? Действительно ли здесь нужен View? |
|
|
За это сообщение автора поблагодарили: Eldar9x (3), S.Kuskov (2). |
21.06.2012, 11:14 | #4 |
Участник
|
Как я понял проблема в том, что сделать это нужно в runTime, т.е. значение Value заранее не известно. Т.е. параметризованное представление. Но, на сколько я знаю, такие View аксапта, да и сам MS SQL Server не поддерживает.
|
|
21.06.2012, 11:59 | #5 |
MCTS
|
Цитата:
Сообщение от Dark Light
- Раз у Вас View сразу суммирует по AvailablePhys, то просто добавьте в View группировку по нужному вам полю, в запросе на форме сделайте ограничение на это поле, а затем ещё одно суммирование по AvailablePhys (но это уже будет поле View, а не InventSum'а).
А чего хотите добиться? Действительно ли здесь нужен View? Цитата:
Фильтрация на уровне источника данных не разрешена для межфирменного запроса.
Можно поподробнее о повторном суммировании по AvailablePhys? Вот, допустим, есть грид. Так как на вьюшке стоит группировка по складам, то строчки дробятся в разрезе складов. Каким образом их схлопнуть на этом гриде? |
|
21.06.2012, 12:23 | #6 |
Участник
|
А собственно также, как если бы это была бы не вьюшка, а обыкновенная таблица
|
|
21.06.2012, 14:27 | #7 |
Участник
|
Цитата:
P.S.: думаю, если немного напрячься, то можно написать джоб, который автоматически делает AllowCrossCompany View для любой таблицы и обновляет его, когда таблица меняется. Последний раз редактировалось Dark Light; 21.06.2012 в 14:29. |
|