← На главную
После масштабного обновления конфигурации (например, перехода между редакциями «1С:Управление торговлей» 11.0 на 11.1 или локализаций конфигурации) пользователи могут столкнуться с ситуацией, когда стандартные отчеты — такие как Управленческий баланс, Задолженность клиентов по срокам и другие — внезапно перестают формироваться. Вместо данных на форме отчета отображается ошибка Поле объекта не обнаружено (ПоЗаявкеНаВозврат). При этом поиск по текстам модулей и схемам компоновки данных (СКД) может не давать результатов. Разберем подробно, почему возникает такое поведение и как полностью устранить проблему.
Выясним причину возникновения ошибки
Проанализируем ситуацию: отчеты не вызывают критического аварийного завершения сеанса с выпадающим окном ошибки, а текст исключения выводится прямо в табличный документ на форме. Это происходит из-за того, что в интерфейсе «Такси» отчеты формируются в фоновом задании, а исключительные ситуации системы компоновки данных перехватываются механизмами БСП (Библиотеки стандартных подсистем).
Основные факторы, приводящие к подобной ошибке:
- Рассинхронизация словаря метаданных и физических таблиц СУБД. При обновлении между редакциями происходит сложная реструктуризация таблиц базы данных. Если на стороне сервера MS SQL Server или PostgreSQL возникли сбои (тайм-ауты блокировок, прерывания транзакций), физическая структура колонок и индексов в СУБД перестает соответствовать описанию в таблицах
Config и Params платформы. В результате СКД генерирует запрос к несуществующему полю или обращается к некорректно реструктурированной виртуальной таблице.
- Повреждение и кэширование метаданных в процессах сервера 1С. Рабочие процессы
rphost кэшируют скомпилированные схемы компоновки. Если служба сервера не перезапускалась, а серверный кэш не очищался, СКД может использовать старый контекст выполнения.
- Не завершены регламентные задания фонового обновления. В новых редакциях многие реквизиты и регистры дозаполняются асинхронно через процедуры отложенного обновления БСП. До их полного завершения попытка сформировать отчет может завершаться системным сбоем.
Шаг 1. Проверка фоновых процедур обновления
Перед выполнением низкоуровневых операций с базой данных убедимся, что все отложенные процедуры завершили свою работу:
- Перейдем в раздел НСИ и администрирование (или Администрирование) → Обслуживание → Результаты обновления программы.
- Проверим ссылку Результаты обновления и дополнительная обработка данных.
- Если в списке присутствуют процедуры со статусом ошибки или процесс обновления еще идет, дождемся завершения либо запустим процедуры принудительно в монопольном режиме.
Шаг 2. Очистка кэша сервера «1С:Предприятия»
Рассмотрим порядок очистки серверного кэша метаданных, так как часто ошибка вызвана сохраненным состоянием рабочих процессов:
- Остановим службу сервера
1C:Enterprise 8.3 Server Agent через консоль управления службами (services.msc).
- Перейдем в рабочий каталог кластера серверов (по умолчанию это каталог
C:\Program Files\1cv8\srvinfo\).
- Очистим временные данные и кэш сеансов (каталоги формата
snccntx* и временные файлы внутри папок рабочих процессов).
- Запустим службу сервера 1С заново и проверим формирование отчетов.
Шаг 3. Диагностика в файловом режиме и пересоздание базы в СУБД
Если очистка кэша и регламентные задания не помогли, а в файловой копии базы отчеты формируются без ошибок, мы имеем дело с нарушением целостности таблиц на стороне СУБД. В этом случае тестирование и исправление средствами Конфигуратора на SQL-сервере может завершаться критической ошибкой. Разберем по шагам проверенный алгоритм полного перестроения базы данных:
- Создание резервной копии: Откроем информационную базу в режиме Конфигуратор и выполним команду меню Администрирование → Выгрузить информационную базу..., сохранив файл с расширением
.dt.
- Удаление проблемной базы на сервере СУБД: В среде управления СУБД (например, SQL Server Management Studio) корректно удалим поврежденную базу данных, предварительно убедившись в наличии сохраненного файла выгрузки.
- Создание новой чистой базы: Создадим на сервере СУБД новую пустую базу данных с нужными параметрами сортировки и collation.
- Регистрация базы в кластере 1С: Через консоль Администрирование серверов 1С Предприятия добавим новую информационную базу, связав ее с только что созданной пустой базой на SQL-сервере.
- Загрузка данных: Запустим Конфигуратор для новой информационной базы и выберем пункт меню Администрирование → Загрузить информационную базу..., указав ранее выгруженный
.dt файл.
При загрузке файла .dt платформа «1С:Предприятие» заново с нуля создает все таблицы, поля, первичные ключи и индексы в базе данных СУБД. Это гарантированно устраняет любые рассинхронизации метаданных и физических таблиц, возникшие при тяжелом обновлении.
Шаг 4. Сброс пользовательских настроек отчетов
Если ошибка продолжает воспроизводиться у отдельных пользователей, необходимо очистить сохраненные настройки вариантов отчетов:
- Откроем форму проблемного отчета под учетной записью пользователя.
- Нажмем Еще → Стандартные настройки для сброса структуры отчета к типовому макету.
- Если это не помогло, перейдем в раздел Администрирование → Настройки пользователей и прав → Очистка настроек и удалим сохраненные настройки отчетов для конкретного пользователя.