При работе с документами системы электронного документооборота (СЭДО) с Социальным фондом России (СФР) в конфигурациях «1С:Зарплата и управление персоналом» пользователи часто сталкиваются с ошибками после обновлений. Одной из распространенных проблем является невозможность открыть документ «Заявление в ФСС о возмещении выплат родителям детей-инвалидов» (или аналогичные документы СЭДО). Система выдает критическую ошибку, ссылаясь на отсутствие определенного поля объекта.
В этой статье мы подробно разберем, почему возникает ошибка Поле объекта не обнаружено (ВыплатаТипУведомления), проанализируем текст ошибки и рассмотрим пошаговые методы восстановления работоспособности программы.
Прежде чем приступать к "лечению", давайте внимательно изучим "диагноз". Текст ошибки выглядит следующим образом:
Поле объекта не обнаружено (ВыплатаТипУведомления)
{Документ.ЗаявлениеВФССОВозмещенииВыплатРодителямДетейИнвалидов.Форма.ФормаДокумента.Форма(955)}:ВыплатаТипУведомления = Запись.ВыплатаТипУведомления;
{Документ.ЗаявлениеВФССОВозмещенииВыплатРодителямДетейИнвалидов.Форма.ФормаДокумента.Форма(908)}:СостояниеОтправки = СостояниеОтправки();
Давайте разберем, что происходит в этот момент в системе:
ПриЧтенииНаСервере или ПриПолученииДанныхНаСервере формы документа.ОбновитьПанельСостоянияДокумента.Запись), который хранит информацию о статусах обмена с СЭДО.ВыплатаТипУведомления.Запись, и вызывает исключение.Суть проблемы: Произошла рассинхронизация между кодом программы (который уже "знает" о новом поле и пытается к нему обратиться) и структурой данных или метаданных (где этого поля еще нет, или оно называется иначе, или перекрыто старым расширением).
Это наиболее вероятная причина возникновения ошибки в современных релизах ЗУП 3.1. Фирма "1С" выпускает оперативные исправления (патчи) в виде расширений конфигурации. Иногда старый патч, установленный для предыдущего релиза, остается в системе после обновления основной конфигурации и начинает конфликтовать с новым типовым кодом.
В нашем случае, возможно, был установлен патч, который менял логику работы с СЭДО. После обновления релиза этот функционал был включен в основную конфигурацию, но патч продолжает работать и перехватывать управление, передавая в форму устаревшую структуру данных без поля ВыплатаТипУведомления.
Как решить проблему:
Мы рекомендуем выполнить очистку и актуализацию патчей. Выполним следующие действия:
Если ваша база данных дорабатывалась программистами через механизм расширений, причина может крыться там. Часто доработки касаются форм документов для вывода дополнительных полей или кнопок. Если расширение заимствует форму документа ЗаявлениеВФССОВозмещенииВыплатРодителямДетейИнвалидов, оно "замораживает" состояние этой формы на момент создания расширения.
После обновления основной конфигурации типовая форма изменилась (появился код обращения к ВыплатаТипУведомления), а расширение подменяет её старой версией или вмешивается в процедуру чтения данных.
Диагностика и решение:
Проверим гипотезу, временно отключив расширения:
Если документ открылся без ошибки, значит, дело в одном из расширений. Необходимо обратиться к разработчику этого расширения для его адаптации под новый релиз ЗУП.
Иногда при динамическом обновлении базы данных (обновление при работающих пользователях) на клиентских компьютерах сохраняется старый кеш метаданных. Платформа "думает", что работает со старой структурой объектов, в то время как серверный код уже обновлен.
Решение:
Очистим кеш 1С. Это базовая процедура при любых странных ошибках типа "Поле объекта не обнаружено".
C:\Users\%Username%\AppData\Roaming\1C\1cv8\
C:\Users\%Username%\AppData\Local\1C\1cv8\
Как верно заметили участники обсуждения, ошибка часто исправляется простым обновлением до последнего релиза. Механизмы взаимодействия с СФР (проактивные выплаты) меняются очень часто, и ошибки в релизах — не редкость.
Если у вас установлен не самый последний релиз конфигурации, высока вероятность, что ошибка Поле объекта не обнаружено (ВыплатаТипУведомления) является зарегистрированной ошибкой вашего релиза, которая уже исправлена в следующем.
Действия:
Если предыдущие методы не помогли, проблема может быть в "битых" данных в регистрах сведений, отвечающих за состояния документов СЭДО. Например, запись в регистре была сформирована старым релизом программы, где структура ресурса хранения данных отличалась от текущей.
Речь идет о регистрах вроде СостоянияДокументовСЭДОФСС или аналогичных, связанных с проактивными выплатами.
Как исправить (требуются права администратора или технического специалиста):
СостоянияДокументовСЭДОФСС).ЗаявлениеВФССОВозмещенииВыплатРодителямДетейИнвалидов.Ошибка Поле объекта не обнаружено (ВыплатаТипУведомления) в 90% случаев вызвана конфликтом обновлений. Мы рекомендуем действовать в таком порядке:
Следуя этим рекомендациям, вы сможете восстановить доступ к документам и продолжить работу с отчетностью в СФР.