Имя: Пароль:
1C
1С v8
Разное поведение запроса в консоли и отчете.
0 егаис
 
06.11.18
09:06
В консоли отчет отрабатывает корректно,
в отчете на СКД:
{ОбщийМодуль.ВариантыОтчетов.Модуль(1732)}: Ошибка при вызове метода контекста (СкомпоноватьРезультат)
по причине:

по причине:
Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
ERROR:  division by zero

База на PostgreSQL

сам запрос (за код прошу не пинать)

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

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

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

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

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

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

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    НоменклатураСписок.Ссылка.Код КАК Код,
    НоменклатураСписок.Ссылка.Ссылка КАК Наименование,
    НоменклатураСписок.Ссылка.ОсновнойПоставщик КАК ОсновнойПоставщик,
    НоменклатураСписок.МинимальныйОстаток КАК МинимальныйОстаток,
    НоменклатураСписок.Ссылка.КратностьЗаказа КАК КратностьЗаказа,
    ЗакупочныеЦены.Цена КАК ЗакупочнаяЦена,
    РозничныеЦены.Цена КАК РозничнаяЦена,
    ВЫБОР
        КОГДА ЗакупочныеЦены.Цена = 0
            ТОГДА 0
        ИНАЧЕ (РозничныеЦены.Цена - ЗакупочныеЦены.Цена) / ЗакупочныеЦены.Цена * 100
    КОНЕЦ КАК РозничнаяНаценка,
    Остатки.КоличествоОстаток КАК Остаток,
    ЗакупочныеЦены.Цена * НоменклатураСписок.МинимальныйОстаток КАК СуммаДолжноБытьВложено,
    Остатки.КоличествоОстаток * ЗакупочныеЦены.Цена КАК СуммаВложено,
    Остатки.КоличествоОстаток * ЗакупочныеЦены.Цена - НоменклатураСписок.МинимальныйОстаток * ЗакупочныеЦены.Цена КАК ПревышениеВложенийРуб,
    ВЫБОР
        КОГДА (ЗакупочныеЦены.Цена * НоменклатураСписок.МинимальныйОстаток) = 0
            ТОГДА 0
        ИНАЧЕ (Остатки.КоличествоОстаток * ЗакупочныеЦены.Цена - НоменклатураСписок.МинимальныйОстаток * ЗакупочныеЦены.Цена) / (ЗакупочныеЦены.Цена * НоменклатураСписок.МинимальныйОстаток) * 100
    КОНЕЦ КАК ПревышениеВложенийПроцент,
    ПродажиЗаПериод.КоличествоОборот КАК КоличествоПродаж,
    ПродажиЗаПериод.КоличествоОборот * (РозничныеЦены.Цена - ЗакупочныеЦены.Цена) КАК Прибыль,
    ВЫБОР
        КОГДА (ЗакупочныеЦены.Цена * НоменклатураСписок.МинимальныйОстаток) = 0
            ТОГДА 0
        ИНАЧЕ ПродажиЗаПериод.КоличествоОборот * (РозничныеЦены.Цена - ЗакупочныеЦены.Цена) / (ЗакупочныеЦены.Цена * НоменклатураСписок.МинимальныйОстаток) * 100
    КОНЕЦ КАК ЭффективностьВложений
ИЗ
    НоменклатураСписок КАК НоменклатураСписок
        ЛЕВОЕ СОЕДИНЕНИЕ ЗакупочныеЦены КАК ЗакупочныеЦены
        ПО НоменклатураСписок.Ссылка = ЗакупочныеЦены.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РозничныеЦены КАК РозничныеЦены
        ПО НоменклатураСписок.Ссылка = РозничныеЦены.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Остатки КАК Остатки
        ПО НоменклатураСписок.Ссылка = Остатки.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ ПродажиЗаПериод КАК ПродажиЗаПериод
        ПО НоменклатураСписок.Ссылка = ПродажиЗаПериод.Номенклатура
ГДЕ
    НоменклатураСписок.МинимальныйОстаток > 0
    ИЛИ Остатки.КоличествоОстаток > 0
    ИЛИ ПродажиЗаПериод.КоличествоОборот > 0
1 егаис
 
06.11.18
09:19
закрываем. Кэш ,блин, переименовал отчет и все заработало