Имя: Пароль:
1C
1С v8
Запросы 1с 8
0 Strannyk
 
03.09.11
16:11
Как в запросе выбрать накладные по реализации,в которых обязательно должны быть указанные позиции, причем все позиции а не некоторые из списка. Если в накладной нет хотя бы одной позиции то в выборку она не должна попадать?
1 Лефмихалыч
 
03.09.11
16:14
список искомой номенклатуры засунь в ТЗ, ТЗ засунь в запрос и соедини ее внутренним соединением с табличной частью документа

ВЫБРАТЬ
ВТ.номенклатура
ПОМЕСТИТЬ ТаблицаНоменклатуры
ИЗ &ВТ КАК ВТ
;
ВЫБРАТЬ
док.Ссылка
ИЗ Документ.НакладнаяПоРеализации.Товары как Док
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаНоменклатуры ПО Док.Номенклатура = ТаблицаНоменклатуры.Номенклатура
СГРУППИРОВАТЬ ПО Ссылка
2 Beduin
 
03.09.11
16:17
(1) Из нескольких позиций совпадет одна, что этот алгоритм даст в этом случае?
3 Strannyk
 
03.09.11
16:19
Если совпадает только одна, то накладная не должна попасть в выборку.
4 Лефмихалыч
 
03.09.11
16:19
да, лажа получается. Надо так попробовать:

ВЫБРАТЬ
док.Ссылка
ИЗ ТаблицаНоменклатуры  
ЛЕвОЕ СОЕДИНЕНИЕ Документ.НакладнаяПоРеализации.Товары как Док ПО Док.Номенклатура = ТаблицаНоменклатуры.Номенклатура
ГДЕ не Док.Ссылка ЕСТЬ NULL
СГРУППИРОВАТЬ ПО Ссылка
6 Strannyk
 
03.09.11
16:23
Тогда остается только перебор выборки по условиям?
7 Лефмихалыч
 
03.09.11
16:26
(6) нет. Надо просто сесть и подумать
8 AlexNew
 
03.09.11
17:02
(7) Количество забыл. в том числе.