При работе с отчетностью СЗВ-ТД в программе 1С:Зарплата и Управление Персоналом 3.1 пользователи нередко сталкиваются с ситуацией, когда при проверке или отправке отчета через систему СБИС возникает критическая Ошибка 50. Сообщение об ошибке часто сопровождается текстом "Путь до элемента: строка 0 символ 0". Данная ситуация особенно характерна для периодов изменения форматов электронного документооборота с ПФР (ныне СФР).
В этой статье мы подробно разберем, почему возникает эта ошибка, как она связана с техническими особенностями формата XML и какие конкретные шаги необходимо предпринять для ее устранения.
Прежде всего, проанализируем ситуацию: ошибка с кодом 50 в контексте проверки отчетности означает общую неудачу валидации XML-файла по XSD-схеме. Сообщение "строка 0 символ 0" указывает на то, что парсер (программа-анализатор) не смог даже начать чтение документа. Это происходит по нескольким основным причинам:
CheckPFR или CheckXML. Если этот модуль не обновлен до актуальной версии, он не понимает структуру новых тегов.КодВФ (Код выполняемой функции в старом формате) в пользу обязательного использования кодов ОКЗ.Первым делом нам необходимо убедиться, что используемый релиз 1С:ЗУП 3.1 поддерживает актуальные требования фонда. На примере версии 3.1.18.121 и выше, рассмотрим действия пользователя:
Если обновление конфигурации до последнего актуального релиза по каким-то причинам невозможно, следует проверить наличие специализированных исправлений (патчей). В частности, для решения проблемы с формированием XML-файла СЗВ-ТД выпускался патч EF_10232791.
Рассмотрим, что именно исправляет этот патч. Он вносит изменения в модуль выгрузки, предотвращая дублирование или некорректное заполнение тегов, связанных с профессиональной деятельностью. В новых форматах 1С должна выгружать сведения строго по классификатору ОКЗ в формате XXXX.X.
Часто проблема кроется не в самом файле 1С, а в том, как СБИС пытается его проверить перед отправкой. Проанализируем архитектуру этого процесса. Даже если вы работаете в браузере, СБИС может обращаться к локально установленным компонентам проверки.
Выясним, как обновить модуль проверки:
Помните, что если протокол проверки из ПФР возвращается с пометкой о модуле проверки старого образца (например, "версия от января 2021"), это явный признак того, что на стороне приемного шлюза или в вашем ПО используются устаревшие алгоритмы.
Давайте посмотрим на техническую составляющую файла. Чтобы понять, правильно ли 1С сформировала документ, нам нужно открыть XML-файл (выгрузить его на диск) и просмотреть заголовок. Актуальный формат должен содержать правильные ссылки на пространства имен.
Пример корректной шапки (корневого элемента) выглядит так:
<ЭДПФР xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:АФ5="http://пфр.рф/AF/5.0.0"
xmlns:УТ2="http://пфр.рф/UT/2.0.0"
xmlns="http://пфр.рф/SZV-TD/2020-09-26">
Если вы видите старые ссылки или отсутствие необходимых атрибутов xmlns, документ необходимо переформировать.
Иногда простого нажатия кнопки "Записать" или "Провести" недостаточно для того, чтобы 1С полностью перестроила внутреннюю структуру XML-данных после обновления релиза. Рассмотрим алгоритм "глубокого" обновления документа:
СЗВ-ТД.Проанализируем ситуацию с полем Код выполняемой функции. Согласно альбому форматов версии 2.62д, это поле больше не должно заполняться старым способом (из карточки трудовой функции как произвольный текст). Теперь программа 1С должна автоматически подставлять значение из справочника ОКЗ.
Проверьте в справочнике Трудовые функции, заполнен ли там реквизит ОКЗ. Если он пуст, 1С сформирует некорректный XML, который не пройдет валидацию в СБИС, что и приведет к Ошибке 50.
В завершение подчеркнем: комплексное решение проблемы всегда состоит из обновления конфигурации 1С до последнего релиза (чтобы исключить ошибки формирования файла) и обновления внешних модулей проверки СБИС (чтобы отчет проходил предпроверочный контроль без ложных срабатываний).