aka5382
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Прошу прощения, если решение присутствует ранее, не было времени читать все страницы данной темы, и в интернете ничего не нашел. Итак, для тех кто использует SDP 7.6.0 и испытывает проблемы с фильтрами заявок привожу решение, которое у меня отработало. Как писали ранее имеется проблема с логическим "и" в критериях выбора заявок. 1. Создаем новый фильтр. Я делал выборку по специалистам и статусу заявок, если точнее, то критерии были такие Специалист==Не совпадает с==<список специалистов> и Статус==Не совпадает с==Closed ну и выборка должна соответствовать всем указанным критериям, т.е. "AND". 2. Цепляемся к базе (у меня MS SQL). Интерес представляют след. таблицы: CustomFilter_Details - Здесь пробивается ID соответствующего фильтра. CustomFilter_SQL - здесь параметр QUERYID, соответствующий фильтру. CustomFilter_CritCols - здесь операнды, участвующие в составлении выражения на верхнем уровне - отдельные критерии в фильтре. В столбце - MATCH_TYPE - операция строковым значением. До обновления они писались " and" и " or" (обратите внимание на пробел перед and и or, это не опечатка!!!), после обновления стало "и" и "или". Кроме того, после обновления операция указывается и для первого операнда, до только начиная со второго. Не знаю важно ли это, но сделал как было до обновления. RelationalCriterial - Здесь все операнды расчленены на более мелкие и пронумерованы см. столбец RELATIONALCRITERIAID. Criteria - самая важная таблица. Здесь собственно и прописано само логическое выражение, в котором имеется ошибка - вместо AND-а на верхнем уровне стоит не "&", а "|". Меняем его. (Надеюсь Вы сами поймете, что нужно поменять - обычное логическое выражение - операнды - цифры - соответствуют номерам из пред. таблицы). После всех этих манипуляций создаем еще один временный фильтр и ... наш исправленный фильтр начинает работать. После этого времянку можно удалить. PS: Прошу прощения за сбивчивое и не слишком подробное объяснение. Метод хоть и не удобный, но когда фильтры нужно править изредка - вполне сойдет. В решении помог элемент случайности, который был замечен (тот самый временный фильтр в конце инструкции). Знаю, можно было копнуть глубже и отыскать причину проблемы, но нет времени. |