При попытке доработки типовых печатных форм через механизмы расширений конфигурации разработчики могут столкнуться с критической ошибкой. В частности, при добавлении в расширение обработки ПечатьКадровыхПриказовРасширенная и заимствовании макета печатной формы ПФ_MXL_Т11 программа 1С:Предприятие завершает работу с сообщением «Прекращена работа программы 1С». Проблема проявляется не на этапе запуска базы, а непосредственно в момент нажатия кнопки печати.
В этой статье мы подробно разберем причины возникновения данной ошибки и рассмотрим практические способы ее решения.
Проанализируем ситуацию и определим ключевые факторы, приводящие к падению платформы:
moxel.dll), что приводит к аварийному завершению процесса.Разберем по шагам проверенный способ решения, при котором исключается прямое заимствование оригинального макета в расширение.
ПечатьКадровыхПриказовРасширенная в расширение конфигурации.ПФ_MXL_Т11 создадим в расширении новый макет табличного документа (например, с именем Расш_ПФ_MXL_Т11) и скопируем в него содержимое из исходной формы.ПечатьКадровыхПриказовРасширенная в расширении и переопределим процедуру печати, используя аннотацию &НаВместо.Рассмотрим пример кода в модуле менеджера обработки в расширении:
&НаВместо("Печать")
Процедура Расш1_Печать(МассивОбъектов, ПараметрыПечати, КомплектыПечати, ОбъектыПечати, ПараметрыВывода)
// Изменяем логику получения макета и формируем печатную форму из нового макета расширения
Макет = ПолучитьМакет("Расш_ПФ_MXL_Т11");
// Далее выполняется стандартное заполнение и вывод табличного документа
КонецПроцедуры
Если требуется сохранить имя и структуру исходного макета, проанализируем настройки свойств объекта в конфигураторе расширения:
ПФ_MXL_Т11 в расширение.Объединять на Замещать.В этом случае платформа не пытается сопоставить строки и области исходного макета с макетом расширения, а полностью подменяет оригинал. Это позволяет избежать критической ошибки при динамическом слиянии метаданных.
Посмотрим на альтернативные варианты, которые позволяют внести изменения в печатную форму без сбоев платформы:
ДополнительныеОтчетыИОбработки. Этот способ полностью независим от механизмов расширений.moxel.dll при заимствовании макетов были устранены.