Включение опции not?

Доброе утро! подскажите как включить опцию not в Exists фильтре???
Пробовал так SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsNot = true; почему то не работает????

Нравится

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

И еще как потом его включить?

WHERE(NOT EXISTS 
	(SELECT
		[vw_OfferingOstatok].[OfferingID] AS [ID]
	FROM
		[dbo].[vw_OfferingOstatok] AS [vw_OfferingOstatok]
	WHERE([tbl_Offering].[ID] = [vw_OfferingOstatok].[OfferingID])))

вот условие фильтра???

Максим, как Вы проверяете что не работает? Включить - это противоположно выключить: ...IsNot = false.

Просто я не так сформировал вопрос. Задача заключается в том чтобы в одном случае включать опцию not и включать фильтр из скрипта а в другом выключать опцию not и также включать фильтр.
почему то вот так неработает

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;

Может из за того что в подзапросе используеться не таблица а View? но когда я выполняю тоже самое в админе все работает???

Максим, добрый день.

Если не ошибаюсь, у Вас версия 3.0.2.203? Возможно, поможет обновление до более новой версии. Я проверил на 3.0.2.231 - работает корректно.

Также проверьте, пожалуйста, Ваше <условие>. Одна из возможных причин, по которой фильтр не включается, может быть в том, что это условие не выполняется. Попробуйте выполнить эти строчки без условия, и если будет работать корректно - значит, проблема в условии.

Олег Лабьяк,
разработчик,
3-я линия Службы поддержки Terrasoft.

Максим Вы так и не ответили - Как Вы проверяете? Вы смотрите профайлер?
И почему бы не написать проще?
Вместо:

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;

Написать

...
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsNot = <условие >;
SelectQuery.Items(0).Filters.ItemsByCode('Risept').IsEnabled = true;
...

Спасибо за помощь все получилось! я думал при включении EXISTS все вложенные в запросе фильтры тоже включаются по умолчанию. Оказалось нет)

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