Здравствуйте. У меня есть запрос, который вытаскивает количество продаж товара и его остаток на складе. Эти данные я вытаскиваю с разных регистров, поэтому Соединение моё "отсекает" товары с нулевым остатком. Как сделать так, чтобы если товара в остатках, то его всё чтобы выводило?
Вот сам запрос
Вот сам запрос
ВЫБРАТЬ
ВыручкаИСебестоимостьПродаж.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура,
ВыручкаИСебестоимостьПродаж.АналитикаУчетаНоменклатуры.Номенклатура.Артикул КАК Артикул,
ВыручкаИСебестоимостьПродаж.Склад,
ВыручкаИСебестоимостьПродаж.Количество КАК Количество,
ЕСТЬNULL(ТоварыНаСкладахОстатки.ВНаличииОстаток, "0") КАК Остаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВыручкаИСебестоимостьПродаж КАК ВыручкаИСебестоимостьПродаж
ПО ТоварыНаСкладахОстатки.Номенклатура.Код = ВыручкаИСебестоимостьПродаж.АналитикаУчетаНоменклатуры.Номенклатура.Код
ГДЕ
ВыручкаИСебестоимостьПродаж.Период МЕЖДУ &НачалоПериода И &КонецПериода
И ВыручкаИСебестоимостьПродаж.Склад = &Склад
ПоказатьПо теме из базы знаний
- Проверка наличия счетов-фактур выданных
- Проверка наличия и групповое создание счетов-фактур
- Проверка количества товаров в заказе клиента
- Отчет-проверка наличия выписанных СНТ, СФ, ЭСФ (1С: Бухгалтерия для Казахстана)
- МХ-14 (Акт о выборочной проверке наличия товарно - материальных ценностей в местах хранения) для УПП
Найденные решения
ПО ТоварыНаСкладахОстатки.Номенклатура = ВыручкаИСебестоимостьПродаж.АналитикаУчетаНоменклатуры.Номенклатура
Дело в том, что при обращении через точку идет дополнительный запрос к базе данных. Можно соединить с справочником Номенклатура. Тогда буду показаны остатки по всей номенклатуре, в том числе нулевые.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
ПО ТоварыНаСкладахОстатки.Номенклатура = ВыручкаИСебестоимостьПродаж.АналитикаУчетаНоменклатуры.Номенклатура
Дело в том, что при обращении через точку идет дополнительный запрос к базе данных. Можно соединить с справочником Номенклатура. Тогда буду показаны остатки по всей номенклатуре, в том числе нулевые.
(6) "Все остатки я и читаю, как "все остатки". Так что, скорее "неправильно написали", а не "поняли". Небольшая разница есть. Попробуйте перечитать свой вопрос.
А если вам нужны и те, где не нуль или продажи, или остатки, для этого, теоретически, существует "Полное соединение". Которое настоятельно рекомендуется заменять на объединить+сгруппировать по соображениям оптимизации производительности, особенно для виртуальных таблиц. Выбираете нужные поля остатков, добавляете нули в поля для продаж. Добавляете объединение с запросом по продажам, в котором нули на месте полей остатков. Заворачиваете все это во вложенный запрос и делаете ему группировку по измерениям и сумму по числам.
Соединение с номенклатурой покажет ВСЮ номенклатуру. Хотя, можно добавить условие ГДЕ не ноль либо то, либо это - тоже вариант. У любой задачи обычно несколько правильных решений.
Вариант с объединением сильно быстрее отработает при малых оборотах / остатках. Вариант с соединением номенклатуры будет перебирать всю номенклатуру независимо от количества остатков и оборотов в вашем регистре, но хорош, например, для отображения в форме списка справочника номенклатуры.
А если вам нужны и те, где не нуль или продажи, или остатки, для этого, теоретически, существует "Полное соединение". Которое настоятельно рекомендуется заменять на объединить+сгруппировать по соображениям оптимизации производительности, особенно для виртуальных таблиц. Выбираете нужные поля остатков, добавляете нули в поля для продаж. Добавляете объединение с запросом по продажам, в котором нули на месте полей остатков. Заворачиваете все это во вложенный запрос и делаете ему группировку по измерениям и сумму по числам.
Соединение с номенклатурой покажет ВСЮ номенклатуру. Хотя, можно добавить условие ГДЕ не ноль либо то, либо это - тоже вариант. У любой задачи обычно несколько правильных решений.
Вариант с объединением сильно быстрее отработает при малых оборотах / остатках. Вариант с соединением номенклатуры будет перебирать всю номенклатуру независимо от количества остатков и оборотов в вашем регистре, но хорош, например, для отображения в форме списка справочника номенклатуры.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот