Запрос к регистру СвободныеОстатки (Вывести всю номенклатуру и все склады)

1. Menmo 10 21.02.22 12:29 Сейчас в теме
Доброго времени суток, уважаемые коллеги!
Подскажите, пожалуйста, как правильно составить следующий запрос:
Необходимо чтобы результатом запроса была таблица следующего содержания:
<Номенклатура> <Склад> <Остаток>
Вроде задача не сложная, однако, необходимо получить таблицу со всей номенклатурой, по всем складам и даже, если остаток 0, то вывести результат в таблицу.
Например:

Уголь - Основной слкад - 14
Уголь - Розничный склад - 0.

На данный момент использую следующий запрос:

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

Работает прекрасно, но для того, чтобы сработало нужно передать параметр - Номенклатура.
Мне нужны остатки всей номенклатуры, соответственно сначала я делаю запрос к справочнику "Номенклатура", затем исполняю этот запрос, ВНИМАНИЕ В ЦИКЛЕ (что естественно очень плохо, но задачу нужно было решить быстро, решил, как смог).
Хочу исправить свой "хвост" и сделать нормально, однако уже всю голову сломал, как правильно это сделать.
Подскажите.
По теме из базы знаний
Найденные решения
2. Sashares 35 21.02.22 12:37 Сейчас в теме
(1) Выбрать всю номенклатуру и склад и соединиться с таблицей остатков.
Примерно так

ВЫБРАТЬ
| Склады.Ссылка КАК Склад,
| Номенклатура.Ссылка КАК Номенклатура
|Поместить Таб
|ИЗ
|Справочник.Склады КАК Склады,
|Справочник.Номенклатура КАК Номенклатура
|;
|ВЫБРАТЬ
|Таб.Склад,
|Таб.Номенклатура,
| ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличииОстаток
|ИЗ
| Таб КАК Таб
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки КАК СвободныеОстаткиОстатки
| ПО Таб.Склад = СвободныеОстаткиОстатки.Склад 
| И Таб.Номенклатура = СвободныеОстаткиОстатки.Номенклатура 
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sashares 35 21.02.22 12:37 Сейчас в теме
(1) Выбрать всю номенклатуру и склад и соединиться с таблицей остатков.
Примерно так

ВЫБРАТЬ
| Склады.Ссылка КАК Склад,
| Номенклатура.Ссылка КАК Номенклатура
|Поместить Таб
|ИЗ
|Справочник.Склады КАК Склады,
|Справочник.Номенклатура КАК Номенклатура
|;
|ВЫБРАТЬ
|Таб.Склад,
|Таб.Номенклатура,
| ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличииОстаток
|ИЗ
| Таб КАК Таб
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки КАК СвободныеОстаткиОстатки
| ПО Таб.Склад = СвободныеОстаткиОстатки.Склад 
| И Таб.Номенклатура = СвободныеОстаткиОстатки.Номенклатура 
Показать
3. Menmo 10 21.02.22 14:29 Сейчас в теме
(2)
ВЫБРАТЬ
| Склады.Ссылка КАК Склад,
| Номенклатура.Ссылка КАК Номенклатура
|Поместить Таб
|ИЗ
|Справочник.Склады КАК Склады,
|Справочник.Номенклатура КАК Номенклатура
|;
|ВЫБРАТЬ
|Таб.Склад,
|Таб.Номенклатура,
| ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК ВНаличииОстаток
|ИЗ
| Таб КАК Таб
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки КАК СвободныеОстаткиОстатки
| ПО Таб.Склад = СвободныеОстаткиОстатки.Склад
| И Таб.Номенклатура = СвободныеОстаткиОстатки.Номенклатура
Показать


Большое спасибо, как то у меня видимо проблема с логикой мышления..
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот