Выводить строки в отчете по незаполненному регистру
Добрый день. Сделал отчет который показывает выпущенную продукцию с ценами по определенному виду цен (Дилер). Собственно не на все позиции есть цены и эти строки в отчет не попадают. Как сделать отбор что бы в отчет попадали все позиции которые были выпущены за определенный период даже если на них нету цен.
Отбор стоит ВидЦены Радно Дилер.
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Характеристика,
ЦеныНоменклатурыСрезПоследних.ВидЦены,
ЦеныНоменклатурыСрезПоследних.Цена,
ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ВыпускПродукцииОбороты.КоличествоОборот
ИЗ
РегистрНакопления.ВыпускПродукции.Обороты КАК ВыпускПродукцииОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
ПоказатьОтбор стоит ВидЦены Радно Дилер.
По теме из базы знаний
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Ведение взаиморасчетов в конфигурациях «Комплексная автоматизация 1.1» и «Управление производственным предприятием 1.3» - часть 2
- Управляемая консоль отчетов – новый функциональный инструмент для работы с запросами и СКД в управляемых формах
- Универсальная загрузка данных формата Excel
- Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5
Найденные решения
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Вроде так и делаю, чет не пойму.
ПО ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
Вроде так и делаю, чет не пойму.
(6)
Это что-то меняет? Отчет не изменился.
ВЫБРАТЬ
ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ВыпускПродукцииОбороты.КоличествоОборот,
ЦеныНоменклатурыСрезПоследних.Цена,
ЦеныНоменклатурыСрезПоследних.ВидЦены
ИЗ
РегистрНакопления.ВыпускПродукции.Обороты КАК ВыпускПродукцииОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
ПоказатьЭто что-то меняет? Отчет не изменился.
А если убрать левое соединение, правильное количество показывает?
Можно конечно попробовать поправить запрос. Но это вряд ли поможет, т.е.
Обернуть null и добавить отбор в параметры виртуальной таблицы.
Можно конечно попробовать поправить запрос. Но это вряд ли поможет, т.е.
Обернуть null и добавить отбор в параметры виртуальной таблицы.
ВЫБРАТЬ
ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ВыпускПродукцииОбороты.КоличествоОборот,
isnull(ЦеныНоменклатурыСрезПоследних.Цена,0) как Цена,
ЦеныНоменклатурыСрезПоследних.ВидЦены
ИЗ
РегистрНакопления.ВыпускПродукции.Обороты КАК ВыпускПродукцииОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &Дилер) КАК ЦеныНоменклатурыСрезПоследних
ПО ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
Показать
(145)
(1) Добавь в соединение
должно получиться
Все обороты соединяться с ценами дилера, там где нет будет NULL используй ЕстьNULL.
Условие ниже не хорошее т.е. вернутся те строки, где либо цена Дилера либо ни какой + сначала пройдет полное левое соединение, его можно избежать.
(1) Добавь в соединение
И ЦеныНоменклатурыСрезПоследних.ВидЦены = &Дилер
должно получиться
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Характеристика,
ЦеныНоменклатурыСрезПоследних.ВидЦены,
ЦеныНоменклатурыСрезПоследних.Цена,
ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика,
ВыпускПродукцииОбороты.КоличествоОборот
ИЗ
РегистрНакопления.ВыпускПродукции.Обороты КАК ВыпускПродукцииОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
ПО ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
И ВыпускПродукцииОбороты.АналитикаУчетаНоменклатуры.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
И ЦеныНоменклатурыСрезПоследних.ВидЦены = &Дилер
ПоказатьВсе обороты соединяться с ценами дилера, там где нет будет NULL используй ЕстьNULL.
Условие ниже не хорошее т.е. вернутся те строки, где либо цена Дилера либо ни какой + сначала пройдет полное левое соединение, его можно избежать.
ГДЕ ЦеныНоменклатурыСрезПоследних.ВидЦены = &Дилер ИЛИ ЦеныНоменклатурыСрезПоследних.ВидЦены is null
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)