24.10.2007, 12:20 | #1 |
Участник
|
Предварительная фильтрация в отчётах (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 или подзапрос. |
|