Имя: Пароль:
1C
1С v8
Макет поля на скд
0 Ник080808
 
13.10.15
14:47
Есть отчет, нужно программно переопределить расшифровку для поля. Хочу создать программно макет поля и заполнить расшифровку. Собственно код
    НовыйМакет = СхемаКомпоновкиДанных.Макеты.Добавить();
     НовыйМакет.Имя = "ТипКлиента";
     МакетОбластиКомпановки = Новый МакетОбластиКомпоновкиДанных;
     МакетПоля = МакетОбластиКомпановки.Добавить(Тип("СтрокаТаблицыОбластиКомпоновкиДанных"));
     МакетПоля.ИдентификаторТаблицы = "";
     Ячейка = МакетПоля.Ячейки.Добавить();
     ПолеОбласти = Ячейка.Элементы.Добавить(Тип("ПолеОбластиКомпоновкиДанных"));
     ПолеОбласти.Значение = Новый ПараметрКомпоновкиДанных("ТипКлиента");
        
    
     ПараметрРасшифровки = НовыйМакет.Параметры.Добавить(Тип("ПараметрОбластиРасшифровкаКомпоновкиДанных"));
     ПараметрРасшифровки.Имя = "ТипКлиентаРасшифровка";
                              
     ВыражениеПоляРасшифровки  = ПараметрРасшифровки.ВыраженияПолей.Добавить();
     ВыражениеПоляРасшифровки.Поле = "Контрагент";
     ВыражениеПоляРасшифровки.Выражение = "Контрагент";
     ВыражениеПоляРасшифровки  = ПараметрРасшифровки.ВыраженияПолей.Добавить();
     ВыражениеПоляРасшифровки.Поле = "ТипКлиента";
     ВыражениеПоляРасшифровки.Выражение = "ТипКлиента";
    
     ВыражениеПоляРасшифровки  = ПараметрРасшифровки.ВыраженияПолей.Добавить();
     ВыражениеПоляРасшифровки.Поле = "ВидЗначения";
     ВыражениеПоляРасшифровки.Выражение = "РеквизитКонтрагенты";
    
     ВыражениеПоляРасшифровки  = ПараметрРасшифровки.ВыраженияПолей.Добавить();
     ВыражениеПоляРасшифровки.Поле = "ВыбранныйТип";
     ВыражениеПоляРасшифровки.Выражение = "СправочникСсылка.КлассификаторКлиентов";
    
     ВыражениеПоляРасшифровки  = ПараметрРасшифровки.ВыраженияПолей.Добавить();
     ВыражениеПоляРасшифровки.Поле = "ИмяРеквизита";
     ВыражениеПоляРасшифровки.Выражение = "ТипКлиента";

     Ячейка.Оформление.УстановитьЗначениеПараметра("Расшифровка",Новый ПараметрКомпоновкиДанных("ТипКлиентаРасшифровка"));
    
     Параметр = НовыйМакет.Параметры.Добавить(Тип("ПараметрОбластиВыражениеКомпоновкиДанных"));
     Параметр.Имя = "ТипКлиента";
     Параметр.Выражение = "Представление(ТипКлиента)";
     НовыйМакет.Макет = МакетОбластиКомпановки;
Не работает( Может кто глянуть свежим глазом где я туплю?
1 Ник080808
 
13.10.15
15:19
затупил
МакетПоляСКД = СхемаКомпоновкиДанных.МакетыПолей.Добавить();
     МакетПоляСКД.Макет = "ТипКлиента";
     МакетПоляСКД.Поле = "ТипКлиента";
надо же было дописать в макетах полей. Работает!
2 Ник080808
 
13.10.15
15:19
тему можно закрывать