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