Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Пустые строки в результате запроса

Пустые строки в результате запроса
Я
   Pyryrym
 
13.04.21 - 18:32
Есть запрос:

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

Который выводит пустые строки. Как я понял, он берет номенклатуру из документа, например 2 штуки, смотрит, есть ли остатки по этой номенклатуре, если нет - выводит две пустые строки. Как это решить?
   Kassern
 
1 - 13.04.21 - 18:35
(0) Тебе это ни о чем не говорит?
ВЫБРАТЬ
    ОстаткиТоваровОстатки.Номенклатура КАК Номенклатура,
    ОстаткиТоваровОстатки.КоличествоОстаток КАК КоличествоОстаток
   Kassern
 
3 - 13.04.21 - 18:35
(1) может все таки возьмешь данные из левой таблицы?
   Волшебник
 
4 - 13.04.21 - 18:36
(1) Вы гений.
   Pyryrym
 
5 - 13.04.21 - 18:39
(1) ни о чем(. Мне нужно получить текущие остатки тех товаров, которые указаны в документе
   Жан Пердежон
 
6 - 13.04.21 - 18:40
(5) ты их и получаешь, ровно так как и запрашиваешь
   azernot
 
7 - 13.04.21 - 18:41
(5) А если остатков нет, что выйдет?
   Kassern
 
8 - 13.04.21 - 18:41
(5) очень плохо, что "ни о чем(". Посмотри еще внимательнее из какой таблицы ты номенклатуру берешь...
   Kassern
 
9 - 13.04.21 - 18:42
(8) потом внимательно подумай и реши из какой таблицы какие данные нужно выводить в запросе
   Ненавижу 1С
 
10 - 13.04.21 - 18:46
ВЫБРАТЬ РАЗЛИЧНЫЕ
    РеализацияТоваровТовары.Номенклатура КАК Номенклатура,
    Естьnull(ОстаткиТоваровОстатки.КоличествоОстаток,0) КАК КоличествоОстаток
   Kassern
 
11 - 13.04.21 - 18:46
(10) ну зачем так скоро(
   Kassern
 
12 - 13.04.21 - 18:48
(10) хотя бы пол часика дали подумать ТС, возможно бы и сам додумался, после наводящих коментов
   Pyryrym
 
13 - 13.04.21 - 18:55
(10) Это не помогло - так у меня выводятся строки с заполненной номенклатурой и пустыми остатками, решил условием остатки>0
   Волшебник
 
14 - 13.04.21 - 18:55
вирт. таблица РегистрНакопления.ОстаткиТоваров.Остатки будет выдавать остатки по всей номенклатуре, надо сделать отбор по номенклатуре в параметрах виртуальной таблицы
   azernot
 
15 - 13.04.21 - 18:56
(13) Зачем тогда ЛЕВОЕ соединение?
   Pyryrym
 
16 - 13.04.21 - 18:57
(14) Спасибо
   Chameleon1980
 
17 - 14.04.21 - 04:30
Очередной индивидум, который не понимает что хочет и что делает
   Mihasya
 
18 - 14.04.21 - 05:29
(14) Не верно, нулевые остатки не даст...

Вот так надо:

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

ну можно еще ограничить параметрами виртуальной таблицы...

Список тем форума
Рекламное место пустует  Рекламное место пустует
Независимо от того, куда вы едете — это в гору и против ветра!
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.