Сложный фильтр и группировка

Добрый день!

Надо создать сложный фильтр такого типа:
Field1 == 'XX' AND ((Field2 == 'YY' AND Field3 == 'ZZ') OR (Field4 == 'QQ' AND Field5 == 'RR'))

Попытка построить вот такой фильтр, как на скриншоте, ничего не даёт.
Подскажите, пожалуйста, в чем здесь "фишка"?

Нравится

6 комментариев

Есть возможность запрофайлить запрос в момент нажатия на кнопку "Применить"? Какой запрос идет в базу? Попробовал на версии 3.5.2.19 - всё ок:

WHERE((([tbl_Account].[PrimaryContactID] IN (@P1) AND
	(([tbl_Account].[AccountTypeID] IN (@P2) AND
	((LEN(LTRIM([tbl_Account].[Communication1])) <> 0) AND
	NOT [tbl_Account].[Communication1] IS NULL)) OR
	([tbl_Account].[AccountTypeID] IN (@P3) AND
	((LEN(LTRIM([tbl_Account].[Communication1])) <> 0) AND
	NOT [tbl_Account].[Communication1] IS NULL))))))

У нас версия 3.3.2.309.
Запрофайлил: запрос в БД идёт с неправильной группировкой.

WHERE((([tbl_Cashflow].[ManagerID] IN (@P1) AND
(([tbl_Cashflow].[StatusID] IN (@P2) AND
(((([tbl_Cashflow].[ClauseID] IN (@P3)))) OR
[tbl_Cashflow].[StatusID] IN (@P4)) AND
([tbl_Cashflow].[ClauseID] IN (@P5)))))))

Видимо, проблема исходников. Кто-нибудь может проверить на такой же версии, как у нас?

Завтра на уровне технической поддержки проверим и сообщим Вам результат.

Здравствуйте!

Проверили на версии 3.3.2.

Результат аналогичен Вашему.

В более поздних версиях этой проблемы уже нет.

Завтра на протяжении дня сообщу Вам возможные решения данного вопроса.

"Безродный Андрей" написал:

Здравствуйте!

Проверили на версии 3.3.2.

Результат аналогичен Вашему.

В более поздних версиях этой проблемы уже нет.

Завтра на протяжении дня сообщу Вам возможные решения данного вопроса.

Спасибо, ждём.

Добрый день!

Уточнили информацию.

Действительно, данная ошибка имела место быть на всех версиях 3.3.2 и была исправлена в версии 3.4.

Изменения исключительно "ядровые", практически полностью переписана логика фильтрации на уровне ядра приложения.

Соответственно единственный вариант решения проблемы - это обновление на новую версию.

Для версии 3.3.2 возможно выполнить лайт-переход на версию 3.4.1, но при этом Вам необходимы лицензии на продукт версии 3.4.1, согласовать добавление которых Вы можете с Вашим ответственным менеджером.

Показать все комментарии