Как получить макет внешней обработки или отчета 1С 8.3
После массового перехода на управляемые формы в 1С 8.3 у многих программистов возникла трудность при получении макета внешней обработки или отчета. Ранее для этого использовалась функция «ПолучитьМакет()», но в режиме управляемого приложения данная конструкция перестала работать на клиенте. Что же делать?
Ответ прост — необходимо использовать следующую функцию:
&НаСервере //Обратите внимание: Получить макет возможно только на сервере! // Функция ПолучитьМакетНаСервере() ОбработкаОбъект = РеквизитФормыВЗначение("Обработка"); // мы получаем именно объект Макет = ОбработкаОбъект.ПолучитьМакет("Макет"); // где "макет" - название вашего макета Возврат Макет; КонецФункции
Или более лаконично:
&НаСервере Функция ПолучитьМакетНаСервере() Возврат РеквизитФормыВЗначение("Обработка").ПолучитьМакет("Макет"); КонецФункции
Примечание: если необходимо получить макет обработки — используйте вместо «Обработка» значение «Отчет».
Комментарии
Спасибо!
У меня ошибку выдает {ВнешняяОбработка.РКОИсполнительныеЛисты.Форма.ФормаУпр.Форма(305)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
Объект = РеквизитФормыВЗначение(«Отчет»);
по причине:
Недопустимое значение параметра (параметр номер ‘1’)
Что нужно писать вместо слова Отчет? что там должно находиться?
Пишите «Объект».
Попробовал подставлять Обработка, Отчет, Объект. Ничего не работает: «Недопустимое значение параметра (параметр номер ‘1’)»
«Примечание: если необходимо получить макет обработки — используйте вместо «Обработка» значение «Отчет».» — читать надо что выкладывашь