|
Разное поведение запроса в консоли и отчете. | ☑ | ||
---|---|---|---|---|
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
|
закрываем. Кэш ,блин, переименовал отчет и все заработало
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |