Как исправить ошибку «Узел ROW не найден» при загрузке ЭЛН в 1С:Зарплата и управление персоналом?

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

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

Почему возникает ошибка при загрузке ЭЛН?

Выясним причину технического сбоя. Ошибка связана с переходом ФСС (ныне Социальный фонд России — СФР) на новый формат обмена данными. Если раньше использовался формат версии 1.1, то теперь фонд перешел на версию 2.0. В старом формате XML-файл ответа от фонда имел плоскую структуру и содержал тег ROW, который программа 1С искала для чтения данных больничного листа.

В новом формате 2.0 структура XML существенно изменилась: стала использоваться иерархия с другими именами тегов и новыми пространствами имен. Однако в устаревших релизах 1С алгоритм поиска жестко прописан под старый формат. Посмотрим на пример кода из общего модуля ОбменЛисткамиНетрудоспособностиФСС, который вызывает сбой:


УзелROW = СериализацияБЗК.НайтиУзелDOM(СтруктураDOM, "//*[local-name = 'ROW']");
Если УзелROW = Неопределено Тогда
    ВызватьИсключение ?(ПустаяСтрока(Результат.ТекстСообщенияФСС), НСтр("ru = 'Узел ""ROW"" не найден'"), Результат.ТекстСообщенияФСС);
КонецЕсли;

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

Способ 1: Установка патча и обновление конфигурации

Разберем по шагам, как исправить программную часть 1С, чтобы она научилась «понимать» новые форматы файлов ФСС.

  1. Установка патча. Разработчики 1С оперативно выпустили экстренное исправление — патч EF_10228137 (например, версия EF_10228137_7 для релиза 3.1.14.334). Этот патч корректирует алгоритм разбора XML-файла, позволяя системе без проблем обрабатывать как старые, так и новые ответы от фонда. Загрузите его с официального сайта обновлений 1С и установите в базу.
  2. Обновление конфигурации. Данный патч является временным решением для промежуточных релизов (версии 3.1.14 и 3.1.16). Штатно эта ошибка исправлена в релизах 1С:ЗУП начиная с версий 3.1.17.94 и 3.1.14.369. Мы настоятельно рекомендуем обновить конфигурацию до актуального релиза. Обратите внимание: если вы обновите базу, патч автоматически пропадет из списка, так как исправление уже включено в основной код конфигурации.
  3. Очистка кэша. Иногда после установки патча ошибка может сохраниться. В этом случае очистите кэш конфигурации или просто удалите и заново добавьте информационную базу в окне запуска 1С.

Способ 2: Настройка прямого обмена с ФСС (СФР)

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

Для этого в 1С достаточно нажать кнопку «Получить из ФСС» в самом документе больничного листа, предварительно указав номер ЭЛН. При таком подходе 1С самостоятельно связывается с серверами СФР по защищенному каналу, запрашивает данные в том формате, который ей нужен (и который она гарантированно умеет обрабатывать), и автоматически заполняет документ. Единственное условие — на рабочем месте должен быть настроен сертификат ФСС или подключена «1С-Отчетность».

Способ 3: Проверка файлов, выгруженных из сторонних программ (СБИС, Контур)

Рассмотрим ситуацию, когда программа 1С обновлена, патчи установлены, но ошибка все равно появляется. Чаще всего это происходит, если вы получаете больничные не напрямую из ФСС, а выгружаете их из программ операторов ЭДО (СБИС, Контур и др.) для последующей загрузки в 1С.

Проблема кроется в том, какой именно файл сохраняет бухгалтер. Разберем типичную ошибку при работе со СБИС:

  1. Если при выгрузке нажать просто «Сохранить» или «Выгрузить для налоговой», система сформирует краткую форму документа или файл реестра (в нем может быть всего три строчки данных).
  2. При попытке загрузить такой неполный файл в 1С, программа не найдет нужных тегов и выдаст ошибку.
  3. Решение: При выгрузке ЭЛН из СБИС обязательно выбирайте специализированный пункт «Выгрузить для 1С» или «Скачать XML». Файл должен содержать полные данные электронного листка нетрудоспособности.

Также вы можете самостоятельно проверить корректность файла. Откройте скачанный XML-файл через обычный «Блокнот». В самом начале файла, в атрибуте v или в теге версии формата, должно стоять значение «2.0». Если там указано «1.1», значит, файл выгружен в устаревшем формате, и вам необходимо обновить систему оператора ЭДО или изменить настройки выгрузки.

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

← На главную