Имя: Пароль:
1C
1С v8
Получить макет во внешнем отчете СКД при компоновке данных
0 shusharu
 
31.05.13
13:00
Добрый день уважаемые гуру.
Какая то я беда. С простыми вещами сидишь и не можешь их разгадать.

Ситуация такая. Есть внешний отчет на СКД. В МОДУЛЕ ОБЪЕКТА в процедуре ПриКомпоновкеРезультат я меняю стандартную обработку на свою. Т.е. вывожу запрос не в табличный документ, а в таблицу значений. Дальше мне мне нужно данные этой таблицы значений вывести в макет. Отчет такой что не получается его сделать только на СКД.
Вот тут и засада. Я не могу получить макет. По форуму поиском прошелся, везде предлагается решение:

&НаСервере
Функция ПолучитьМакетНаСервере()
   ЭтотОбъект=РеквизитФормыВЗначение("объект");
   Макет = ЭтотОбъект.ПолучитьМакет("Макет");
   Возврат Макет;
КонецФункции

&НаКлиенте
Процедура Сформировать(Макет)
    ТабДок = Новый ТабличныйДокумент;
    Макет=ПолучитьМакетНаСервере();
   Область = Макет.ПолучитьОбласть("Шапка");
   ТабДок.Вывести(Область);
   ТабДок.Показать()
КонецПроцедуры

Но в МОДУЛЕ ОБЪЕКТА метод РеквизитФормыВЗначение выдает ошибку. Я полагаю что этот метод для модуля формы.
Как быть?
1 shusharu
 
31.05.13
13:27
Отвечаю сам себе ну и другим тоже будет полезно.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
   СтандартнаяОбработка=Ложь;
   ТабМакет=ЭтотОбъект.ПолучитьМакет("Макет");
   ОбластьЗаголовок = ТабМакет.ПолучитьОбласть("Строка");
   ДокументРезультат.Вывести(ОбластьЗаголовок);
КонецПроцедуры

Тема закрыта.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн