Всем привет. Есть запрос, получат остатки материалов переданных в производство, в регистре остатки хранятся в разрезе изделий по материалам, каждое изделие имеет спецификацию (материалы из чего производится). Запросом получаем изделие и материалы, далее остатки, если по какому то элементу спецификации нет остатки получаем 0. Но после добавления условия в запрос по организации или складу, та строка в которой должен быть ноль не выводится.

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

    СГРУППИРОВАТЬ ПО
    ВыпускГотовойПродукцииИзделия.Изделие,
    СпецификацияНоменклатуры.Материал

    ИНДЕКСИРОВАТЬ ПО
    Изделие
    ;

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

    СГРУППИРОВАТЬ ПО
    ВременнаяТаблица.Изделие,
    ВременнаяТаблица.Материал,
    ЕСТЬNULL(МатериалыВПроизводствеОстатки.КоличествоОстаток, 0),
    ЕСТЬNULL(МатериалыВПроизводствеОстатки.СуммаОстаток, 0)
```

Выводится:

Если из запроса убрать условие то выводит как надо:

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

    СГРУППИРОВАТЬ ПО
    ВыпускГотовойПродукцииИзделия.Изделие,
    СпецификацияНоменклатуры.Материал

    ИНДЕКСИРОВАТЬ ПО
    Изделие
    ;

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

    СГРУППИРОВАТЬ ПО
    ВременнаяТаблица.Изделие,
    ВременнаяТаблица.Материал,
    ЕСТЬNULL(МатериалыВПроизводствеОстатки.КоличествоОстаток, 0),
    ЕСТЬNULL(МатериалыВПроизводствеОстатки.СуммаОстаток, 0),
    ВременнаяТаблица.НомерСтроки

    УПОРЯДОЧИТЬ ПО
    Изделие,
    Материал1,
    КоличествоОстаток,
    СуммаОстаток
```
---
Вставьте то условие, что я написал выше вместо этого куска

```1c
    ГДЕ
    МатериалыВПроизводствеОстатки.Организация = &Организация
    И МатериалыВПроизводствеОстатки.Склад = &Склад
```

Т.е. по моему условию, отбор по организации и складу В ОСТАТКАХ будет выполняться когда есть остаток.
---
Naposaram, а по организации и по складу в условии точно есть такая позиция?
---
Naposaram, а теперь выведи колонку с организацией и складом и напиши нам что ты в отбор ставишь.

И если то что мы думаем, то ответ в (3)!
---
```1c
    ГДЕ
    ВЫБОР КОГДА НЕ МатериалыВПроизводствеОстатки.КоличествоОстаток ЕСТЬ NULL ТОГДА
    МатериалыВПроизводствеОстатки.Организация = &Организация
    И МатериалыВПроизводствеОстатки.Склад = &Склад
    ИНАЧЕ
    ИСТИНА
    КОНЕЦ
```
---
Вы имеете ввиду заонен ли отбор?
---
Вставьте то условие, что я написал выше вместо этого куска

```1c
    ГДЕ
    МатериалыВПроизводствеОстатки.Организация = &Организация
    И МатериалыВПроизводствеОстатки.Склад = &Склад
```

Т.е. по моему условию, отбор по организации и складу В ОСТАТКАХ будет выполняться когда есть остаток.
---
а что вернет запрос по РН с параметрами ВТ Организация и Склад? Может нет на остатке? Так то ГДЕ выполняется после соединения. Без ГДЕ вы получили 0, т.к. в левой таблице есть запись, а добавив ГДЕ по правой таблице - отсекли такие записи.
---
Ну и да ты запрос не верно для условия написал.

Условие на основную таблицу нужно ставить либо делать ВТ или ВЗ и потом на конечную таблицу ставить условие как написали в (6)!