Как исправить ошибку 2506 «устаревший формат в документе транзакции MainDocumentReject» при обмене ЭДО в 1С?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

При работе с электронным документооборотом (ЭДО) пользователи часто сталкиваются с ситуацией, когда при попытке отклонить документ или отправить уведомление об уточнении система выдает ошибку: "ApiErrorCode": 2506, "Details": "в документе транзакции 'MainDocumentReject' устаревший формат". В тексте ошибки также уточняется, что документ сформирован в формате 1.02, тогда как требуется формат 1.03. Разберем подробно, почему это происходит и как решить проблему без глобального обновления конфигурации.

Почему возникает ошибка: нормативная база

Проанализируем ситуацию с точки зрения законодательства. Изменение формата технологических документов (извещений о получении, уведомлений об уточнении) продиктовано приказом ФНС России от 21.02.2023 № ЕД-7-26/133@. Согласно этому нормативному акту, старый формат 1.02 прекратил свое действие, и операторы ЭДО (такие как Диадок, СБИС, Калуга Астрал) перестали принимать файлы, не соответствующие новой схеме XSD 1.03. Ошибка 400 (Bad Request) возвращается сервером оператора, так как ваша 1С пытается отправить "титул отклонения" по старым правилам.

Решение 1: Установка официальных патчей (исправлений)

Первым делом рассмотрим самый правильный и наименее трудозатратный способ — установку патчей. Для типовых конфигураций 1С (УТ 11, КА 2, ERP, БП 3.0) разработчики выпустили специальные исправления, которые добавляют поддержку формата 1.03 в механизмы ЭДО. Проверим наличие и установим следующие патчи:

Если ваша конфигурация сильно доработана и находится на поддержке с изменениями, убедитесь, что патчи совместимы с вашим текущим релизом БСП (Библиотеки стандартных подсистем). Установить их можно через меню Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи).

Решение 2: Очистка «зависших» документов и повторная отправка

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

  1. Откроем документ ЭДО, с которым возникает проблема.
  2. Перейдем в меню Другие действия и выберем пункт Вернуть в работу. Это позволит разблокировать редактирование состояния.
  3. Нам необходимо найти и удалить сформированное, но не отправленное извещение. Для этого переходим в Администрирование — Удаление помеченных объектов.
  4. Если стандартное удаление не помогает, воспользуемся поиском в справочнике Присоединенные файлы (Сообщения ЭДО). Отфильтруем список по контрагенту и дате, найдем файл с типом "Извещение о получении" или "Уведомление об уточнении" (имя файла обычно начинается с DP_IZVPOL или DP_UVUTOCH) и пометим его на удаление.
  5. После окончательного удаления файла из базы вернемся в документ и снова нажмем Подписать и отправить (или "Отклонить"). Система должна сформировать новый файл уже в формате 1.03.

Решение 3: Ручная корректировка регистра состояний ЭДО

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

  1. Перейдем в Функции для технического специалиста (или "Все функции").
  2. Найдем регистр сведений СостоянияДокументовЭДО.
  3. Найдем строку с нашим проблемным документом.
  4. Вручную изменим значение в колонке Состояние на "Требуется уточнение" или "Требуется утверждение" (в зависимости от логики процесса).
  5. Нажмем Записать и закрыть.

После этого статус в форме ЭДО обновится, и вы сможете повторить цикл обработки документа.

Особенности работы в распределенных базах (РИБ)

Проанализируем ситуацию, если вы используете РИБ. Важно помнить: патчи, установленные в центральном узле, автоматически передаются в периферийные узлы только при включенной синхронизации конфигурации. Если вы установили патч в "голове", но пытаетесь отправить отказ из магазина (периферии), где патч еще не применился, вы получите ту же ошибку 2506. Убедитесь, что версия конфигурации и набор исправлений идентичны во всей сети.

Технический обход для разработчиков (без обновления)

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

Найдем фрагмент кода, где заполняются атрибуты файла:


// Пример логики изменения версии формата
АтрибутыФайла = Новый Соответствие();
АтрибутыФайла.Вставить("ВерсФорм", "1.03"); // Заменяем жестко прописанное "1.02" на "1.03"
АтрибутыФайла.Вставить("НаимЭконСуб", Организация.Наименование);

Однако помните, что простая замена строки "1.02" на "1.03" — это "костыль". Настоящее решение требует проверки всей XSD-схемы, так как в версии 1.03 могут измениться требования к обязательным полям или длине идентификаторов.

Использование внешних обработок (СБИС, Диадок)

Если вы используете для обмена не встроенный функционал "1С-ЭДО", а внешние обработки от операторов (например, "СБИС 1С коннектор" или "Диадок Универсальный передаваемый документ"), то патчи 1С вам не помогут. В этом случае необходимо просто скачать актуальную версию внешней обработки с сайта оператора. Логика формирования XML-файлов в таких решениях зашита внутри самой обработки (в модуле объекта или макетах), и обновление конфигурации 1С для них обычно не требуется.

Заключение

Мы рассмотрели основные способы исправления ошибки 2506. Подведем итог: наиболее эффективным методом является установка связки патчей EF_00_00524253 и EF_00_00533857 с последующей очисткой ошибочно сформированных файлов из справочника присоединенных файлов. Если это не помогает — используйте ручную корректировку регистра состояний ЭДО для сброса статуса документа.

← На главную