ПолучитьМакет управляемые формы 1С 8.3 и 8.2
Практически для каждого отчета или печатной формы 1С не обойтись без метода «ПолучитьМакет()». Метод ПолучитьМакет() нельзя вызвать на сервере в модуле формы управляемого приложения. Как верно использовать его, я рассмотрю ниже.
В управляемой форме 1C для этого этого необходимо использовать следующую конструкцию в процедуре «&НаСервере»:
&НаСервере
Функция ПолучитьМакетНаСервере()
ОтчетОбъект = РеквизитФормыВЗначение(«Отчет»);
Макет = ОтчетОбъект.ПолучитьМакет(«Макет»);
Возврат Макет;
КонецФункции
Связано это с тем, что на управляемой форме форме не доступны методы объекта. Получая объект и обращаясь методом «ПолучитьМакет()», система позволит нам получить нужные данные.
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
Тагир:
ОтчетОбъект = РеквизитФормыВЗначение(«Отчет»);
Для чего эта строка?
Кирилл:
Эта строка получает непосредственно объект. А из объекта далее уже можно получить макет.
Виктор:
ОтчетОбъект = РеквизитФормыВЗначение(«Отчет»);
не работает
{ВнешнийОтчет.ОтчетПоМатериалам3.Форма.ФормаОтчета.Форма(4,39)}: Ожидается выражение
ОтчетОбъект = РеквизитФормыВЗначение(<>«Отчет»,); (Проверка: Сервер)
Ян Цысь:
Виктор в данной строке:
ОтчетОбъект = РеквизитФормыВЗначение(«Отчет»);
неприличные художественные кавычки, попробуйте заменить на обычные
ОтчетОбъект = РеквизитФормыВЗначение(«Отчет»);
Пограмист 1с:
Да! правда кривые ковычки
Alex:
Так-то было бы неплохо , если в отчете имелся Реквизит с таким именем и типом ВнешнийОтчет.ИмяОтчета. Иначе ничего не получится)
Ольга:
Спасибо большое за эту публикацию, да и за все другие тоже. Учусь у Вас.