Показать сообщение отдельно
Старый 24.10.2007, 12:20   #1  
SeregaK is offline
SeregaK
Участник
 
76 / 21 (1) +++
Регистрация: 10.11.2006
Предварительная фильтрация в отчётах (CRMAF)
Ситуация. В отчёте необходимо использовать два набора данных для заполнения двух соответствующих таблиц. Оба набора данных получаются Select-ом по одной и той же вьюхе. Необходимо фильтровать данные этих вьюх используя префикс CRMAF.
Вопрос. Пусть выборку делаем по таблице FilteredAccount, тогда если для заполнения первого набора данных использовать запрос Select * from FilteredAccount as CRMAF_FilteredAccount Where «условия для первого набора данных», а для второго использовать запрос Select * from FilteredAccount as CRMAF_FilteredAccount Where «условия для второго набора данных». Crm даст один фильтр по объекту Account, но этот фильтр отработает только на одном из селектов. А если использовать разные имена alias-ов, т.е в первом селекте CRMAF_FilteredAccount1 и во втором CRMAF_FilteredAccount2.
То CRM даст два фильтра по объекту Account, каждый из которых отработает на своём селекте. Почему в варианте с одним фильтром (т.е. с одиноковыми alias-ами)фильтр отрабатывает только на одном из запросов и как сделать так, чтобы он отрабатывал на всех?
Замечание. Такая же проблема возникает в отчёте с одним селектом, если в этом селекте необходимо несколько раз обращаться за получением одних и тех же записей с использованием предварительной фильтрации, т.е. если используется оператор UNION или подзапрос.