Имя: Пароль:
1C
 
БП3 Запускаю типовой отчет (ОСВ) программно. Не получается вставить группировки.
0 oslokot
 
13.11.15
17:18
Программно всё работает, но отчет открывается без группировок.
Как правильно указать группировки?

Вот собственно, код


    ИмяОтчета = "ОборотноСальдоваяВедомостьПоСчету";
    Организация = ОбщегоНазначенияБПВызовСервера.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация");

    НачалоПериода = НачалоДня(ОбщегоНазначенияБП.ПолучитьРабочуюДату());
    КонецПериода  = КонецДня(ОбщегоНазначенияБП.ПолучитьРабочуюДату());
    
    ПользовательскиеНастройкиКомпоновкиДанных = Новый ПользовательскиеНастройкиКомпоновкиДанных;
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("Счет", Счет());
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("НачалоПериода" , НачалоПериода);
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("КонецПериода"  , КонецПериода);
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("Организация"   , Организация);
    
    // Пытаюсь указать группировку по номенклатуре...
    НоваяГруппировка = ПользовательскиеНастройкиКомпоновкиДанных.Элементы.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
    НоваяГруппировка.ИдентификаторПользовательскойНастройки = "Группировка";    
    НовыйЭлемент = НоваяГруппировка.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    НовыйЭлемент.Использование     = Истина;
    НовыйЭлемент.Поле           = Новый ПолеКомпоновкиДанных("Номенклатура");
    НовыйЭлемент.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;
    
    НастройкиРасшифровки = Новый Структура;
    НастройкиРасшифровки.Вставить(ИмяОтчета, ПользовательскиеНастройкиКомпоновкиДанных);
    
    УсловияОтбора = Новый Структура();
    УсловияОтбора.Вставить("НастройкиРасшифровки", НастройкиРасшифровки);
    
    //Дублируем настройки (у меня в файловой без этого не открывалось)
    ОбщиеНастройки = Новый Структура();
    ОбщиеНастройки.Вставить("Объект"                      , УсловияОтбора);
    ОбщиеНастройки.Вставить("НастройкиРасшифровки"        , НастройкиРасшифровки);
    ОбщиеНастройки.Вставить("ПользовательскиеНастройки"    , ПользовательскиеНастройкиКомпоновкиДанных);
    
    //Поместить во временное хранилище
    АресХранилища = ПоместитьВоВременноеХранилище(ОбщиеНастройки, Новый УникальныйИдентификатор);
    
    ЗаполнятьТиповыеНастройки = Новый Структура;
    ЗаполнятьТиповыеНастройки.Вставить("Отбор"          , Ложь);
    ЗаполнятьТиповыеНастройки.Вставить("Группировка"    , Истина);
    ЗаполнятьТиповыеНастройки.Вставить("Показатели"     , Истина);
    ЗаполнятьТиповыеНастройки.Вставить("ВыводимыеДанные", Истина);
    
    ПараметрыОтчета = Новый Структура;
    ПараметрыОтчета.Вставить("ВидРасшифровки"         , 1);
    ПараметрыОтчета.Вставить("АдресНастроек"          , АресХранилища);
    ПараметрыОтчета.Вставить("ИДРасшифровки"          , ИмяОтчета);
    ПараметрыОтчета.Вставить("ЗаполняемыеНастройки"   , ЗаполнятьТиповыеНастройки);    
    
    ОткрытьФорму("Отчет."+ИмяОтчета+".Форма.ФормаОтчета", ПараметрыОтчета);