|
Подскажите как добавить показатель в отчет на базе универсального | ☑ | ||
---|---|---|---|---|
0
Xelga
13.07.12
✎
11:05
|
В конфигурации управление автотранспортом нужно в отчете, сделанном на базе универсального добавить поле Цена.
В запросе поле добавила, в итоги его включила, строку УниверсальныйОтчет.ДобавитьПоказатель добавила. В итоге выдает ошибку - Поле не найдено "Цена". Подскажите в чем дело? // Содержит название отчета, которое будет выводиться в шапке. // Тип: Строка. // Пример: // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета"; УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним); Если ДополнительныеПараметры <> Неопределено Тогда //уатОбщегоНазначения.уатВосстановитьРеквизитыОтчета(ЭтотОбъект, ДополнительныеПараметры); КонецЕсли; УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь; УниверсальныйОтчет.мВыбиратьИспользованиеСвойств = Ложь; ТекстЗапроса = "ВЫБРАТЬ | уатАгрегатыТССрезПоследних.ТС КАК ТС, | уатАгрегатыТССрезПоследних.СерияНоменклатуры КАК Агрегат, | уатАгрегатыТССрезПоследних.СостояниеАгрегата КАК СостояниеАгрегата, | уатАгрегатыТССрезПоследних.МестоУстановки КАК МестоУстановки, | уатАгрегатыТССрезПоследних.Период КАК ДатаУстановки, | уатАгрегатыТССрезПоследних.Регистратор КАК ДокументУстановки, | уатАгрегатыТССрезПоследних.ТС.ГаражныйНомер КАК ТСГарНомер, | уатАгрегатыТССрезПоследних.ТС.ГосударственныйНомер КАК ТСГосНомер, | уатАгрегатыТССрезПоследних.СерияНоменклатуры.СерийныйНомер КАК АгрегатПредставление, | уатАгрегатыТССрезПоследних.СерияНоменклатуры.ТипАгрегата КАК ТипАгрегата, | ВЫБОР | КОГДА уатПоступлениеАгрегатовАккумуляторы.Цена ЕСТЬ НЕ NULL ТОГДА уатПоступлениеАгрегатовАккумуляторы.Цена | КОГДА уатПоступлениеАгрегатовПрочиеАгрегаты.Цена ЕСТЬ НЕ NULL ТОГДА уатПоступлениеАгрегатовПрочиеАгрегаты.Цена | ИНАЧЕ уатПоступлениеАгрегатовШины.Цена КОНЕЦ КАК Цена |{ВЫБРАТЬ | ТС.*, | Агрегат.*, | СостояниеАгрегата.*, | МестоУстановки.*, | ДатаУстановки, | ДокументУстановки.*, | ТСГарНомер, | ТСГосНомер, | ТипАгрегата.*} |ИЗ | РегистрСведений.уатАгрегатыТС.СрезПоследних(&ДатаКон, ) КАК уатАгрегатыТССрезПоследних | ЛЕВОЕ СОЕДИНЕНИЕ Документ.уатПоступлениеАгрегатов.Шины КАК уатПоступлениеАгрегатовШины | ПО (уатПоступлениеАгрегатовШины.СерияНоменклатуры = уатАгрегатыТССрезПоследних.СерияНоменклатуры) | ЛЕВОЕ СОЕДИНЕНИЕ Документ.уатПоступлениеАгрегатов.Аккумуляторы КАК уатПоступлениеАгрегатовАккумуляторы | ПО (уатПоступлениеАгрегатовАккумуляторы.СерияНоменклатуры = уатАгрегатыТССрезПоследних.СерияНоменклатуры) | ЛЕВОЕ СОЕДИНЕНИЕ Документ.уатПоступлениеАгрегатов.ПрочиеАгрегаты КАК уатПоступлениеАгрегатовПрочиеАгрегаты | ПО (уатПоступлениеАгрегатовПрочиеАгрегаты.СерияНоменклатуры = уатАгрегатыТССрезПоследних.СерияНоменклатуры) |ГДЕ | (уатАгрегатыТССрезПоследних.СостояниеАгрегата = ЗНАЧЕНИЕ(Перечисление.уатСостоянияАгрегатов.УстановленоВРаботе) | ИЛИ уатАгрегатыТССрезПоследних.СостояниеАгрегата = ЗНАЧЕНИЕ(Перечисление.уатСостоянияАгрегатов.УстановленоВЗапас)) |{ГДЕ | уатАгрегатыТССрезПоследних.ТС.*, | уатАгрегатыТССрезПоследних.СерияНоменклатуры.* КАК Агрегат, | уатАгрегатыТССрезПоследних.СостояниеАгрегата.*, | уатАгрегатыТССрезПоследних.МестоУстановки.*, | уатАгрегатыТССрезПоследних.Период, | уатАгрегатыТССрезПоследних.Регистратор.*, | уатАгрегатыТССрезПоследних.ТС.ГаражныйНомер КАК ТСГарНомер, | уатАгрегатыТССрезПоследних.ТС.ГосударственныйНомер, | уатАгрегатыТССрезПоследних.СерияНоменклатуры.ТипАгрегата.* КАК ТипАгрегата, | (ВЫБОР | КОГДА уатАгрегатыТССрезПоследних.ТС.ДатаВыбытия <> ДАТАВРЕМЯ(1, 1, 1) | ТОГДА ИСТИНА | КОГДА уатАгрегатыТССрезПоследних.ТС.ДатаВыбытия = ДАТАВРЕМЯ(1, 1, 1) | ТОГДА ЛОЖЬ | КОНЕЦ) КАК ТСВыбыло} |{УПОРЯДОЧИТЬ ПО | ТС.*, | Агрегат.*, | СостояниеАгрегата.*, | МестоУстановки.*, | ДатаУстановки, | ДокументУстановки.*, | ТСГарНомер, | ТСГосНомер, | ТипАгрегата.*} |ИТОГИ ПО | ТС, | Агрегат, | СостояниеАгрегата, | МестоУстановки, | ДатаУстановки, | ДокументУстановки, | Цена |{ИТОГИ ПО | ТС.*, | Агрегат.*, | СостояниеАгрегата.*, | МестоУстановки.*, | ДатаУстановки, | ДокументУстановки.*, | ТСГарНомер, | ТСГосНомер, | Цена, | ТипАгрегата.*}"; // В универсальном отчете включен флаг использования свойств и категорий. //Если УниверсальныйОтчет.ИспользоватьСвойстваИКатегории Тогда // // // Добавление свойств и категорий поля запроса в таблицу полей. // // Необходимо вызывать для каждого поля запроса, предоставляющего возможность использования свойств и категорий. // // // УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля(<ПсевдонимТаблицы>.<Поле> , // <ПсевдонимПоля>, <Представление>, <Назначение>); // УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("уатДТП.Заказчик", "Заказчик", "Заказчик", // ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Контрагенты); // // // Добавление свойств и категорий в исходный текст запроса. // УниверсальныйОтчет.ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса); // //КонецЕсли; // Инициализация текста запроса построителя отчета УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса; Пока УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Количество() > 0 Цикл УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Удалить(УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки[0]); КонецЦикла; // Представления полей отчета. // Необходимо вызывать для каждого поля запроса. // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ТипАгрегата" , "Тип агрегата"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("СостояниеАгрегата", "Состояние агрегата"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("МестоУстановки" , "Место установки"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДатаУстановки" , "Дата установки"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ТСГарНомер" , "ТС (гар. номер)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ТСГосНомер" , "ТС (гос. номер)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ТС" , "ТС (все поля)"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ТСВыбыло" , "ТС выбыло"); УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("Цена" , "Цена"); УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета); //// Заполнение начальных настроек универсального отчета //УниверсальныйОтчет.УстановитьНачальныеНастройки(Истина); // Добавление показателей // Необходимо вызывать для каждого добавляемого показателя. // УниверсальныйОтчет.ДобавитьПоказатель(<ИмяПоказателя>, <ПредставлениеПоказателя>, <ВключенПоУмолчанию>, <Формат>, <ИмяГруппы>, <ПредставлениеГруппы>); УниверсальныйОтчет.ДобавитьПоказатель("Цена", "Стоимость", Истина, "ЧЦ=15; ЧДЦ=2"); // Добавление предопределенных группировок строк отчета. // Необходимо вызывать для каждой добавляемой группировки строки. // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ТС"); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ТипАгрегата"); УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Агрегат"); // Добавление предопределенных отборов отчета. // Необходимо вызывать для каждого добавляемого отбора. УниверсальныйОтчет.ДобавитьОтбор("ТСГосНомер" , Ложь, ВидСравнения.Содержит); УниверсальныйОтчет.ДобавитьОтбор("ТипАгрегата", Ложь); УниверсальныйОтчет.ДобавитьОтбор("Агрегат" , Ложь); УниверсальныйОтчет.ДобавитьОтбор("ТСВыбыло" , Истина, ВидСравнения.Равно , Ложь); //добавим отбор по умолчанию - только установленные списокУстановленные = Новый СписокЗначений; списокУстановленные.Добавить(Перечисления.уатСостоянияАгрегатов.УстановленоВРаботе); списокУстановленные.Добавить(Перечисления.уатСостоянияАгрегатов.УстановленоВЗапас); УниверсальныйОтчет.ДобавитьОтбор("СостояниеАгрегата", Истина, ВидСравнения.ВСписке, списокУстановленные); // Установка связи подчиненных и родительских полей // УниверсальныйОтчет.УстановитьСвязьПолей(<ПутьКДанным>, <ПутьКДанным>); // Установка связи полей и измерений // УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения(<ИмяПоля>, <ИмяИзмерения>); //УниверсальныйОтчет.УстановитьСвязьПоляИИзмерения("ВыполнениеЗаказовНаТС", "ЗаказНаТС"); // Заполнение начальных настроек универсального отчета УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь); УниверсальныйОтчет.ДобавитьДополнительноеПоле("ТСГосНомер"); //УниверсальныйОтчет.ДобавитьДополнительноеПоле("Цена"); |
|||
1
ICWiner
13.07.12
✎
11:09
|
Кури вот это:
http://infostart.ru/public/62223/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |