Имя: Пароль:
1C
1С v8
1С: Специалист, Задача 1.4: Получить выборку данных запроса
0 sergcool83
 
07.05.12
13:00
Добрый день коллеги! Нужно вывести в запросе те партии которые не входят в табличную часть документа. У меня условия не отрабатывают! Что не так? Прилагаю запрос:


ВЫБРАТЬ
МАКСИМУМ(РасходнаяНакладнаяСписокНоменклатуры.Номе рСтроки) КАК НомерСтроки,
РасходнаяНакладнаяСписокНоменклатуры.Номенклатура КАК Номенклатура,
РасходнаяНакладнаяСписокНоменклатуры.Партия,
СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количес тво) КАК Количество
ПОМЕСТИТЬ ВТовары
ИЗ
Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
ГДЕ
РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
РасходнаяНакладнаяСписокНоменклатуры.Партия
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТовары.Номенклатура КАК Номенклатура,
ВТовары.Количество КАК КолДоК,
ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОста ток, 0) КАК КолОст,
ВТовары.Партия КАК ПартияДок,
ЕСТЬNULL(ОстаткиНоменклатурыОстатки.Партия, ЗНАЧЕНИЕ(Документ.ПриходнаяНакладная.ПустаяСсылка) ) КАК ПартияОст,
ВЫБОР
КОГДА ВТовары.Партия = ОстаткиНоменклатурыОстатки.Партия
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК ФлагПриоритета,
ВТовары.НомерСтроки КАК НомерСтроки
ИЗ
ВТовары КАК ВТовары
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(
&МоментВремени,
Номенклатура В
(ВЫБРАТЬ
ВТовары.Номенклатура
ИЗ
ВТовары КАК ВТовары)) КАК ОстаткиНоменклатурыОстатки
ПО (ОстаткиНоменклатурыОстатки.Номенклатура = ВТовары.Номенклатура)
ГДЕ
НЕ ОстаткиНоменклатурыОстатки.Партия В
(ВЫБРАТЬ
ВТовары.Партия
ИЗ
ВТовары КАК ВТовары)

УПОРЯДОЧИТЬ ПО
ФлагПриоритета,
ОстаткиНоменклатурыОстатки.Партия
ИТОГИ ПО
Номенклатура
1 ковер
 
07.05.12
13:03
2 sergcool83
 
07.05.12
13:19
Хотелось бы получить все же комментарий по своему запросу!
3 sergcool83
 
07.05.12
13:19
За ссылку огромное спасибо!
4 SnarkHunter
 
07.05.12
13:26
Что не так?
5 sergcool83
 
07.05.12
14:19
На выходе получаю пустую выборку данных. Мне нужно получить партию (РегистНакопления.ОстаткиНоменклатуры) которая не входит в табличную часть документа "Расходная накладная"  для каждой номенклатуры в  табличной части и весь затык в условии :
ГДЕ
НЕ ОстаткиНоменклатурыОстатки.Партия В
(ВЫБРАТЬ
ВТовары.Партия
ИЗ
ВТовары КАК ВТовары)

Что не так?
Скинул ссылку на dt файл базы на ЯндексДиск -  http://clck.ru/d/1hpXdmKN12tIu
6 SnarkHunter
 
07.05.12
14:22
(5) >> Что не так?

ЛЕВОЕ поменяй на ПРАВОЕ
7 SnarkHunter
 
07.05.12
14:23
... и измени условие ГДЕ...
8 sergcool83
 
07.05.12
15:09
Результат тот же!
9 SnarkHunter
 
07.05.12
20:52
Сколько воду не фильтруй, все равно получишь... воду...
10 vovus
 
07.05.12
21:17
Я в случаях, когда не понятно, почему запрос не работает как надо, отлаживаю по пакетам в консоли. В твоем случае начал бы с

Выбрать * из ВТТовары как ВТТовары
11 vovus
 
07.05.12
21:17
*ВТовары
12 SnarkHunter
 
07.05.12
21:20
Запрос работает ровно так, как его написали...