Как исправить ошибку «Unknown format message» при отправке уведомления о прекращении отпуска до 1.5 лет в 1С:ЗУП 3.1?

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

При работе с системой электронного документооборота (СЭДО) с Социальным фондом России (ранее ФСС) бухгалтеры часто сталкиваются с ситуацией, когда при отправке документа «Уведомление о прекращении отпуска по уходу за ребенком» (тип сообщения 104) приходит протокол с текстом: «Не принят см ошибка логического контроля Ошибка формата сообщения. Unknown format message». Эта ошибка является критической и означает, что контролирующий орган не смог прочитать структуру вашего файла.

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

Выясняем причину: почему возникает «Unknown format message»?

Проанализируем ситуацию с технической точки зрения. Ошибка «Unknown format message» чаще всего свидетельствует о несоответствии XML-файла актуальной XSD-схеме фонда. Это происходит из-за того, что спецификации СЭДО регулярно обновляются, и требования к составу полей меняются. Рассмотрим основные причины:

  1. Избыточные данные: С сентября 2022 года спецификация ФСС была изменена. Поля, которые раньше были обязательными или допустимыми (например, ИНН и номер телефона сотрудника), теперь считаются лишними для сообщения типа 104. Если эти теги попадают в файл, сервер фонда отклоняет его.
  2. Неверный идентификатор связи: Уведомление о прекращении отпуска должно быть жестко привязано к тому документу, которым это пособие было изначально назначено. Если связь (номер реестра) указана некорректно, формат сообщения считается нарушенным.
  3. Программные ошибки релиза: В определенных версиях конфигурации Зарплата и управление персоналом (например, 3.1.23.х) механизмы формирования XML содержали ошибки, которые исправлялись специальными патчами.

Решение 1: Правильное заполнение идентификатора реестра (BATCH_NO)

Рассмотрим порядок заполнения связующих данных в документе. Одной из самых частых ошибок является указание простого порядкового номера (например, «1») в поле номера реестра. Это неверно.

Разберем по шагам, как найти и указать правильный номер:

  1. Если пособие изначально назначалось через старый механизм «Реестр прямых выплат ФСС»:
    • Откройте тот самый документ Реестр прямых выплат ФСС, которым вы подавали сведения на этот отпуск.
    • Перейдите на вкладку «Сведения о страхователе».
    • Найдите поле «Идентификатор реестра» (в структуре XML он называется BATCH_NO). Скопируйте это длинное буквенно-цифровое значение.
    • В вашем новом «Уведомлении о прекращении отпуска» в поле для номера реестра вставьте этот идентификатор, добавьте двоеточие и укажите номер строки из того реестра. Пример: ID_ИЗ_РЕЕСТРА:1.
  2. Если пособие назначалось через новый механизм «Ответ на запрос ФСС для расчета пособия»:
    • Откройте этот документ и нажмите на гиперссылку «Успешно принят ФСС».
    • В открывшемся окне скопируйте номер реестра.
    • В уведомлении о прекращении укажите этот номер, добавьте двоеточие и цифру 1 (так как ответ на запрос обычно содержит данные только по одному человеку).

Решение 2: Очистка персональных данных (Телефон и ИНН)

Проанализируем ситуацию, описанную пользователями: фонд изменил спецификацию, и теперь наличие тегов personPhone и personInn в 104-м сообщении приводит к ошибке. Программа 1С может автоматически подтягивать их из карточки сотрудника.

Попробуем применить следующие действия:

  1. В самом документе Уведомление о прекращении отпуска по уходу за ребенком попробуйте вручную очистить поле с номером телефона сотрудника.
  2. Если при попытке отправки программа снова заполняет эти данные (перечитывает из базы), необходимо временно зайти в карточку Физического лица (не Сотрудника, а именно Физлица) и очистить ИНН и телефон там.
  3. После этого сформируйте уведомление заново и отправьте его. Как только документ будет принят фондом, данные в карточку физлица можно вернуть.

Важный нюанс: Ошибка может возникать даже из-за пустого тега. Если в XML попадает строка <personPhone/>, это тоже считается нарушением формата. Именно поэтому полное исключение данных помогает решить проблему.

Решение 3: Установка исправляющих патчей

Компания 1С оперативно выпускает исправления (патчи) для решения подобных проблем. Если вы столкнулись с «Unknown format message», обязательно проверьте наличие доступных патчей в разделе «Администрирование» — «Обслуживание» — «Обновление программы» — «Установленные исправления».

В частности, для релизов ветки 3.1.23 критически важным был патч EF_20173538. Рассмотрим, что он делает: данный патч модифицирует процедуру выгрузки XML, принудительно вырезая блоки с телефоном и ИНН из сообщения 104, независимо от того, заполнены они в программе или нет.

Проверьте актуальность вашего релиза. Если ваша версия 1С:ЗУП ниже 3.1.27, рекомендуется обновиться до актуальной, так как в новых версиях СЭДО 2.0 механизмы контроля состава полей значительно улучшены и соответствуют последним требованиям Социального фонда. Для поддержания программы в актуальном состоянии и обслуживания нескольких баз удобно использовать инструмент для автоматического обновления и тестирования 1С.

Решение 4: Технический обход через редактирование XML

В исключительных случаях, когда патчи не помогают, а сроки поджимают, можно воспользоваться методом ручной корректировки файла. Выясним, как это сделать:

  1. В документе нажмите кнопку «Выгрузить» и сохраните файл на диск.
  2. Откройте файл любым текстовым редактором (например, Блокнотом).
  3. Найдите и удалите целиком строки, содержащие <personPhone>...</personPhone> и <personInn>...</personInn>.
  4. Сохраните изменения.
  5. Отправьте подготовленный файл через стороннего оператора отчетности (например, СБИС или Калуга-Астрал), выбрав функцию «Отправить готовый файл».

Этот метод подтверждает: проблема заключается исключительно в «лишних» данных, которые ваша версия 1С включает в пакет сообщения.

Подведем итог

Чтобы успешно отправить уведомление и избежать ошибки «Unknown format message», выполните следующие действия в указанном порядке:

Помните: СЭДО — система динамичная. Если ошибка повторяется на актуальном релизе, скорее всего, фонд снова изменил XSD-схему, и стоит дождаться очередного патча от разработчиков 1С.

← На главную