Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
31 мая 2024, 12:19

Нужна помощь с отчетом в 1С предприятие

Автор Тима22, 12 ноя 2023, 07:41

0 Пользователей и 1 гость просматривают эту тему.

Тима22

Есть отчет, который должен выводить штрихкод, номенклатуру, характеристику, вналичии и докпоступления товаров, которые Без цен, т.е. товары, цена которых равна 0 в ( ЦеныНоменклатурыСрезПоследних ). Приведенный ниже отчет рабочий на Null значения, но значения где цена равна 0 не работает, какое условие в отчете нужно дописать? Буду благодарен

ВЫБРАТЬ
    ТоварыНаСкладахОстатки.ВНаличииОстаток КАК ВНаличииОстаток,
    ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
    ТоварыНаСкладахОстатки.Характеристика КАК Характеристика
ПОМЕСТИТЬ остатки
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(
            ,
            Склад В (&склады)
                ИЛИ &поВсем) КАК ТоварыНаСкладахОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена
ПОМЕСТИТЬ сЦенами
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &видЦены) КАК ЦеныНоменклатурыСрезПоследних
ГДЕ
    ЦеныНоменклатурыСрезПоследних.Цена <> 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    ЗНАЧЕНИЕ(справочник.ХарактеристикиНоменклатуры.пустаяссылка) КАК Характеристика
ПОМЕСТИТЬ номХарактеристика
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.ЭтоГруппа = ЛОЖЬ
    И Номенклатура.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(перечисление.ВариантыИспользованияХарактеристикНоменклатуры.неИспользовать)
{ГДЕ
    Номенклатура.Ссылка.* КАК НоменклатураОтбор}

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ХарактеристикиНоменклатуры.Владелец,
    ХарактеристикиНоменклатуры.Ссылка
ИЗ
    Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
{ГДЕ
    ХарактеристикиНоменклатуры.Владелец.* КАК НоменклатураОтбор}
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    номХарактеристика.Номенклатура КАК Номенклатура,
    номХарактеристика.Характеристика КАК Характеристика
ПОМЕСТИТЬ безЦен
ИЗ
    номХарактеристика КАК номХарактеристика
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &видЦены) КАК ЦеныНоменклатурыСрезПоследних
        ПО номХарактеристика.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
            И номХарактеристика.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
            И (ЦеныНоменклатурыСрезПоследних.Цена <> 0)
ГДЕ
    ЦеныНоменклатурыСрезПоследних.Номенклатура ЕСТЬ NULL или ЦеныНоменклатурыСрезПоследних.Цена = 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    безЦен.Номенклатура КАК Номенклатура,
    безЦен.Характеристика КАК Характеристика,
    остатки.ВНаличииОстаток КАК ВНаличииОстаток
ПОМЕСТИТЬ пред
ИЗ
    безЦен КАК безЦен
        ЛЕВОЕ СОЕДИНЕНИЕ остатки КАК остатки
        ПО безЦен.Номенклатура = остатки.Номенклатура
            И безЦен.Характеристика = остатки.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ПриобретениеТоваровУслугТовары.Ссылка КАК Ссылка,
    ПриобретениеТоваровУслугТовары.Номенклатура КАК Номенклатура,
    ПриобретениеТоваровУслугТовары.Характеристика КАК Характеристика,
    ПриобретениеТоваровУслугТовары.Ссылка.Дата КАК Дата
ПОМЕСТИТЬ поступленияПред
ИЗ
    Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТоваровУслугТовары
ГДЕ
    (ПриобретениеТоваровУслугТовары.Номенклатура, ПриобретениеТоваровУслугТовары.Характеристика) В
            (ВЫБРАТЬ
                пред.Номенклатура КАК Номенклатура,
                пред.Характеристика КАК Характеристика
            ИЗ
                пред КАК пред)
    И ПриобретениеТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура,
    ШтрихкодыНоменклатуры.Характеристика КАК Характеристика,
    МАКСИМУМ(ШтрихкодыНоменклатуры.Штрихкод) КАК Штрихкод
ПОМЕСТИТЬ штрихКада
ИЗ
    РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры

СГРУППИРОВАТЬ ПО
    ШтрихкодыНоменклатуры.Номенклатура,
    ШтрихкодыНоменклатуры.Характеристика
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    поступленияПред.Ссылка КАК ДокПоступления,
    поступленияПред.Номенклатура КАК Номенклатура,
    поступленияПред.Характеристика КАК Характеристика
ПОМЕСТИТЬ поступления
ИЗ
    (ВЫБРАТЬ
        поступленияПред.Номенклатура КАК Номенклатура,
        поступленияПред.Характеристика КАК Характеристика,
        МАКСИМУМ(поступленияПред.Дата) КАК Дата
    ИЗ
        поступленияПред КАК поступленияПред
   
    СГРУППИРОВАТЬ ПО
        поступленияПред.Номенклатура,
        поступленияПред.Характеристика) КАК ВложенныйЗапрос
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ поступленияПред КАК поступленияПред
        ПО ВложенныйЗапрос.Номенклатура = поступленияПред.Номенклатура
            И ВложенныйЗапрос.Характеристика = поступленияПред.Характеристика
            И ВложенныйЗапрос.Дата = поступленияПред.Дата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    штрихКада.Штрихкод КАК Штрихкод,
    пред.Номенклатура КАК Номенклатура,
    пред.Характеристика КАК Характеристика,
    пред.ВНаличииОстаток КАК ВНаличииОстаток,
    поступления.ДокПоступления КАК ДокПоступления
ИЗ
    пред КАК пред
        ЛЕВОЕ СОЕДИНЕНИЕ штрихКада КАК штрихКада
        ПО пред.Номенклатура = штрихКада.Номенклатура
            И пред.Характеристика = штрихКада.Характеристика
        ЛЕВОЕ СОЕДИНЕНИЕ поступления КАК поступления
        ПО пред.Номенклатура = поступления.Номенклатура
            И пред.Характеристика = поступления.Характеристика
ГДЕ
    пред.Номенклатура.ПометкаУдаления = ЛОЖЬ
    И ВЫБОР
            КОГДА &ТолькоВНаличии
                ТОГДА пред.ВНаличииОстаток <> 0
            ИНАЧЕ ИСТИНА
        КОНЕЦ

Максим75

Тима22, вот здесь у Вас

ВЫБРАТЬ
   номХарактеристика.Номенклатура КАК Номенклатура,
   номХарактеристика.Характеристика КАК Характеристика
ПОМЕСТИТЬ безЦен
ИЗ
   номХарактеристика КАК номХарактеристика
      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &видЦены) КАК ЦеныНоменклатурыСрезПоследних
      ПО номХарактеристика.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
         И номХарактеристика.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
         И (ЦеныНоменклатурыСрезПоследних.Цена <> 0)
ГДЕ
   ЦеныНоменклатурыСрезПоследних.Номенклатура ЕСТЬ NULL или ЦеныНоменклатурыСрезПоследних.Цена = 0
;

Вы соединяете с таблицей регистра сведений по условию, что цена не равна нулю, т.е. есть в регистре запись по товару и характеристике, а потом ниже в условии хотите отобрать только те, где NULL или цена равна нулю.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск