|
Вопрос по построителю отчета | ☑ | ||
---|---|---|---|---|
0
Mashap
11.05.12
✎
16:57
|
Добрый день!
Отчет выполнен на построителе отчетов, ругается банально на деление на ноль. В процедуре УстановитьНачальныеНастройки везде поставила ЕстьNULL. Без отчета в консоле данный запрос отрабатывает, а через отчет продолжает ругаться на деление на ноль. Что еще можно посмотреть? Спасибо! |
|||
1
sash-ml
11.05.12
✎
16:59
|
ищи знак "/" в запросе он всему виной
|
|||
2
Mashap
11.05.12
✎
16:59
|
запрос работает через консоль, все знаки нашла
|
|||
3
Mashap
11.05.12
✎
17:04
|
отчего ведь и обидно-то..
|
|||
4
sash-ml
11.05.12
✎
17:06
|
текст запроса в студию
|
|||
5
х86
11.05.12
✎
17:06
|
ВЫБОР КОГДА Делитель = 0 ТОГДА 0 ИНАЧЕ Делимое / Делитель КОНЕЦ
|
|||
6
Mashap
11.05.12
✎
17:08
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВложенныйЗапрос.Организация КАК Организация, ВложенныйЗапрос.Проект КАК Проект, ВложенныйЗапрос.Подразделение КАК Подразделение, ВложенныйЗапрос.Покупатель КАК Покупатель, ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя, ВложенныйЗапрос.Номенклатура КАК Номенклатура, ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, ВложенныйЗапрос.Регистратор КАК Регистратор, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Организация) КАК ОрганизацияПредставление, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Проект) КАК ПроектПредставление, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Подразделение) КАК ПодразделениеПредставление, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Покупатель) КАК ПокупательПредставление, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ДоговорПокупателя) КАК ДоговорПокупателяПредставление, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Номенклатура) КАК НоменклатураПредставление, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ХарактеристикаНоменклатуры) КАК ХарактеристикаНоменклатурыПредставление, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.ЗаказПокупателя) КАК ЗаказПокупателяПредставление, ПРЕДСТАВЛЕНИЕ(ВложенныйЗапрос.Регистратор) КАК РегистраторПредставление, ВложенныйЗапрос.Период КАК Период, ВложенныйЗапрос.ПериодДень КАК ПериодДень, ВложенныйЗапрос.ПериодНеделя КАК ПериодНеделя, ВложенныйЗапрос.ПериодДекада КАК ПериодДекада, ВложенныйЗапрос.ПериодМесяц КАК ПериодМесяц, ВложенныйЗапрос.ПериодКвартал КАК ПериодКвартал, ВложенныйЗапрос.ПериодПолугодие КАК ПериодПолугодие, ВложенныйЗапрос.ПериодГод КАК ПериодГод, ВложенныйЗапрос.Количество КАК Количество, ВложенныйЗапрос.КоличествоЕдиницОтчетов КАК КоличествоЕдиницОтчетов, ВложенныйЗапрос.КоличествоБазовыхЕдиниц КАК КоличествоБазовыхЕдиниц, ВложенныйЗапрос.Стоимость КАК Стоимость, ВложенныйЗапрос.СтоимостьНДС КАК СтоимостьНДС, ВложенныйЗапрос.СтоимостьСНДС КАК СтоимостьСНДС, ВложенныйЗапрос.Стоимость / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1) КАК СтоимостьЦена, ВложенныйЗапрос.СтоимостьСНДС / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1) КАК СтоимостьСНДСЦена, ВложенныйЗапрос.Себестоимость КАК Себестоимость, ВложенныйЗапрос.СебестоимостьНДС КАК СебестоимостьНДС, ВложенныйЗапрос.СебестоимостьСНДС КАК СебестоимостьСНДС, ЕСТЬNULL(ВложенныйЗапрос.Себестоимость / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1), 1) КАК СебестоимостьЦена, ЕСТЬNULL(ВложенныйЗапрос.СебестоимостьСНДС / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1), 1) КАК СебестоимостьСНДССЦена, ВложенныйЗапрос.ВаловаяПрибыль КАК ВаловаяПрибыль, ВложенныйЗапрос.ВаловаяПрибыльСНДС КАК ВаловаяПрибыльСНДС, ВложенныйЗапрос.Эффективность КАК Эффективность, ВложенныйЗапрос.ЭффективностьСНДС КАК ЭффективностьСНДС, ВложенныйЗапрос.Рентабельность КАК Рентабельность, ВложенныйЗапрос.РентабельностьСНДС КАК РентабельностьСНДС {ВЫБРАТЬ Организация.*, Проект.*, Подразделение.*, Покупатель.*, ДоговорПокупателя.*, Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод, Количество, КоличествоЕдиницОтчетов, КоличествоБазовыхЕдиниц, Стоимость, СтоимостьНДС, СтоимостьСНДС, СтоимостьЦена, СтоимостьСНДСЦена, Себестоимость, СебестоимостьНДС, СебестоимостьСНДС, СебестоимостьЦена, СебестоимостьСНДССЦена, ВаловаяПрибыль, Эффективность, Рентабельность, ВаловаяПрибыльСНДС, ЭффективностьСНДС, РентабельностьСНДС} ИЗ (ВЫБРАТЬ ВложенныйЗапрос.Организация КАК Организация, ВложенныйЗапрос.Проект КАК Проект, ВложенныйЗапрос.Подразделение КАК Подразделение, ВложенныйЗапрос.Покупатель КАК Покупатель, ВложенныйЗапрос.ДоговорПокупателя КАК ДоговорПокупателя, ВложенныйЗапрос.Номенклатура КАК Номенклатура, ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, ВложенныйЗапрос.Регистратор КАК Регистратор, ВложенныйЗапрос.Период КАК Период, НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕНЬ) КАК ПериодДень, НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, НЕДЕЛЯ) КАК ПериодНеделя, НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ДЕКАДА) КАК ПериодДекада, НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, МЕСЯЦ) КАК ПериодМесяц, НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, КВАРТАЛ) КАК ПериодКвартал, НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие, НАЧАЛОПЕРИОДА(ВложенныйЗапрос.Период, ГОД) КАК ПериодГод, СУММА(ВложенныйЗапрос.Количество) КАК Количество, СУММА(ВложенныйЗапрос.КоличествоЕдиницОтчетов) КАК КоличествоЕдиницОтчетов, СУММА(ВложенныйЗапрос.КоличествоБазовыхЕдиниц) КАК КоличествоБазовыхЕдиниц, СУММА(ВложенныйЗапрос.Стоимость) КАК Стоимость, СУММА(ВложенныйЗапрос.СтоимостьНДС) КАК СтоимостьНДС, СУММА(ВложенныйЗапрос.СтоимостьСНДС) КАК СтоимостьСНДС, СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость, СУММА(ВложенныйЗапрос.СебестоимостьНДС) КАК СебестоимостьНДС, СУММА(ВложенныйЗапрос.СебестоимостьСНДС) КАК СебестоимостьСНДС, СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость) КАК ВаловаяПрибыль, 100 * ВЫБОР КОГДА СУММА(ВложенныйЗапрос.Себестоимость) <> 0 ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕСТЬNULL(СУММА(ВложенныйЗапрос.Себестоимость), 1) ИНАЧЕ 0 КОНЕЦ КАК Эффективность, 100 * ВЫБОР КОГДА СУММА(ВложенныйЗапрос.Стоимость) <> 0 ТОГДА (СУММА(ВложенныйЗапрос.Стоимость) - СУММА(ВложенныйЗапрос.Себестоимость)) / ЕСТЬNULL(СУММА(ВложенныйЗапрос.Стоимость), 1) ИНАЧЕ 0 КОНЕЦ КАК Рентабельность, СУММА(ВложенныйЗапрос.СтоимостьСНДС) - СУММА(ВложенныйЗапрос.СебестоимостьСНДС) КАК ВаловаяПрибыльСНДС, 100 * ВЫБОР КОГДА СУММА(ВложенныйЗапрос.СебестоимостьСНДС) <> 0 ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьСНДС) - СУММА(ВложенныйЗапрос.СебестоимостьСНДС)) / ЕСТЬNULL(СУММА(ВложенныйЗапрос.СебестоимостьСНДС), 1) ИНАЧЕ 0 КОНЕЦ КАК ЭффективностьСНДС, 100 * ВЫБОР КОГДА СУММА(ВложенныйЗапрос.СтоимостьСНДС) <> 0 ТОГДА (СУММА(ВложенныйЗапрос.СтоимостьСНДС) - СУММА(ВложенныйЗапрос.СебестоимостьСНДС)) / ЕСТЬNULL(СУММА(ВложенныйЗапрос.СтоимостьСНДС), 1) ИНАЧЕ 0 КОНЕЦ КАК РентабельностьСНДС {ВЫБРАТЬ Организация, Проект, Подразделение, Покупатель, ДоговорПокупателя, Номенклатура, ХарактеристикаНоменклатуры, ЗаказПокупателя, Регистратор, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод} ИЗ (ВЫБРАТЬ ПродажиОбороты.Проект КАК Проект, ПродажиОбороты.Подразделение КАК Подразделение, ПродажиОбороты.Контрагент КАК Покупатель, ПродажиОбороты.ДоговорКонтрагента КАК ДоговорПокупателя, ПродажиОбороты.Номенклатура КАК Номенклатура, ПродажиОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя, ПродажиОбороты.Организация КАК Организация, ПродажиОбороты.Регистратор КАК Регистратор, ПродажиОбороты.Период КАК Период, ПродажиОбороты.КоличествоОборот КАК Количество, ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) / ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент, 1) КАК КоличествоЕдиницОтчетов, ПродажиОбороты.КоличествоОборот * ЕСТЬNULL(ПродажиОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент, 1) КАК КоличествоБазовыхЕдиниц, ПродажиОбороты.СтоимостьОборот КАК Стоимость, ПродажиОбороты.НДСОборот КАК СтоимостьНДС, ПродажиОбороты.СтоимостьОборот + ПродажиОбороты.НДСОборот КАК СтоимостьСНДС, ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот, 0) КАК Себестоимость, ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.НДСОборот, 0) КАК СебестоимостьНДС, ЕСТЬNULL(ТаблицаРегистраПродажиСебестоимость.СтоимостьОборот + ТаблицаРегистраПродажиСебестоимость.НДСОборот, 0) КАК СебестоимостьСНДС ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, Регистратор, {(Организация).* КАК Организация, (Проект).* КАК Проект, (Подразделение).* КАК Подразделение, (Контрагент).* КАК Покупатель, (ДоговорКонтрагента).* КАК ДоговорПокупателя, (Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (ЗаказПокупателя).* КАК ЗаказПокупателя}) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПродажиСебестоимость.Номенклатура КАК Номенклатура, ПродажиСебестоимость.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя, ВЫБОР КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО ТОГДА ПродажиСебестоимость.ДокументДвижения ИНАЧЕ ПродажиСебестоимость.Регистратор КОНЕЦ КАК Регистратор, СУММА(ПродажиСебестоимость.Стоимость) КАК СтоимостьОборот, СУММА(ПродажиСебестоимость.НДС) КАК НДСОборот ИЗ РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость ГДЕ ПродажиСебестоимость.Период МЕЖДУ &ДатаНачала И &ДатаКонца {ГДЕ ПродажиСебестоимость.Проект.* КАК Проект, ПродажиСебестоимость.Подразделение.* КАК Подразделение, ПродажиСебестоимость.Номенклатура.* КАК Номенклатура, ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя} СГРУППИРОВАТЬ ПО ПродажиСебестоимость.Номенклатура, ПродажиСебестоимость.ХарактеристикаНоменклатуры, ПродажиСебестоимость.ЗаказПокупателя, ВЫБОР КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО ТОГДА ПродажиСебестоимость.ДокументДвижения ИНАЧЕ ПродажиСебестоимость.Регистратор КОНЕЦ) КАК ТаблицаРегистраПродажиСебестоимость ПО (ТаблицаРегистраПродажиСебестоимость.Номенклатура = ПродажиОбороты.Номенклатура) И (ТаблицаРегистраПродажиСебестоимость.ХарактеристикаНоменклатуры = ПродажиОбороты.ХарактеристикаНоменклатуры) И (ТаблицаРегистраПродажиСебестоимость.ЗаказПокупателя = ПродажиОбороты.ЗаказПокупателя) И (ТаблицаРегистраПродажиСебестоимость.Регистратор = ПродажиОбороты.Регистратор)) КАК ВложенныйЗапрос СГРУППИРОВАТЬ ПО ВложенныйЗапрос.Организация, ВложенныйЗапрос.Проект, ВложенныйЗапрос.Подразделение, ВложенныйЗапрос.Покупатель, ВложенныйЗапрос.ДоговорПокупателя, ВложенныйЗапрос.Номенклатура, ВложенныйЗапрос.ХарактеристикаНоменклатуры, ВложенныйЗапрос.ЗаказПокупателя, ВложенныйЗапрос.Регистратор, ВложенныйЗапрос.Период ИМЕЮЩИЕ (СУММА(ВложенныйЗапрос.Количество) <> 0 ИЛИ СУММА(ВложенныйЗапрос.Стоимость) <> 0 ИЛИ СУММА(ЕСТЬNULL(ВложенныйЗапрос.Себестоимость, 0)) <> 0)) КАК ВложенныйЗапрос {ГДЕ ВложенныйЗапрос.Регистратор.*, ВложенныйЗапрос.Период, ВложенныйЗапрос.ПериодДень, ВложенныйЗапрос.ПериодНеделя, ВложенныйЗапрос.ПериодДекада, ВложенныйЗапрос.ПериодМесяц, ВложенныйЗапрос.ПериодКвартал, ВложенныйЗапрос.ПериодПолугодие, ВложенныйЗапрос.ПериодГод, ВложенныйЗапрос.Количество, ВложенныйЗапрос.КоличествоЕдиницОтчетов, ВложенныйЗапрос.КоличествоБазовыхЕдиниц, ВложенныйЗапрос.Стоимость, ВложенныйЗапрос.СтоимостьНДС, ВложенныйЗапрос.СтоимостьСНДС, (ВложенныйЗапрос.Стоимость / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1)) КАК СтоимостьЦена, (ВложенныйЗапрос.СтоимостьСНДС / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1)) КАК СтоимостьСНДСЦена, ВложенныйЗапрос.Себестоимость, ВложенныйЗапрос.СебестоимостьНДС, ВложенныйЗапрос.СебестоимостьСНДС, (ВложенныйЗапрос.Себестоимость / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1)) КАК СебестоимостьЦена, (ВложенныйЗапрос.СебестоимостьСНДС / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1)) КАК СебестоимостьСНДСЦена, ВложенныйЗапрос.ВаловаяПрибыль, ВложенныйЗапрос.Эффективность, ВложенныйЗапрос.Рентабельность} {УПОРЯДОЧИТЬ ПО Организация.*, Проект.*, Подразделение.*, Покупатель.*, ДоговорПокупателя.*, Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод, Количество, КоличествоЕдиницОтчетов, КоличествоБазовыхЕдиниц, Стоимость, СтоимостьНДС, СтоимостьСНДС, СтоимостьЦена, СтоимостьСНДСЦена, СебестоимостьЦена, СебестоимостьСНДССЦена, Себестоимость, СебестоимостьНДС, СебестоимостьСНДС, ВаловаяПрибыль, Эффективность, Рентабельность} ИТОГИ СУММА(Количество), СУММА(КоличествоЕдиницОтчетов), СУММА(КоличествоБазовыхЕдиниц), СУММА(Стоимость), СУММА(СтоимостьНДС), СУММА(СтоимостьСНДС), МАКСИМУМ(СтоимостьЦена), МАКСИМУМ(СтоимостьСНДСЦена), СУММА(Себестоимость), СУММА(СебестоимостьНДС), СУММА(СебестоимостьСНДС), МАКСИМУМ(СебестоимостьЦена), МАКСИМУМ(СебестоимостьСНДССЦена), СУММА(Стоимость) - СУММА(Себестоимость) КАК ВаловаяПрибыль, СУММА(СтоимостьСНДС) - СУММА(СебестоимостьСНДС) КАК ВаловаяПрибыльСНДС, 100 * ВЫБОР КОГДА СУММА(Себестоимость) <> 0 ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / ЕСТЬNULL(СУММА(Себестоимость), 1) ИНАЧЕ 0 КОНЕЦ КАК Эффективность, 100 * ВЫБОР КОГДА СУММА(СебестоимостьСНДС) <> 0 ТОГДА (СУММА(СтоимостьСНДС) - СУММА(СебестоимостьСНДС)) / ЕСТЬNULL(СУММА(СебестоимостьСНДС), 1) ИНАЧЕ 0 КОНЕЦ КАК ЭффективностьСНДС, 100 * ВЫБОР КОГДА СУММА(Стоимость) <> 0 ТОГДА (СУММА(Стоимость) - СУММА(Себестоимость)) / ЕСТЬNULL(СУММА(Стоимость), 1) ИНАЧЕ 0 КОНЕЦ КАК Рентабельность, 100 * ВЫБОР КОГДА СУММА(СтоимостьСНДС) <> 0 ТОГДА (СУММА(СтоимостьСНДС) - СУММА(СебестоимостьСНДС)) / ЕСТЬNULL(СУММА(СтоимостьСНДС), 1) ИНАЧЕ 0 КОНЕЦ КАК РентабельностьСНДС ПО ОБЩИЕ {ИТОГИ ПО Организация.*, Проект.*, Подразделение.*, Покупатель.*, ДоговорПокупателя.*, Номенклатура.*, ХарактеристикаНоменклатуры.*, ЗаказПокупателя.*, Регистратор.*, Период, ПериодДень, ПериодНеделя, ПериодДекада, ПериодМесяц, ПериодКвартал, ПериодПолугодие, ПериодГод} |
|||
7
Mashap
11.05.12
✎
17:09
|
(5) Конструкция
ЕСТЬNULL(ВложенныйЗапрос.Себестоимость / ЕСТЬNULL(ВложенныйЗапрос.Количество, 1), 1) КАК СебестоимостьЦена не подойдет? |
|||
8
Нуф-Нуф
11.05.12
✎
17:09
|
я бы за вложенные руки отрубал
|
|||
9
Mashap
11.05.12
✎
17:10
|
(8) почему?
|
|||
10
salvator
11.05.12
✎
17:10
|
(7) NULL <> 0
|
|||
11
acsent
11.05.12
✎
17:10
|
ВложенныйЗапрос.Количество = 0
ЕСТЬNULL(ВложенныйЗапрос.Количество, 1) = 0 |
|||
12
х86
11.05.12
✎
17:11
|
(7)не, неподойдёт, т.к. ВложенныйЗапрос.Количество может быть равно 0
|
|||
13
Mashap
11.05.12
✎
17:12
|
(10), (12) Тогда почему в консоли работает?
|
|||
14
sash-ml
11.05.12
✎
17:13
|
в (5) все правильно + для итогов
ВЫБОР КОГДА Сумма(Делитель) = 0 ТОГДА 0 ИНАЧЕ Сумма(Делимое) / Сумма(Делитель) КОНЕЦ |
|||
15
salvator
11.05.12
✎
17:14
|
(13) Может период другой?
|
|||
16
sash-ml
11.05.12
✎
17:14
|
(13) построитель проверяет по пустым датам, а в консоли четко задан интервал
|
|||
17
Mashap
11.05.12
✎
17:14
|
(15) тот же
|
|||
18
Mashap
11.05.12
✎
17:17
|
ладно, сейчас попробую, спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |