Как исправить ошибку при открытии регламентированного отчета после обновления в 1С:ERP 2.4?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Налоговый учет IT и автоматизация бизнеса
← На главную

Обновление крупных корпоративных систем, таких как 1С:ERP Управление предприятием 2, — это всегда сложный и ответственный процесс. Довольно часто после успешного, на первый взгляд, завершения процедуры обновления пользователи и специалисты первой линии поддержки сталкиваются с неприятными сюрпризами. Один из самых распространенных сбоев — невозможность открыть форму регламентированного отчета (например, РСВ, Декларации по НДС или формы СЗВ-ТД). При попытке сформировать или открыть отчет система выдает критическую ошибку, аварийно завершает работу или сообщает о ненайденных полях объекта.

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

Анализ ситуации: промежуточные релизы и их подводные камни

Рассмотрим ситуацию, обсуждаемую разработчиками. При обновлении конфигурации до версии 2.4.11.88 программисты столкнулись со сбоем в регламентированных отчетах. Как показывает практика автоматизации, данный релиз являлся промежуточным. В нем содержался ряд системных недоработок в коде общих модулей, отвечающих за динамическое построение экранных форм отчетности.

В то же время в последующем стабильном релизе 2.4.11.102 разработчики фирмы 1С исправили эти критические ошибки, обновили шаблоны выгрузки и скорректировали внутренние процедуры. Если вы столкнулись с подобным поведением системы, наиболее надежным решением будет незамедлительный переход на стабильный релиз. Однако, если конфигурация сильно доработана и оперативно обновить ее невозможно, нам придется локализовать и устранить технические причины сбоя вручную.

Техническая причина №1. Конфликт кэша метаданных на рабочих станциях

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

Решение: Полная очистка локального кэша

Для устранения этой проблемы выполним очистку временных файлов. Сделать это можно несколькими способами:

  1. Ручное удаление папок кэша. Закроем все сеансы 1С у проблемного пользователя. Перейдем в директории %userprofile%\AppData\Local\1C\1cv8\ и %userprofile%\AppData\Roaming\1C\1cv8\ и полностью удалим все каталоги с длинными буквенно-цифровыми наименованиями (идентификаторами баз).
  2. Перерегистрация базы данных. Удалим информационную базу из списка запуска в окне 1cestart, а затем добавим ее заново под тем же именем. При этом платформа создаст для базы новый чистый каталог кэша.
  3. Запуск с ключом очистки. Добавим в дополнительные параметры запуска базы в окне настройки строку /ClearCache. Обратите внимание, что этот параметр очищает только кэш метаданных, но не всегда помогает при повреждении кэша управляемых форм, поэтому первые два способа более надежны.

Техническая причина №2. Несовместимость сохраненных пользовательских настроек (черновиков)

Бухгалтеры часто сохраняют промежуточные варианты отчетов в виде черновиков. При сохранении отчета система записывает во внутренние таблицы (в частности, в системный регистр сведений СохраненныеНастройки или непосредственно в реквизиты документа регламентированного отчета) структуру данных формы на момент сохранения.

При обновлении релиза разработчики 1С часто меняют состав реквизитов, структуру дерева показателей отчета или алгоритмы заполнения строк (например, процедуру ОбновитьСоставДополнительныхСтрокИзСохраненныхДанных). При попытке открыть ранее сохраненный черновик система пытается восстановить старую структуру данных в новые экранные формы, что вызывает ошибку: Поле объекта не обнаружено.

Решение: Очистка старых настроек и пересоздание отчетов

Разберем, как исправить эту ситуацию:

  1. Перейдем в раздел Администрирование — Настройки пользователей и прав.
  2. Откроем пункт Очистка настроек.
  3. Выберем проблемного пользователя и очистим его персональные настройки для формы конкретного регламентированного отчета.
  4. Если ошибка возникает непосредственно при открытии существующего документа отчета, данный документ (черновик), к сожалению, поврежден несовместимостью версий. Нам потребуется пометить его на удаление и создать новый отчет "с нуля" в обновленной конфигурации.

Для продвинутых администраторов и программистов приведем пример кода обработки, которая позволяет программно сбросить сохраненные настройки формы отчета для определенного пользователя:


