При обновлении конфигурации «Бухгалтерия предприятия 3.0» на новые релизы многие разработчики сталкиваются с тем, что ранее работавшие внешние печатные формы (ВПФ) перестают функционировать. Одной из наиболее частых ошибок, возникающих при попытке печати документов (например, ТОРГ-12), является сообщение: Значение не является значением объектного типа (ИмяПараметровПечати). Давайте разберем, почему это происходит и как устранить данную проблему.
Данная ошибка возникает из-за изменений в архитектуре подсистемы печати, реализованной в Библиотеке Стандартных Подсистем (БСП). Разработчики 1С периодически обновляют внутренние механизмы УправлениеПечатью для унификации процесса вывода на принтер. В старых версиях конфигураций структура параметров печати могла включать поле ИмяПараметровПечати. В актуальных релизах это свойство было исключено или заменено на более универсальный механизм ключей. Когда ваш программный код пытается обратиться к несуществующему свойству, платформа фиксирует ошибку обращения к значению, которое не является объектом.
Для исправления ситуации нам необходимо изменить способ передачи ключа параметров печати в табличный документ. Рассмотрим, что именно нужно скорректировать в модуле вашей печатной формы.
Шаг 1: Изменение обращения к параметрам
В типовом коде многих старых форм встречается строка вида:
ИмяПараметровПечати = ПараметрыПечати.ИмяПараметровПечати;
ТабличныйДокумент.КлючПараметровПечати = ИмяПараметровПечати;
Нам нужно заменить этот фрагмент на прямое использование ключа. Согласно текущим стандартам разработки, следует использовать КлючПараметровПечати непосредственно для объекта ТабличныйДокумент.
Шаг 2: Корректировка передачи аргументов
Проанализируем процедуру печати. В вашей внешней обработке, в процедуре Печать, необходимо убедиться, что в метод ПечатьТорговыхДокументов.ПечатьТОРГ12 передается корректное значение ключа. Вместо сложной структуры, которая может содержать устаревшие поля, передавайте строку-идентификатор.
// Пример исправленного вызова в процедуре Печать:
КлючПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПередачаОС_ТОРГ12";
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ТОРГ_12",
"ТОРГ-12 (Товарная накладная)",
ПечатьТорговыхДокументов.ПечатьТОРГ12(ТаблицаСведенийТОРГ12, ОбъектыПечати, КлючПараметровПечати),
,
"ОбщийМакет.ПФ_MXL_ТОРГ12"
);
Чтобы ваша печатная форма оставалась работоспособной после будущих обновлений платформы и конфигурации, мы рекомендуем придерживаться следующих правил:
УправлениеПечатью) с кодом типовых форм в текущем релизе «Бухгалтерии предприятия».ТабличныйДокумент.КлючПараметровПечати. Это стандартный способ, который позволяет 1С корректно сохранять настройки печати (масштаб, ориентация, поля) для пользователей.Если после замены ИмяПараметровПечати на присвоение КлючПараметровПечати ошибка сохраняется, убедитесь, что в качестве третьего аргумента функции ПечатьТОРГ12 вы передаете именно строку, а не структуру, содержащую неверные поля. В современных версиях БСП для корректной работы достаточно простого строкового идентификатора.
Таким образом, для устранения ошибки достаточно найти в коде проблемное обращение и заменить его на прямое присвоение строкового значения ключа табличному документу. Этот подход обеспечивает совместимость с актуальными версиями БСП и избавляет от ошибок объектного типа.