Имя: Пароль:
1C
1С v8
Как установить СКД в ОтчетОбъект
0 av_x86
 
08.08.15
11:43
Всем привет. Хочу программно установить скд в ОтчетОбъект.
Делаю так:
СХД=Новый СхемаКомпоновкиДанных;        
Источник=СХД.ИсточникиДанных.Добавить();
Источник.Имя="База";
Источник.ТипИсточникаДанных="Local";

НаборДанных=СХД.НаборыДанных.Добавить(Тип("НаборДанныхОбъектСхемыКомпоновкиДанных"));
НаборДанных.Имя="Ч1";
НаборДанных.ИмяОбъекта="Ч1";
НаборДанных.ИсточникДанных="База";
    
Поле1=НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
Поле1.Поле="Поле1";
Поле1.ПутьКДанным="Поле1";
Настройки=СХД.НастройкиПоУмолчанию;
Груп=Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));

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

До записи значения в реквизит формы - СКД присваивается. Когда опять пытаюсь получить ОтчетОбъект из реквизита Отчет - поле СКД не определено. Доступные поля и группировка в настройках появляются.
В чем может быть проблема? Платформа 8.3.6.2152
1 av_x86
 
08.08.15
13:10
И такое безобразие только на управляемых формах. На обычных работает.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший