Проблема: при вызове добавленного макета в момент его печати в режиме "1С:Предприятие" возникала ошибка при получении макета:
{ЗаявлениеПоступающегоРасширение Документ.ЗаявлениеПоступающего.МодульМенеджера(176)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет ("Расш1_МакетЗаявлениеПоступающего");
по причине:
Недопустимое значение параметра (параметр номер '1')
Код, вызывающий ошибку:
Варианты решения:
1. Добавить функцию, выполняемую на сервере, которая вызовет добавленный макет из документа:
&НаСервере
Функция ПолучитьМакетЗаявленияИзРасширения()
Макет = Документы.ЗаявлениеПоступающего.ПолучитьМакет ("Расш1_МакетЗаявлениеПоступающего");
Возврат Макет;
КонецФункции
А затем из заменяемой процедуры вызвать эту функцию:
(как оказалось этот способ не нужен. Причину читайте ниже)
2. Другой вариант - перенести макеты в общие и следующей командой вызвать (получить) макет из "Общие макеты":
Макет = ПолучитьОбщийМакет ("Расш1_МакетЗаявлениеПоступающего");
Видимо это всё-таки какой-то глюк платформы (протестировано на 8.3.10.2252 и 8.3.10.2299), но если просто добавить пустой макет в общие макеты в расширении, то команда, ранее вызывавшая ошибку (ПолучитьМакет из макета документа без допфункций на сервере), начинает нормально работать. При удалении пустого общего макета, команда вызова макета из документа снова вызывает ошибку (даже если вынесена в функцию на сервере, как показано в способе 1).
Т.е. если всё-таки хочется сделать макеты нормально в документе (ожидая, что когда-нибудь этот глюк исправят), то нужно сделать макет-заглушку в общих макетах. Например:
При этом, если в расширении добавлено несколько макетов к документу, то "заглушки" достаточно только одной.
(с) Ella S.
Если Вам понравилась статья, пожалуйста, поставьте лайк, сделайте репост или оставьте комментарий. Если у Вас есть какие-либо замечания, также пишите комментарии.
Спасибо, помогло!
ОтветитьУдалитьПомогло. спасибо.
ОтветитьУдалитьСпасибо!
ОтветитьУдалитьСпасибо автору за инфо, очень помогло
ОтветитьУдалитьСпасибо. Статья реально полезная. помогла.
ОтветитьУдалитьНо пришлось писать название макета одинаковое у документа и в Общих макетах. Чтоб работал стандарт подключения.
А на какой платформе пробовали? Если делать одинаковые имена, получается придется задавать общий макет на каждый макет в документе, если их более одного?
УдалитьСпасибо автору огромное.
ОтветитьУдалитьНа дворе 2018 г., а в нашей организации до сих пор стоит 8.3.10... (
ОтветитьУдалитьОгромное спасибо за рецепт с общим макетом!