Как исправить ошибку «Поле объекта не обнаружено (ПоЗаявкеНаВозврат)» в отчетах УТ 11 после обновления?

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

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

Выясним причину возникновения ошибки

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

Основные факторы, приводящие к подобной ошибке:

  1. Рассинхронизация словаря метаданных и физических таблиц СУБД. При обновлении между редакциями происходит сложная реструктуризация таблиц базы данных. Если на стороне сервера MS SQL Server или PostgreSQL возникли сбои (тайм-ауты блокировок, прерывания транзакций), физическая структура колонок и индексов в СУБД перестает соответствовать описанию в таблицах Config и Params платформы. В результате СКД генерирует запрос к несуществующему полю или обращается к некорректно реструктурированной виртуальной таблице.
  2. Повреждение и кэширование метаданных в процессах сервера 1С. Рабочие процессы rphost кэшируют скомпилированные схемы компоновки. Если служба сервера не перезапускалась, а серверный кэш не очищался, СКД может использовать старый контекст выполнения.
  3. Не завершены регламентные задания фонового обновления. В новых редакциях многие реквизиты и регистры дозаполняются асинхронно через процедуры отложенного обновления БСП. До их полного завершения попытка сформировать отчет может завершаться системным сбоем.

Шаг 1. Проверка фоновых процедур обновления

Перед выполнением низкоуровневых операций с базой данных убедимся, что все отложенные процедуры завершили свою работу:

  1. Перейдем в раздел НСИ и администрирование (или Администрирование) → Обслуживание → Результаты обновления программы.
  2. Проверим ссылку Результаты обновления и дополнительная обработка данных.
  3. Если в списке присутствуют процедуры со статусом ошибки или процесс обновления еще идет, дождемся завершения либо запустим процедуры принудительно в монопольном режиме.

Шаг 2. Очистка кэша сервера «1С:Предприятия»

Рассмотрим порядок очистки серверного кэша метаданных, так как часто ошибка вызвана сохраненным состоянием рабочих процессов:

  1. Остановим службу сервера 1C:Enterprise 8.3 Server Agent через консоль управления службами (services.msc).
  2. Перейдем в рабочий каталог кластера серверов (по умолчанию это каталог C:\Program Files\1cv8\srvinfo\).
  3. Очистим временные данные и кэш сеансов (каталоги формата snccntx* и временные файлы внутри папок рабочих процессов).
  4. Запустим службу сервера 1С заново и проверим формирование отчетов.

Шаг 3. Диагностика в файловом режиме и пересоздание базы в СУБД

Если очистка кэша и регламентные задания не помогли, а в файловой копии базы отчеты формируются без ошибок, мы имеем дело с нарушением целостности таблиц на стороне СУБД. В этом случае тестирование и исправление средствами Конфигуратора на SQL-сервере может завершаться критической ошибкой. Разберем по шагам проверенный алгоритм полного перестроения базы данных:

  1. Создание резервной копии: Откроем информационную базу в режиме Конфигуратор и выполним команду меню Администрирование → Выгрузить информационную базу..., сохранив файл с расширением .dt.
  2. Удаление проблемной базы на сервере СУБД: В среде управления СУБД (например, SQL Server Management Studio) корректно удалим поврежденную базу данных, предварительно убедившись в наличии сохраненного файла выгрузки.
  3. Создание новой чистой базы: Создадим на сервере СУБД новую пустую базу данных с нужными параметрами сортировки и collation.
  4. Регистрация базы в кластере 1С: Через консоль Администрирование серверов 1С Предприятия добавим новую информационную базу, связав ее с только что созданной пустой базой на SQL-сервере.
  5. Загрузка данных: Запустим Конфигуратор для новой информационной базы и выберем пункт меню Администрирование → Загрузить информационную базу..., указав ранее выгруженный .dt файл.

При загрузке файла .dt платформа «1С:Предприятие» заново с нуля создает все таблицы, поля, первичные ключи и индексы в базе данных СУБД. Это гарантированно устраняет любые рассинхронизации метаданных и физических таблиц, возникшие при тяжелом обновлении.

Шаг 4. Сброс пользовательских настроек отчетов

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

  1. Откроем форму проблемного отчета под учетной записью пользователя.
  2. Нажмем Еще → Стандартные настройки для сброса структуры отчета к типовому макету.
  3. Если это не помогло, перейдем в раздел Администрирование → Настройки пользователей и прав → Очистка настроек и удалим сохраненные настройки отчетов для конкретного пользователя.
← На главную