|
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 файл базы на ЯндексДиск -
|
|
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
|
Запрос работает ровно так, как его написали...
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший