|
универсальный отчет | ☑ | ||
---|---|---|---|---|
0
vip67
28.04.14
✎
20:22
|
ДОбрый вечер! Помогите разобраться с шайтаном!
Есть отчет, который использует универсальный отчет. в этом отчете в процедуре УстановитьНачальныеНастройки я поменял лишь текст запроса - было: ТекстЗапроса = "ВЫБРАТЬ | ВложенныйЗапрос.Контрагент КАК Контрагент, | ВложенныйЗапрос.ДоговорКонтрагента КАК ДоговорКонтрагента, | ВложенныйЗапрос.ЗаказПокупателя КАК ЗаказПокупателя, | СУММА(ВложенныйЗапрос.СуммаПродажи) КАК СуммаПродажи, | СУММА(ВложенныйЗапрос.СуммаОплаты) КАК СуммаОплаты, | СУММА(ВложенныйЗапрос.Себестоимость) КАК Себестоимость, | СУММА(ВложенныйЗапрос.СуммаЗатрат) КАК СуммаЗатрат, | СУММА(ВложенныйЗапрос.СуммаПродажи - ВложенныйЗапрос.Себестоимость) КАК Прибыль, | СУММА(ВложенныйЗапрос.СуммаПродажи - ВложенныйЗапрос.Себестоимость - ЕСТЬNULL(ВложенныйЗапрос.СуммаЗатрат, 0)) КАК ЧистаяПрибыль, | СУММА(ВложенныйЗапрос.СуммаОплаты / ВложенныйЗапрос.СуммаПродажи * 100) КАК ПроцентОплаты, | СУММА(ВложенныйЗапрос.СуммаОплаты / ВложенныйЗапрос.СуммаПродажи * (ВложенныйЗапрос.СуммаПродажи - ВложенныйЗапрос.Себестоимость - ЕСТЬNULL(ВложенныйЗапрос.СуммаЗатрат, 0))) КАК ОплаченаяЧистаяПрибыль, | ЗаказПокупателяТовары.Номенклатура КАК Номенклатура, | СУММА(ЗаказПокупателяТовары.Количество) КАК Количество |{ВЫБРАТЬ | Контрагент.*, | ДоговорКонтрагента.*, | ЗаказПокупателя.*, | Номенклатура.*, | Количество, | СуммаПродажи, | СуммаОплаты, | Себестоимость, | СуммаЗатрат, | Прибыль, | ЧистаяПрибыль, | ПроцентОплаты, | ОплаченаяЧистаяПрибыль} |ИЗ | (ВЫБРАТЬ | ПродажиОбороты.Контрагент КАК Контрагент, | ПродажиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, | ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя, | ПродажиОбороты.СтоимостьОборот КАК СуммаПродажи, | Оплата.СуммаОплаты КАК СуммаОплаты, | ТабСебестоимость.Себестоимость КАК Себестоимость, | ЗатратыОбороты.СуммаПриход КАК СуммаЗатрат | ИЗ | (ВЫБРАТЬ | ВложенныйЗапрос.ДокументРеализации КАК ДокументРеализации, | СУММА(ВложенныйЗапрос.СуммаОплаты) КАК СуммаОплаты | ИЗ | (ВЫБРАТЬ | ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.ДокументРасчетовСКонтрагентом КАК ДокументРеализации, | СУММА(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.СуммаВзаиморасчетовРасход) КАК СуммаОплаты | ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты(&ДатаНачОст, &ДатаКонОст, Регистратор, , ТИПЗНАЧЕНИЯ(ДокументРасчетовСКонтрагентом) = ТИП(Документ.РеализацияТоваровУслуг)) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты | ГДЕ | ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.ДокументРасчетовСКонтрагентом <> ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.Регистратор | | СГРУППИРОВАТЬ ПО | ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.ДокументРасчетовСКонтрагентом | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.Регистратор, | ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.СуммаВзаиморасчетовПриход | ИЗ | РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.ОстаткиИОбороты(&ДатаНачОст, &ДатаКонОст, Регистратор, , ) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты | ГДЕ | ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.Регистратор <> ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.ДокументРасчетовСКонтрагентом | И ТИПЗНАЧЕНИЯ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстаткиИОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)) КАК ВложенныйЗапрос | | СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.ДокументРеализации) КАК Оплата | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, , Регистратор, ) КАК ПродажиОбороты | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ КАК Регистратор, | СУММА(ПродажиСебестоимость.Стоимость) КАК Себестоимость | ИЗ | РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость | {ГДЕ | ПродажиСебестоимость.Проект.* КАК Проект, | ПродажиСебестоимость.Подразделение.* КАК Подразделение, | ПродажиСебестоимость.Номенклатура.* КАК Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя} | | СГРУППИРОВАТЬ ПО | ПродажиСебестоимость.ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ) КАК ТабСебестоимость | ПО ПродажиОбороты.ЗаказПокупателя = ТабСебестоимость.ЗаказПокупателя | И ПродажиОбороты.Регистратор = ТабСебестоимость.Регистратор | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Затраты.Обороты(, , , ) КАК ЗатратыОбороты | ПО ПродажиОбороты.ЗаказПокупателя = ЗатратыОбороты.Заказ | ПО Оплата.ДокументРеализации = ПродажиОбороты.ДокументПродажи | {ГДЕ | ПродажиОбороты.Контрагент.*, | ПродажиОбороты.ДоговорКонтрагента.*, | ПродажиОбороты.ЗаказПокупателя.*}) КАК ВложенныйЗапрос | ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары | ПО ВложенныйЗапрос.ЗаказПокупателя = ЗаказПокупателяТовары.Ссылка |ГДЕ | НЕ ВложенныйЗапрос.ЗаказПокупателя.Ссылка ЕСТЬ NULL |{ГДЕ | ВложенныйЗапрос.Контрагент.*, | ВложенныйЗапрос.ДоговорКонтрагента.*, | ВложенныйЗапрос.ЗаказПокупателя.*, | ВложенныйЗапрос.СуммаПродажи, | ВложенныйЗапрос.СуммаОплаты, | ВложенныйЗапрос.Себестоимость, | ВложенныйЗапрос.СуммаЗатрат, | (ВложенныйЗапрос.СуммаПродажи - ВложенныйЗапрос.Себестоимость) КАК Прибыль, | (ВложенныйЗапрос.СуммаПродажи - ВложенныйЗапрос.Себестоимость - ЕСТЬNULL(ВложенныйЗапрос.СуммаЗатрат, 0)) КАК ЧистаяПрибыль, | (ВложенныйЗапрос.СуммаОплаты / ВложенныйЗапрос.СуммаПродажи * 100) КАК ПроцентОплаты, | (ВложенныйЗапрос.СуммаОплаты / ВложенныйЗапрос.СуммаПродажи * (ВложенныйЗапрос.СуммаПродажи - ВложенныйЗапрос.Себестоимость - ЕСТЬNULL(ВложенныйЗапрос.СуммаЗатрат, 0))) КАК ОплаченаяЧистаяПрибыль} | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Контрагент, | ВложенныйЗапрос.ДоговорКонтрагента, | ВложенныйЗапрос.ЗаказПокупателя, | ЗаказПокупателяТовары.Номенклатура | |УПОРЯДОЧИТЬ ПО | Контрагент, | ДоговорКонтрагента, | ЗаказПокупателя, | Номенклатура, | ПроцентОплаты УБЫВ |{УПОРЯДОЧИТЬ ПО | Контрагент.*, | ДоговорКонтрагента.*, | ЗаказПокупателя.*, | СуммаПродажи, | СуммаОплаты, | Себестоимость, | СуммаЗатрат, | Прибыль, | ЧистаяПрибыль, | ПроцентОплаты, | ОплаченаяЧистаяПрибыль} |ИТОГИ | СУММА(СуммаПродажи), | СУММА(СуммаОплаты), | СУММА(Себестоимость), | СУММА(СуммаЗатрат), | СУММА(Прибыль), | СУММА(ЧистаяПрибыль), | СУММА(СуммаОплаты) / СУММА(СуммаПродажи) * 100 КАК ПроцентОплаты, | СУММА(ОплаченаяЧистаяПрибыль), | СУММА(Количество) |ПО | ОБЩИЕ, | Контрагент, | ДоговорКонтрагента, | ЗаказПокупателя, | Номенклатура |{ИТОГИ ПО | Контрагент.*, | ДоговорКонтрагента.*, | ЗаказПокупателя.*, | Номенклатура.*, | Количество, | СуммаПродажи, | СуммаОплаты, | Себестоимость, | СуммаЗатрат, | Прибыль, | ЧистаяПрибыль, | ПроцентОплаты, | ОплаченаяЧистаяПрибыль}"; стало: ТекстЗапроса = "ВЫБРАТЬ | ПродажиОбороты.Номенклатура КАК Номенклатура, | СУММА(ПродажиОбороты.КоличествоОборот) КАК Количество, | СУММА(ПродажиОбороты.СтоимостьОборот) КАК СуммаПродажи, | СУММА(Платеж.СуммаВзаиморасчетовРасход) КАК СуммаОплаты, | ПродажиОбороты.Контрагент КАК Контрагент, | ПродажиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, | ПродажиОбороты.ЗаказПокупателя КАК ЗаказПокупателя, | СУММА(ЗатратыОбороты.СуммаПриход) КАК СуммаЗатрат |{ВЫБРАТЬ | Номенклатура.*} |ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНачОст, &ДатаКонОст, Запись, ) КАК ПродажиОбороты | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | РасчетыСКонтрагентамиОбороты.Контрагент КАК Контрагент, | РасчетыСКонтрагентамиОбороты.ДоговорКонтрагента КАК ДоговорКонтрагента, | РасчетыСКонтрагентамиОбороты.Сделка КАК Сделка, | РасчетыСКонтрагентамиОбороты.Регистратор КАК Регистратор, | РасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовРасход КАК СуммаВзаиморасчетовРасход | ИЗ | РегистрНакопления.РасчетыСКонтрагентами.Обороты(&ДатаНачОст, &ДатаКонОст, Регистратор, ) КАК РасчетыСКонтрагентамиОбороты | ГДЕ | РасчетыСКонтрагентамиОбороты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее | И РасчетыСКонтрагентамиОбороты.СуммаУпрРасход > 0) КАК Платеж | ПО ПродажиОбороты.Контрагент = Платеж.Контрагент | И ПродажиОбороты.ДоговорКонтрагента = Платеж.ДоговорКонтрагента | И ПродажиОбороты.ЗаказПокупателя = Платеж.Сделка | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПродажиСебестоимость.ЗаказПокупателя КАК ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ КАК Регистратор, | СУММА(ПродажиСебестоимость.Стоимость) КАК Себестоимость | ИЗ | РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость | ГДЕ | ПродажиСебестоимость.Период МЕЖДУ &ДатаНачОст И &ДатаКонОст | {ГДЕ | ПродажиСебестоимость.Проект.* КАК Проект, | ПродажиСебестоимость.Подразделение.* КАК Подразделение, | ПродажиСебестоимость.Номенклатура.* КАК Номенклатура, | ПродажиСебестоимость.ХарактеристикаНоменклатуры.* КАК ХарактеристикаНоменклатуры, | ПродажиСебестоимость.ЗаказПокупателя.* КАК ЗаказПокупателя} | | СГРУППИРОВАТЬ ПО | ПродажиСебестоимость.ЗаказПокупателя, | ВЫБОР | КОГДА ПродажиСебестоимость.ДокументДвижения <> НЕОПРЕДЕЛЕНО | ТОГДА ПродажиСебестоимость.ДокументДвижения | ИНАЧЕ ПродажиСебестоимость.Регистратор | КОНЕЦ) КАК ТабСебестоимость | ПО ПродажиОбороты.Регистратор = ТабСебестоимость.Регистратор | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Затраты.Обороты(&ДатаНачОст, &ДатаКонОст, Регистратор, ) КАК ЗатратыОбороты | ПО ПродажиОбороты.Регистратор = ЗатратыОбороты.Регистратор | |СГРУППИРОВАТЬ ПО | ПродажиОбороты.Контрагент, | ПродажиОбороты.ДоговорКонтрагента, | ПродажиОбороты.ЗаказПокупателя, | ПродажиОбороты.Номенклатура | |УПОРЯДОЧИТЬ ПО | Контрагент, | ДоговорКонтрагента, | ПродажиОбороты.ЗаказПокупателя, | Номенклатура |ИТОГИ | СУММА(Количество), | СУММА(СуммаПродажи), | СУММА(СуммаОплаты), | СУММА(СуммаЗатрат) |ПО | ОБЩИЕ, | Контрагент, | ДоговорКонтрагента, | ЗаказПокупателя, | Номенклатура |{ИТОГИ ПО | Номенклатура.*}"; в итоге нажатии на кнопку "Сформировать" выдает ошибку: {Отчет.УниверсальныйОтчет.МодульОбъекта(2764)}: Ошибка при вызове метода контекста (Добавить) МассивВыбранныеПоляПоказатели.Добавить(ПостроительОтчета.ВыбранныеПоля.Добавить(ТекущийПоказатель.Имя)); по причине: Поле не найдено. "Количество" восстанавливаю старый запрос - все работает, с новым - не хочет! |
|||
1
neo_matrix_123
28.04.14
✎
20:29
|
в универсальном отчете есть под учетной записью, которой запускаете ваш - настройки сохраненные. особенно те, что по умолчанию открываются?
открою большой секрет. типовой с такой-же багой вылетает, если перед этим его сформировали по регистру, где было измерение, затем выбрали другую настройку, где такого измерения нет. |
|||
2
vip67
28.04.14
✎
20:44
|
т.е. нужно убрать первоначальные настройки?
|
|||
3
vip67
28.04.14
✎
20:45
|
убрал настройку - не помогло...
|
|||
4
Hans
28.04.14
✎
20:52
|
(3) Проверь все вкладки в консоли запросов по построителю. Попробуй добавить количество туда, где его нет.
|
|||
5
Hans
28.04.14
✎
20:53
|
в фигурных скобках количества не хватает, то что в фигурных скобках - это настройки построителя.
|
|||
6
vip67
28.04.14
✎
20:54
|
(4),(5) смотрел вкладки по построителю - одинаоквые, но действительно - в тексте итоги отличаются - счас порою
|
|||
7
vip67
28.04.14
✎
21:00
|
(4) да,это помогло - появились другие ошибки, но путь найден - СПАСИБО!!!
|
|||
8
ASpire
28.04.14
✎
21:07
|
(7) Ты случайно не воятель типовых? А то мне кажется именно с такими словами новые релизы выходят
|
|||
9
vip67
29.04.14
✎
09:56
|
нет, я не воятель типовых
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |