Почему не открываются старые отчеты в 1С:УПП после обновления на 1.3.176.1 и как это исправить?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет Промышленность, строительство и АПК
← На главную

После проведения планового обновления конфигурации 1С:Управление производственным предприятием (УПП) до версии 1.3.176.1 многие пользователи и технические специалисты столкнулись с неприятной ситуацией: ранее созданные и сохраненные регламентированные отчеты по бухгалтерской отчетности (за 2020, 2021 и более ранние годы) перестали открываться. При попытке доступа к ним система может выдавать ошибку либо просто игнорировать действие пользователя. В этой статье мы подробно разберем причины возникновения данной проблемы и рассмотрим шаги по её устранению.

Проанализируем причины возникновения проблемы

Прежде всего, выясним причину такого поведения системы. Обновление 1.3.176 стало знаковым для блока регламентированной отчетности, так как в него были внедрены масштабные изменения внутреннего кода. Это было необходимо для поддержки новых форматов представления отчетности за 2021 год. Однако такие изменения затронули механизмы сопоставления данных старых периодов с новыми экранными формами.

Рассмотрим основные технические факторы:

  1. Несоответствие структуры XML: В новом релизе были переименованы или удалены некоторые внутренние параметры в структуре хранения данных отчета. Когда система пытается загрузить данные старого отчета в новую форму, происходит конфликт имен полей, что часто проявляется ошибкой Поле объекта не обнаружено.
  2. Программная ошибка в общем модуле: В релизе 1.3.176.1 была зафиксирована некорректная логика в модуле РегламентированнаяОтчетность. Система ошибочно пыталась применить алгоритмы обработки данных 2021 года к архивным документам за 2019–2020 годы.
  3. Конфликт компоненты печати: Обновление затронуло механизмы формирования машиночитаемых форм с двухмерным штрихкодом PDF417. Если в системе установлена устаревшая версия этой компоненты, инициализация формы отчета может аварийно завершаться.

Способ 1: Использование патчей (исправлений) от фирмы «1С»

Разберем самый правильный и «цивилизованный» способ решения. Поскольку проблема в релизе 1.3.176.1 носила массовый характер, фирма «1С» оперативно выпустила исправления в виде патчей (пакеты .efd). Эти патчи позволяют исправить программный код конфигурации «на лету», не дожидаясь выхода следующего полного релиза.

Для решения проблемы нам необходимо проверить наличие установленных патчей в разделе Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи). Если патча для исправления бухгалтерской отчетности нет, его следует загрузить через сервис интернет-поддержки или установить вручную, скачав с портала ИТС.

Способ 2: Обновление технологической платформы

Проанализируем системные требования. Новые механизмы регламентированной отчетности в УПП предъявляют повышенные требования к версии технологической платформы. Для корректной работы релизов ветки 1.3.176 требуется версия платформы 1С:Предприятие не ниже 8.3.17.1851.

Если ваша база работает на старых версиях платформы (например, 8.3.12 или 8.3.14), то при открытии сложных управляемых или обычных форм отчетов могут возникать непредсказуемые сбои. Рекомендуем выполнить обновление платформы до актуальных сборок веток 8.3.18, 8.3.21 или выше, предварительно ознакомившись с рекомендациями для конкретного релиза УПП.

Способ 3: Очистка кэша и тестирование базы данных

Часто проблема кроется не в самом коде, а в некорректном обновлении локальных данных на компьютере пользователя. Рассмотрим, как это исправить:

  1. Очистка кэша: Старые описания форм могут «застревать» в локальном кэше метаданных, конфликтуя с обновленным кодом. Необходимо удалить базу из списка и добавить её заново или вручную очистить содержимое папок %AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8.
  2. Тестирование и исправление (ТиИ): В режиме Конфигуратора запустим процедуру Тестирование и исправление. Нам обязательно нужно выбрать пункты «Проверка логической целостности» и «Реиндексация таблиц». Это поможет восстановить связи в таблицах, где хранятся данные регламентированных отчетов (параметры и сохраненные настройки).

Способ 4: Временный откат версии объекта отчета (для программистов)

Если отчеты нужно открыть «здесь и сейчас», а патчи не помогают, можно воспользоваться методом, предложенным на форуме: загрузкой объекта отчета из предыдущего, стабильного релиза (1.3.175.1). Рассмотрим, как это сделать программно или через Конфигуратор:

Выясним, какой именно объект отвечает за отчетность. Это может быть внешний отчет или объект в дереве метаданных. Если мы решим заменить код в конфигурации, это можно сделать через сравнение и объединение с конфигурацией старого релиза, выбрав только конкретный отчет БухгалтерскаяОтчетность (или БухгалтерскаяОтчетность2011, в зависимости от периода).

Пример анализа кода, который может вызывать ошибку:


// В модуле отчета может быть некорректное обращение к параметрам
Попытка
    ВерсияФормы = СтруктураРеквизитов.Версия;
Исключение
    // В релизе 1.3.176.1 здесь мог отсутствовать перехват ошибки
    ВерсияФормы = "Неопределено";
КонецПопытки;

Используя этот метод, мы фактически возвращаем старую логику обработки данных, которая «знает», как работать с архивными записями, и не пытается применять к ним новые правила 2021 года.

Особенности перехода на релиз 1.3.176.2

Важно отметить, что вышедший следом релиз 1.3.176.2 позиционировался как исправляющий ошибки. Однако, как показывает практика, если документ был открыт или пересохранен в «битом» релизе 1.3.176.1, его внутренняя структура в базе данных (в хранилище значений) могла повредиться. В таких случаях даже после обновления до 1.3.176.2 отчет может продолжать выдавать ошибку.

В этой ситуации рекомендуется:

Таким образом, мы выяснили, что проблема носит комплексный характер и связана как с качеством самого релиза, так и с требованиями к программному окружению. Последовательное применение патчей и обновление платформы в большинстве случаев полностью устраняют проблему открытия регламентированных отчетов.

← На главную