Имя: Пароль:
1C
 
Универсальный отчет не присваивает синонимы полям, пока его не сформируешь
0 Fuas4
 
25.12.15
17:17
Господа, с универсальным отчетом не очень дружу, подскажите, плз, почему при открытии внешнего отчета на базе универсального у меня все поля (например, группировка строк) называются как в запросе, а после того, как я отчет сформирую и обратно в настройки зайду, тогда поля называются нормально? При первом открытии: http://prntscr.com/9ids8g После того, как сформирую отчет: http://prntscr.com/9idshl
Свойства и категории вообще гуидами отображаются пока отчет не сформирован
1 Джинн
 
25.12.15
17:23
Не в ту процедуру кода запихали настройки. Смотрите внимательнее.
2 Nuobu
 
25.12.15
17:24
УниверсальныйОтчет.УстановитьНачальныеНастройки(Ложь);
3 Fuas4
 
25.12.15
17:26
(2) Эту проуедуру вызываю в самом конце процедуры "УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено)" модуля объекта
(1) Не должен был. Я взял типовой отчет из УТ 10.3 и переписал процедуру УстановитьНачальныеНастройки. Больше никуда не лез
4 Fuas4
 
25.12.15
17:30
Код на всякий случай:

Процедура УстановитьНачальныеНастройки(ДополнительныеПараметры = Неопределено) Экспорт
        
        // Настройка общих параметров универсального отчета
        
        // Содержит название отчета, которое будет выводиться в шапке.
        // Тип: Строка.
        // Пример:
        // УниверсальныйОтчет.мНазваниеОтчета = "Название отчета";
        УниверсальныйОтчет.мНазваниеОтчета = СокрЛП(ЭтотОбъект.Метаданные().Синоним);
        
        // Содержит признак необходимости отображения надписи и поля выбора раздела учета в форме настройки.
        // Тип: Булево.
        // Значение по умолчанию: Истина.
        // Пример:
        // УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
        УниверсальныйОтчет.мВыбиратьИмяРегистра = Ложь;
        
        // Содержит имя регистра, по метаданным которого будет выполняться заполнение настроек отчета.
        // Тип: Строка.
        // Пример:
        // УниверсальныйОтчет.ИмяРегистра = "ТоварыНаСкладах";
        //УниверсальныйОтчет.ИмяРегистра = "ПродажиПоДисконтнымКартам";
        // Описание исходного текста запроса.
        ТекстЗапроса = тут_длинный_запрос;
        
                
        // Представления полей отчета.
        // Необходимо вызывать для каждого поля запроса.
        // УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить(<ИмяПоля>, <ПредставлениеПоля>);
        // В универсальном отчете включен флаг использования свойств и категорий.
        Если УниверсальныйОтчет.ИспользоватьСвойстваИКатегории Тогда
            
            // Добавление свойств и категорий поля запроса в таблицу полей.
            // Необходимо вызывать для каждого поля запроса, предоставляющего возможность использования свойств и категорий.
            
            // УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля(<ПсевдонимТаблицы>.<Поле> , <ПсевдонимПоля>, <Представление>, <Назначение>);
            УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ИсточникДанных.Номенклатура", "Номенклатура", "Номенклатура", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура);
            //УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ИсточникДанных.ХарактеристикаНоменклатуры", "ХарактеристикаНоменклатуры", "Характеристика номенклатуры", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры);
            УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ИсточникДанных.Склад", "Склад", "Склад", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Склады);
            УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ИсточникДанных.Регистратор", "Регистратор", "Регистратор", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы);
            //УниверсальныйОтчет.ДобавитьСвойстваИКатегорииДляПоля("ИсточникДанных.Заказ", "Заказ", "Заказ", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Документы);
            
            // Добавление свойств и категорий в исходный текст запроса.
            УниверсальныйОтчет.ДобавитьВТекстЗапросаСвойстваИКатегории(ТекстЗапроса);
            
        КонецЕсли;
        
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПериодДень", "По дням");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПериодНеделя", "По неделям");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПериодДекада", "По декадам");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПериодМесяц", "По месяцам");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПериодКвартал", "По кварталам");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПериодПолугодие", "По полугодиям");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ПериодГод", "По годам");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ВидДисконтнойКарты", "Вид дисконтной карты");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ВладелецДисконтнойКарты", "Владелец дисконтной карты");
        УниверсальныйОтчет.мСтруктураПредставлениеПолей.Вставить("ДисконтнаяКарта", "Дисконтная карта");
        УниверсальныйОтчет.ПостроительОтчета.Текст = ТекстЗапроса;
        
        
        УниверсальныйОтчет.ДобавитьПолеГруппировка("ВидДисконтнойКарты", "ДисконтнаяКарта", "ВидДисконтнойКарты", "Вид карты");
        
        
        
        УниверсальныйОтчет.ДобавитьПоказатель("Количество", "Количество",Истина);    
        УниверсальныйОтчет.ДобавитьПоказатель("СуммаБезСкидки", "Сумма без скидки",Истина);
        УниверсальныйОтчет.ДобавитьПоказатель("ПроцентСкидки", "Скидка (%)",Истина);
        УниверсальныйОтчет.ДобавитьПоказатель("Скидка", "Скидка",Истина);
        УниверсальныйОтчет.ДобавитьПоказатель("СуммаСоСкидкой", "Сумма со скидкой",Истина,"ЧДЦ=2");
        
        // Добавление предопределенных группировок строк отчета.
        // Необходимо вызывать для каждой добавляемой группировки строки.
        // УниверсальныйОтчет.ДобавитьИзмерениеСтроки(<ПутьКДанным>);
        //УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ВидДисконтнойКарты");
        УниверсальныйОтчет.ПостроительОтчета.ИзмеренияСтроки.Очистить();
        УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ДисконтнаяКарта");
        УниверсальныйОтчет.ДобавитьИзмерениеСтроки("ПериодМесяц");
        УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Номенклатура");
        УниверсальныйОтчет.ДобавитьИзмерениеСтроки("Склад");
        // В универсальном отчете включен флаг использования свойств и категорий.
        
        УниверсальныйОтчет.ДобавитьОтбор("ДисконтнаяКарта");
        УниверсальныйОтчет.ДобавитьОтбор("ВладелецДисконтнойКарты");
        УниверсальныйОтчет.ДобавитьОтбор("Номенклатура");    
        УниверсальныйОтчет.ДобавитьОтбор("Склад");
        УниверсальныйОтчет.ДобавитьОтбор("Регистратор");
        
        
        УниверсальныйОтчет.УстановитьНачальныеНастройки(ЛОжь);
    КонецПроцедуры // УстановитьНачальныеНастройки()
5 Fuas4
 
25.12.15
18:32
ап
6 Fuas4
 
25.12.15
18:33
Все, нашел. Не хватало: УниверсальныйОтчет.УстановитьПредставленияПолей(УниверсальныйОтчет.мСтруктураПредставлениеПолей, УниверсальныйОтчет.ПостроительОтчета);