Доброе утро! подскажите как включить опцию not в Exists фильтре???
Пробовал так SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsNot = true; почему то не работает????
Нравится
И еще как потом его включить?
[sql]
WHERE(NOT EXISTS
(SELECT
[vw_OfferingOstatok].[OfferingID] AS [ID]
FROM
[dbo].[vw_OfferingOstatok] AS [vw_OfferingOstatok]
WHERE([tbl_Offering].[ID] = [vw_OfferingOstatok].[OfferingID])))
[/sql]
вот условие фильтра???
Максим, как Вы проверяете что не работает? Включить - это противоположно выключить: ...IsNot = false.
Просто я не так сформировал вопрос. Задача заключается в том чтобы в одном случае включать опцию not и включать фильтр из скрипта а в другом выключать опцию not и также включать фильтр.
почему то вот так неработает
[javascript]
if <условие > {
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsNot = true;
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsEnabled = true;
}else{
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsNot = false;
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsEnabled = true;
[/javascript]
Может из за того что в подзапросе используеться не таблица а View? но когда я выполняю тоже самое в админе все работает???
Максим, добрый день.
Если не ошибаюсь, у Вас версия 3.0.2.203? Возможно, поможет обновление до более новой версии. Я проверил на 3.0.2.231 - работает корректно.
Также проверьте, пожалуйста, Ваше <условие>. Одна из возможных причин, по которой фильтр не включается, может быть в том, что это условие не выполняется. Попробуйте выполнить эти строчки без условия, и если будет работать корректно - значит, проблема в условии.
Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.
Максим Вы так и не ответили - Как Вы проверяете? Вы смотрите профайлер?
И почему бы не написать проще?
Вместо:
[javascript]
if <условие > {
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsNot = true;
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsEnabled = true;
}else{
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsNot = false;
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsEnabled = true;
[/javascript]
Написать
[javascript]
...
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsNot = <условие >;
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsEnabled = true;
...
[/javascript]
Спасибо за помощь все получилось! я думал при включении EXISTS все вложенные в запросе фильтры тоже включаются по умолчанию. Оказалось нет)