Имя: Пароль:
1C
1С v8
8.2, СКД и расшифровка
0 Name2006
 
26.09.12
14:22
Имеется отчет (материальная ведомость по товарам), написанный без СКД.
В нем в качестве расшифровки строки товара вызывается другой отчет (карточка движения по товару), написанный на СКД. И все работает, но вот из второго отчета расшифровка уже не открывается - ее там просто нет. Причем если уже после вызова второго отчета нажать в нем кнопку "Сформировать" - расшифровка появляется.

Вызывается второй отчет так:

Процедура ДокументРезультатОбработкаРасшифровки(ЭлементУправления, Расшифровка, СтандартнаяОбработка)
   
   Если ТипЗнч(Расшифровка) =  Тип("Структура") Тогда
       
       СтандартнаяОбработка=Ложь;
       Отчет=Отчеты.КарточкаТовара.Создать();
       Форма = Отчет.ПолучитьФорму("ФормаОтчета", ЭтаФорма);
       Макет=Отчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
       
       Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("НачалоПериода", НачалоДня(ДатаНач));
       Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("КонецПериода", КонецДня(ДатаКон));
       Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Организация", Организация);
       Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Счет", Счет);
       Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Товар", Расшифровка.Отбор[0].Значение);
       
       Отчет.СкомпоноватьРезультат (Форма.ЭлементыФормы.Результат);
   
       Форма.Открыть();
       
   КонецЕсли;

КонецПроцедуры
1 Name2006
 
26.09.12
14:24
Стал смотреть описание метода СкомпоноватьРезультат, и вот что нашел:

СкомпоноватьРезультат(<Результат>, <ИнформацияРасшифровки>)
Параметры:

<Результат> (обязательный)

Тип: ТабличныйДокумент.
Табличный документ, в который будет выводиться результат.
<ИнформацияРасшифровки> (необязательный)

Переменная, в которую будет записана информация расшифровки.
Если не указано - расшифровка заполняться не будет.


Т.е. как я понял, в качестве второго параметра надо подставить ИнформациюРасшифровки. А как она выглядит, и откуда ее взять ?
2 vmv
 
26.09.12
14:32
Отчет.СкомпоноватьРезультат (Форма.ЭлементыФормы.Результат, Форма.ДанныеРасшифровки);

Форма.ДанныеРасшифровки - реквизит формы прописанный в палитре свойств формы как параметр
3 vmv
 
26.09.12
14:33
Форма.ЭлементыФормы.Результат - это меня смущает, при чем тут элементы, да ладно
4 motkot
 
26.09.12
14:53
(3) - ибо "Результат" это скорей всего табличный документ на форме, куда выводится результат компоновки.
5 vmv
 
26.09.12
14:56
Форма.ЭлементыФормы.Результат

а это 8.1, там уже не помню, сья конструкция - это табличный док или поле ввода?
6 Name2006
 
26.09.12
14:58
(5) Это табличный документ, в который выводится результат
7 Name2006
 
26.09.12
14:59
Забыл указать: это 8.2 но это не УФ.
8 Name2006
 
26.09.12
15:01
Поэтому в палитре свойств ДанныеРасшифровки отсутствуют
9 Name2006
 
26.09.12
15:04
(2) Но за наводку спасибо - все получилось
10 Name2006
 
26.09.12
15:07
Может, кому пригодится. Правильно делать так:

Отчет.СкомпоноватьРезультат(Форма.ЭлементыФормы.Результат, Форма.ДанныеРасшифровки);
11 vmv
 
26.09.12
15:08
(10) найди отличия от (2)
12 Name2006
 
26.09.12
15:27
(11) Согласен. Был невнимателен - мне, балбесу, уже все написали в (2).