Имя: Пароль:
1C
1С v8
СКД. Установить доступные поля.
0 vicof
 
19.10.16
08:27
СхемаКомпоновкиДанных = ПолучитьМакет("Результат");
СхемаКомпоновкиДанных.НаборыДанных.Найти("НаборДанных1").Поля.Найти("Статус").УстановитьДоступныеЗначения(СписокСтатусов);            
        
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанных"));
    
    ВнешниеНаборы = Новый Структура;
    ВнешниеНаборы.Вставить("ТаблицаОбъектов", ТаблицаЗапросов);

Прошу обратить внимание на вторую строку. Она не работает.
Если руками вбиваю доступные значения в поле набора данных - все ок.
Если пытаюсь заполнить программно - не работает.
Предполагаю, что нужно сказать компновщику о том, что настройки по умолчанию изменились.
Но как, не понимаю.
Пробовал в различных комбинациях

КомпоновщикНастроек.Инициализировать(КомпоновщикНастроек.ПолучитьИсточникДоступныхНастроек());
    КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
    КомпоновщикНастроек.Восстановить(СпособВосстановленияНастроекКомпоновкиДанных.Полное);

Куда копать?
1 aleks_default
 
19.10.16
09:24
у компоновщиканастроек настройки надо менять а не у схемы
2 vicof
 
21.10.16
00:19
Надо было так:

Настройки = КомпоновщикНастроек.ПолучитьНастройки();

МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, , , Тип("ГенераторМакетаКомпоновкиДанных"));