Добрый день!
Надо создать сложный фильтр такого типа:
Field1 == 'XX' AND ((Field2 == 'YY' AND Field3 == 'ZZ') OR (Field4 == 'QQ' AND Field5 == 'RR'))
Попытка построить вот такой фильтр, как на скриншоте, ничего не даёт.
Подскажите, пожалуйста, в чем здесь "фишка"?
Нравится
Есть возможность запрофайлить запрос в момент нажатия на кнопку "Применить"? Какой запрос идет в базу? Попробовал на версии 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.4.
Изменения исключительно "ядровые", практически полностью переписана логика фильтрации на уровне ядра приложения.
Соответственно единственный вариант решения проблемы - это обновление на новую версию.
Для версии 3.3.2 возможно выполнить лайт-переход на версию 3.4.1, но при этом Вам необходимы лицензии на продукт версии 3.4.1, согласовать добавление которых Вы можете с Вашим ответственным менеджером.