Процедура СброситьНастройкиОтчета(ИмяПользователя, ИмяОтчета) Экспорт
    ПользовательИнформационнойБазы = ПользователиИнформационнойБазы.НайтиПоИмени(ИмяПользователя);
    Если ПользовательИнформационнойБазы <> Неопределено Тогда
        КлючОбъекта = "РегламентированныйОтчет" + ИмяОтчета;
        ХранилищеСистемныхНастроек.Удалить(КлючОбъекта, Неопределено, ИмяПользователя);
        ЗаписьЖурналаРегистрации("Настройки.Очистка",
            УровеньЖурналаРегистрации.Информация,
            ,
            ,
            "Настройки отчета " + ИмяОтчета + " для пользователя " + ИмяПользователя + " успешно сброшены.");
    КонецЕсли;
КонецПроцедуры

Техническая причина №3. Проблемы с внешними формами и интернет-поддержкой

В современных конфигурациях 1С:ERP встроен механизм автоматического обновления шаблонов отчетов через интернет-поддержку. Система может скачивать новые внешние формы (файлы с расширением .erf) напрямую с серверов 1С и использовать их вместо встроенных в конфигурацию.

Если ваша конфигурация была обновлена на промежуточный или устаревший релиз (как 2.4.11.88), а система интернет-поддержки успела скачать внешнюю форму, предназначенную для более нового релиза (например, для 2.4.11.102), возникнет конфликт программных интерфейсов (API). Внешняя форма будет обращаться к функциям общих модулей конфигурации, которых в релизе 2.4.11.88 еще просто не существует.

Решение: Отключение внешних форм или их ручная замена

Выполним следующие действия по шагам:

  1. Откроем рабочее место Регламентированная отчетность.
  2. Перейдем в настройки отчетов и найдем список используемых внешних форм.
  3. Если для проблемного отчета используется внешняя форма, отключим ее использование, вернувшись к стандартному шаблону конфигурации.
  4. Если для сдачи отчетности обязательно требуется именно новая форма, нам необходимо вручную скачать с портала 1С внешнюю форму отчета, строго предназначенную и протестированную для работы на релизе 2.4.11.88, и загрузить ее в справочник дополнительных отчетов и обработок.

Техническая причина №4. Несоответствие версии технологической платформы

Крупные обновления прикладных решений (ERP, КА, УТ) часто сопровождаются изменением режима совместимости конфигурации. Для корректной работы механизмов управляемых форм в новых релизах требуются определенные системные компоненты платформы 1С:Предприятие.

Если вы обновили конфигурацию ERP до ветки 2.4.11.х, а версия установленной технологической платформы осталась старой (например, ниже рекомендованной 8.3.14 или 8.3.15), то при построении сложных табличных документов в регламентированной отчетности могут возникать непредвиденные сбои и ошибки работы с памятью.

Решение: Обновление платформы

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

Техническая причина №5. Отсутствие установленных патчей (исправлений)

Фирма 1С оперативно выпускает исправления обнаруженных ошибок в виде патчей (расширений с префиксом EF_). Для промежуточных релизов, таких как 2.4.11.88, установка патчей жизненно необходима, так как разработчики не выпускают новые полноценные релизы каждый день, но исправляют критические баги в регламентированных отчетах именно через механизм патчей.

Решение: Настройка автоматической загрузки исправлений

  1. Перейдем в раздел Администрирование — Обслуживание — Обновление программы.
  2. Убедимся, что включена опция Загружать и устанавливать исправления (патчи) автоматически.
  3. Если автоматическая загрузка недоступна из-за ограничений безопасности сети, перейдем на портал поддержки 1С, вручную скачаем архив патчей для релиза 2.4.11.88 и установим их через форму Установка обновлений и исправлений.

Резюме и рекомендации по процессу обновлений

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

Наиболее правильная и экономически оправданная стратегия поддержки 1С:ERP заключается в следующем:

Используя предложенные методики очистки кэша, контроля совместимости платформы и своевременной установки патчей, вы сможете оперативно решать любые сложности, возникающие в процессе работы с регламентированными отчетами в 1С:ERP.

← На главную