При попытке загрузить электронный листок нетрудоспособности (ЭЛН) в устаревших конфигурациях, таких как УПП 1.3, пользователи часто сталкиваются с тем, что система отказывается принимать данные. Зачастую это сопровождается сообщениями об ошибках или некорректным заполнением полей. Рассмотрим детально, почему это происходит и как мы можем исправить ситуацию, не дожидаясь обновлений, которые для данной конфигурации уже не выпускаются.
Основная причина заключается в расхождении между структурой данных, которую передает сервис ФСС, и тем, что ожидает получить программный код 1С. В ходе разбора выяснилось, что в модулях обмена конфигурации УПП 1.3 допущены критические опечатки при обращении к свойствам объекта, полученного от сервера.
Например, при чтении данных об отчестве пациента, код пытается найти ключ PATRONIMIC, в то время как спецификация ФСС и реальный ответ сервера содержат корректный ключ patronymic. Поскольку 1С при обращении к несуществующему ключу через Свойства().Получить() возвращает Неопределено, процедура загрузки прерывается или работает некорректно.
Если ваша конфигурация снята с поддержки, самым эффективным способом решения будет прямое вмешательство в код общего модуля ОбменСведениямиОПособияхСФСС. Давайте разберем, что именно нужно изменить.
ОбменСведениямиОПособияхСФСС.ПроверкаРезультатаОбменаЭЛН (или аналогичной функции, отвечающей за парсинг ответа).ДанныеЛНОтчество. Вы увидите примерно следующий код с ошибкой:
ДанныеЛНОтчество = ?(ДанныеЛН.Свойства().Получить("PATRONIMIC") <> Неопределено, ДанныеЛН["PATRONIMIC"], Неопределено);
PATRONIMIC на patronymic.
ДанныеЛНОтчество = ?(ДанныеЛН.Свойства().Получить("patronymic") <> Неопределено, ДанныеЛН["patronymic"], Неопределено);
Аналогичные проверки стоит провести и для других полей. Например, если при загрузке возникает ошибка Поле объекта не обнаружено (LN_RESULT), обратите внимание на то, как код обращается к результату обмена. В спецификациях ФСС поля часто имеют строгое написание, и лишнее подчеркивание или ошибка в регистре букв в коде 1С не позволят системе корректно прочитать структуру данных.
Иногда после исправления одной ошибки система может выдать новую, например: функция ПолучитьСклоненияСтроки не найдена. Это означает, что исправленный участок кода вызывает функции, которые отсутствуют в вашей текущей версии конфигурации.
В такой ситуации мы рекомендуем:
Помимо технических ошибок, важно помнить о юридической стороне вопроса. Если в исходных данных ЭЛН (предоставленных медицинской организацией) содержится ошибка в ФИО или других паспортных данных, загрузка этих данных в 1С даже с исправленным кодом не сделает документ верным.
Если данные в больничном не соответствуют СНИЛС или паспорту, ФСС при камеральной проверке всё равно вернет документ с ошибкой или аннулирует его. В таких случаях мы советуем бухгалтерии:
Таким образом, мы видим, что решение проблемы в УПП 1.3 требует внимательного подхода к коду и проверки данных на стороне источника. Исправляя ошибки парсинга, вы сможете вернуть работоспособность механизма загрузки ЭЛН, значительно сократив ручной труд при расчете пособий.