Справочник Владелец (СпрВл), подчиненный ему справочник СпрП, у которого есть ТЧ с полем П1, тип значения некий справочник.
Мне необходимо настроить отбор по следующй логике: если установлено условие на равенство или вхождение в список, то берем те элементы СпрП, где в ТЧ есть значение параметра, а если условие на неравенство или не вхождение, то элемент, чья ТЧ содержит параметр, исключаем полностью.
Запрос имеет следующий вид:
[CODE]
ВЫБРАТЬ
СпрП.Ссылка КАК СпрП_Ссылка,
СпрП_ТЧ.П1 КАК ТЧ_П1
ИЗ
Справочник.СпрП КАК СпрП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпрВл КАК СпрВл
ПО СпрВл.Ссылка = Фабрики.Владелец
И &ТутНекийОтбор
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпрП.ТЧ КАК СпрП_ТЧ
ПО СпрП_ТЧ.Ссылка = СпрП.Ссылка
ГДЕ
НЕ СпрП.ТЧ.П1 = &ОтборП1
[/CODE]
Это его вид в Консоли. И если в ГДЕ ставить или убирать НЕ, то получаем абсолютно нужный эффект. Но при переносе в СКД и изменении для использования П1 в качестве отбора:
[CODE]
ВЫБРАТЬ
СпрП.Ссылка КАК СпрП_Ссылка,
СпрП_ТЧ.П1 КАК ТЧ_П1
ИЗ
Справочник.СпрП КАК СпрП
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпрВл КАК СпрВл
ПО СпрВл.Ссылка = Фабрики.Владелец
И &ТутНекийОтбор
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.СпрП.ТЧ КАК СпрП_ТЧ
ПО СпрП_ТЧ.Ссылка = СпрП.Ссылка
{ГДЕ
СпрП.ТЧ.П1 КАК ОтборП1}
[/CODE]
Условия на неравенство и невхождения в список не работают корректно. Собственно, можно ли как-то логику работы отбора приблизить к варианту работы условия?
Ладно, делаю через два параметра: один список на вхождение, другой список на невхождение.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший