Как получить макет внешней обработки или отчета 1С 8.3

После массового перехода на управляемые формы в 1С 8.3 у многих программистов возникла трудность при получении макета внешней обработки или отчета. Ранее для этого использовалась функция «ПолучитьМакет()», но в режиме управляемого приложения данная конструкция перестала работать на клиенте. Что же делать?

Ответ прост — необходимо использовать следующую функцию:

&НаСервере
//Обратите внимание: Получить макет возможно только на сервере!
//
Функция ПолучитьМакетНаСервере() 
	ОбработкаОбъект = РеквизитФормыВЗначение("Обработка");  // мы получаем именно объект
	Макет = ОбработкаОбъект.ПолучитьМакет("Макет"); // где "макет" - название вашего макета
	Возврат Макет;
КонецФункции

Или более лаконично:

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

Примечание: если необходимо получить макет обработки — используйте вместо «Обработка» значение «Отчет».

Поделиться

Оцените статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Подпишитесь на наш YouTube канал

YouTube

Подписаться

Комментировать

Комментарии

  1. Аноним

    Спасибо!

  2. Evg

    У меня ошибку выдает {ВнешняяОбработка.РКОИсполнительныеЛисты.Форма.ФормаУпр.Форма(305)}: Ошибка при вызове метода контекста (РеквизитФормыВЗначение)
    Объект = РеквизитФормыВЗначение(«Отчет»);
    по причине:
    Недопустимое значение параметра (параметр номер ‘1’)

    Что нужно писать вместо слова Отчет? что там должно находиться?

    1
    1
    • zew2006

      Пишите «Объект».

      2
      1
  3. Александр Тольятти

    Попробовал подставлять Обработка, Отчет, Объект. Ничего не работает: «Недопустимое значение параметра (параметр номер ‘1’)»

    13
    1
  4. фффы

    «Примечание: если необходимо получить макет обработки — используйте вместо «Обработка» значение «Отчет».» — читать надо что выкладывашь

    2
    2