Многие пользователи 1С:Управление торговлей 11, работающие с распределенными информационными базами (РИБ), сталкиваются с проблемой, когда печатная форма Универсального передаточного документа (УПД) не формируется в периферийных узлах. При попытке распечатать УПД, созданный на основании накладной и проведенного счета-фактуры, система выдает сообщение "Печатная форма недоступна". При этом, что самое примечательное, в центральной базе этот же документ печатается без каких-либо затруднений. Давайте вместе разберемся, в чем кроется подвох этой ситуации и как ее эффективно решить.
Первоначально сообщение "Печатная форма недоступна" кажется общим и малоинформативным. Однако, при более глубоком анализе, часто выясняется, что оно скрывает за собой специфические ошибки, связанные с архитектурой распределенных информационных баз.
РИБ (Распределенные Информационные Базы) по своей сути представляют собой набор независимых, но взаимосвязанных баз данных, обменивающихся информацией. В такой архитектуре очень важно, чтобы метаданные (структура объектов, отчетов, печатных форм) и программный код в центральной и всех периферийных базах были абсолютно идентичны. Любое расхождение, особенно после обновлений или установки патчей в центральной базе, может привести к некорректной работе периферийных узлов. Именно эта десинхронизация или отсутствие необходимых изменений в периферийной базе чаще всего и является корнем проблемы с печатью УПД.
Один из пользователей форума поделился более детальным текстом ошибки, которая возникает при попытке сформировать УПД в РИБ. Рассмотрим его подробнее:
Ошибка при вызове метода контекста (ВыполнитьПакет) {Документ.СчетФактураВыданный.МодульМенеджера(8042)}:МассивРезультатов = Запрос.ВыполнитьПакет; {Документ.СчетФактураВыданный.МодульМенеджера(8215)}:Возврат ПолучитьДанныеДляПечатнойФормыСчетФактура(ПараметрыПечати, МассивОбъектов); {Обработка.ПечатьОбщихФорм.МодульМенеджера(3561)}:ДанныеДляПечати = МенеджерОбъекта.ПолучитьДанныеДляПечатнойФормыУПД(ПараметрыПечати, СтруктураОбъектов.Значение); {Обработка.ПечатьОбщихФорм.МодульМенеджера(214)}:НСтр("ru='Универсальный передаточный документ (УПД)'"), {ОбщийМодуль.УправлениеПечатью.Модуль(4373)}:МенеджерПечати.Печать(ОбъектыСоответствующиеПечатнойФорме, ПараметрыПечати, ВременнаяКоллекцияДляОднойПечатнойФормы, {ОбщаяФорма.ПечатьДокументов.Форма(792)}:ПечатныеФормы = УправлениеПечатью.СформироватьПечатныеФормы(Параметры.ИмяМенеджераПечати, ИменаМакетов, {ОбщаяФорма.ПечатьДокументов.Форма(61)}:КоллекцияПечатныхФорм = СформироватьПечатныеФормы(Параметры.ИменаМакетов, Отказ); {ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(353)}:ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор)); {ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}:УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати; [ОшибкаВоВремяВыполненияВстроенногоЯзыка] по причине: {(262, 45)}: Поле не найдено "ТаблицаПлатежноРасчетныеДокументы.СтрокаАвансовыеСчетаФактуры" ЕСТЬNULL(ТаблицаПлатежноРасчетныеДокументы.>СтрокаАвансовыеСчетаФактуры,
Эта подробная ошибка является ключевой для понимания сути проблемы. Она ясно указывает на то, что программный код, ответственный за формирование УПД, пытается получить доступ к полю СтрокаАвансовыеСчетаФактуры из временной таблицы ТаблицаПлатежноРасчетныеДокументы, но это поле не найдено в структуре данных периферийной базы. Это однозначно свидетельствует о том, что в центральной базе было применено обновление или патч, который изменил логику формирования УПД и добавил или переименовал это поле в запросах, а в периферийной базе эти изменения либо не были получены, либо не были корректно применены. В результате, когда система пытается выполнить запрос к данным для печати, она сталкивается с отсутствием ожидаемого поля и выдает ошибку, которая на уровне пользователя проявляется как "Печатная форма недоступна".
Самым эффективным и подтвержденным решением данной проблемы, как показали пользователи форума, является установка специального исправления (патча), разработанного 1С. В рассматриваемом случае, пользователи успешно применили патч с идентификатором EF_00_00818148_УТ.cfe. Этот патч, по всей видимости, содержит необходимые изменения в метаданных и программном коде, которые синхронизируют структуру формирования УПД в периферийных узлах с центральной базой.
Рассмотрим по шагам, как мы можем установить этот патч в периферийной базе для устранения проблемы:
EF_00_00818148_УТ.cfe. Обычно такие патчи доступны через официальный сайт поддержки 1С:Предприятия (раздел "Обновления программ") при наличии действующей подписки на ИТС, или предоставляются службой поддержки 1С при обращении с конкретной проблемой. Убедитесь, что загружаемый патч предназначен именно для вашей конфигурации 1С:Управление торговлей 11 и соответствует вашей версии платформы..cfe.EF_00_00818148_УТ.cfe. Система проанализирует патч и предложит его установить.Важное примечание: Как упоминалось в обсуждении форума, даже если система настроена на автоматическое получение и установку обновлений и патчей (например, 3 раза в день), иногда автоматический механизм может дать сбой или не применить конкретное исправление для периферийных узлов. В таких случаях ручная установка патча становится единственным способом решить проблему.
Пока мы ждем установки патча, проводим диагностику или ищем более постоянное решение, существуют временные методы, которые позволяют нам продолжать работу с УПД и обеспечивать непрерывность документооборота. Эти методы не устраняют корневую причину, но помогают справиться с ситуацией в текущий момент:
Если установка патча EF_00_00818148_УТ.cfe не привела к желаемому результату, или если мы хотим провести более глубокую диагностику и предотвратить подобные проблемы в будущем, мы можем рассмотреть следующие шаги:
СтрокаАвансовыеСчетаФактуры, упоминаемое в ошибке, напрямую связано с предоплатами. Также следует помнить, что в УПД стоимость в графе 5 указывается без НДС, и некорректные настройки НДС в документе реализации (например, "НДС сверху" вместо "НДС в сумме" или наоборот, если это влияет на расчеты) могут привести к неверному отображению стоимости.В заключение, проблема с недоступностью печатной формы УПД в РИБ 1С:УТ 11 является достаточно распространенной и чаще всего связана с расхождениями в метаданных или отсутствием необходимых исправлений (патчей) в периферийных узлах. Установка актуальных патчей, внимательная синхронизация данных и тщательная проверка настроек являются ключевыми шагами к ее успешному решению. Мы рассмотрели как прямое решение проблемы, так и временные обходные пути, а также дополнительные методы диагностики, которые помогут нам справиться с этой задачей.