Имя: Пароль:
1C
1С v8
выбор макета в СКД
0 yanejsh
 
29.01.13
16:44
я сделал два макета в отчете на СКД. Как сделать выбор одного ли другого макета на форме?
1 Kreont
 
29.01.13
16:53
Приблизительно так:
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки   = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,КомпоновщикНастроек.Настройки,,"и гте то тут 4-ым реквизитом надо передать макет, сам не пробовал :)");
2 Wobland
 
29.01.13
16:54
Процедура ДействияФормыСменитьСхему(Кнопка)
   Список=Новый СписокЗначений;
   Список.Добавить("СхемаМенеджера", "(схема менеджера)");
   Список.Добавить("СхемаИнженера", "(схема инженера)");
   ВыбЭлемент=Список.ВыбратьЭлемент();
   Если ВыбЭлемент=Неопределено Тогда
       Возврат;
   КонецЕсли;
   СКД=ПолучитьМакет(ВыбЭлемент.Значение);
   Настройки=СКД.НастройкиПоУмолчанию;
   СформироватьОтчёт();
КонецПроцедуры
3 Wobland
 
29.01.13
16:54
Процедура СформироватьОтчёт()
   ДанныеРасшфровки=Новый ДанныеРасшифровкиКомпоновкиДанных;
   
   КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных;
   МакетКомпоновки=КомпоновщикМакета.Выполнить(СКД, Настройки, ДанныеРасшифровки);
   
   ПроцессорКомпоновки=Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
   
   ДокРезультат=ЭлементыФормы.Результат;
   ДокРезультат.Очистить();
   ПроцессорВывода=Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(ДокРезультат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновки);
   ЭлементыФормы.ТабличноеПолеОтбор.ОбновитьСтроки();
КонецПроцедуры
4 yanejsh
 
30.01.13
09:42
эээ, а в клиент-серверном варианте как будет?
5 Wobland
 
30.01.13
09:47
примерно так же
6 yanejsh
 
30.01.13
09:51
в Элементы.Результат не табличный документ получается, а полеФормы. и соответственно не могу вывести результат. Как получить табличный документ для вывода резальтата?
7 yanejsh
 
30.01.13
09:52
ага, сообразил.
надо Этаформа.Результат
все получилось
8 Wobland
 
30.01.13
09:54
на здоровье
Ошибка? Это не ошибка, это системная функция.