Поиск документов в табличной части которых отсутствуют строки с определённым видом номенклатуры

1. petroglif 21.05.21 09:22 Сейчас в теме
Доброго времени суток, коллеги. Я - начинающий в 1С. Подскажите, как можно реализовать поиск документов, в табличной части которых отсутствуют строки с определённым признаком. Пишу, например, так:

ВЫБРАТЬ
	ПриобретениеТоваровУслугТовары.Ссылка КАК Ссылка
ПОМЕСТИТЬ ВТ_ПРИОБРЕТЕНИЕСДоставкой
ИЗ
	Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
ГДЕ
	ПриобретениеТоваровУслугТовары.Ссылка.Проведен
	И ПриобретениеТоваровУслугТовары.Номенклатура.ВидНоменклатуры = &ВидДоставка

СГРУППИРОВАТЬ ПО
	ПриобретениеТоваровУслугТовары.Ссылка
;
Показать


получается нужный ответ, если в документах присутствует услуга с видом номенклатуры "Доставка".
если же обратить условие , и написать:

И ПриобретениеТоваровУслугТовары.Номенклатура.ВидНоменклатуры <> &ВидДоставка


то в вывод всё равно попадают документы где есть строки с таким видом номенклатуры.

Пытаюсь пойти таким путём, но не совсем понимаю, как такое можно синтаксически реализовать:

ВЫБРАТЬ
    ПриобретениеТоваровУслугТовары.Ссылка КАК Ссылка,
	ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
	ПриобретениеТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент1,
	ПриобретениеТоваровУслугТовары.Ссылка.Соглашение КАК Соглашение1,	
	ПриобретениеТоваровУслугТовары.Номенклатура.ВидНоменклатуры КАК НоменклатураВидНоменклатуры
ПОМЕСТИТЬ ВТ_ПРИОБРЕТЕНИЕ
ИЗ
	Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
ГДЕ
	ПриобретениеТоваровУслугТовары.Ссылка.Проведен
	//И ПриобретениеТоваровУслугТовары.Номенклатура.ВидНоменклатуры = &ВидДоставка
	И КОЛИЧЕСТВО В (ВЫБРАТЬ
	                 ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура
	                 ИЗ
	                 Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
	                 ГДЕ
	                 ПриобретениеТоваровУслугТовары.Номенклатура.ВидНоменклатуры = &ВидДоставка
	                ) = 0   
Показать


Подскажите, как это правильно описать. Может у вас найдётся своё решение этого вопроса?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tolyan_ekb 80 21.05.21 10:11 Сейчас в теме
(1) Каков полный текст запроса, возможно ошибка в нем, а не в этом подзапросе? Что показывает промежуточный результат в консоли запросов при выполнении запроса ВТ_ПРИОБРЕТЕНИЕСДоставкой с условием <> &ВидДоставка ?
3. Spirit007 21.05.21 10:16 Сейчас в теме
Если в документе есть строки с признаком исключения и строки без этого признака, то нужно выводить этот документ?
4. petroglif 21.05.21 10:21 Сейчас в теме
(3) нужно вывести документы в строках которых нет этого признака
5. soft_wind 21.05.21 10:27 Сейчас в теме
(1) пот попробуйте такой запрос, в общем из него понятно как получаем документы без доставки
ВЫБРАТЬ различные
    Док.Ссылка
ПОМЕСТИТЬ ВТ_ПРИОБРЕТЕНИЕСДоставкой
ИЗ
    Документ.ПриобретениеТоваровУслуг.Товары КАК док
ГДЕ
    Док.Ссылка.Проведен
  И Док.Номенклатура.ВидНоменклатуры = &ВидДоставка
;

ВЫБРАТЬ 
    Док.Ссылка как ДокументыБезДоставки
ИЗ
    Документ.ПриобретениеТоваровУслуг КАК док
левое соединение ВТ_ПРИОБРЕТЕНИЕСДоставкой Таб
по Док.Ссылка = Таб.Ссылка
где
	Таб.Ссылка есть Null
Упорядочить по
1 автоупорядочивание

Показать
6. FatPanzer 21.05.21 10:30 Сейчас в теме
|ИМЕЮЩИЕ 
|    МАКСИМУМ(ВЫБОР 
|        КОГДА ВидНоменклатуры = &НужныйВидНоменклатура 
|            ТОГДА 1 
|        ИНАЧЕ 0 
|    КОНЕЦ КАК ЕстьНужныйВидНоменклатуры) = 0


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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот