При работе с электронным документооборотом (ЭДО) пользователи часто сталкиваются с ситуацией, когда при попытке отклонить документ или отправить уведомление об уточнении система выдает ошибку: "ApiErrorCode": 2506, "Details": "в документе транзакции 'MainDocumentReject' устаревший формат". В тексте ошибки также уточняется, что документ сформирован в формате 1.02, тогда как требуется формат 1.03. Разберем подробно, почему это происходит и как решить проблему без глобального обновления конфигурации.
Проанализируем ситуацию с точки зрения законодательства. Изменение формата технологических документов (извещений о получении, уведомлений об уточнении) продиктовано приказом ФНС России от 21.02.2023 № ЕД-7-26/133@. Согласно этому нормативному акту, старый формат 1.02 прекратил свое действие, и операторы ЭДО (такие как Диадок, СБИС, Калуга Астрал) перестали принимать файлы, не соответствующие новой схеме XSD 1.03. Ошибка 400 (Bad Request) возвращается сервером оператора, так как ваша 1С пытается отправить "титул отклонения" по старым правилам.
Первым делом рассмотрим самый правильный и наименее трудозатратный способ — установку патчей. Для типовых конфигураций 1С (УТ 11, КА 2, ERP, БП 3.0) разработчики выпустили специальные исправления, которые добавляют поддержку формата 1.03 в механизмы ЭДО. Проверим наличие и установим следующие патчи:
MainDocumentReject (уведомлений об уточнении) в формате 1.03.Если ваша конфигурация сильно доработана и находится на поддержке с изменениями, убедитесь, что патчи совместимы с вашим текущим релизом БСП (Библиотеки стандартных подсистем). Установить их можно через меню Администрирование — Обслуживание — Обновление программы — Установленные исправления (патчи).
Представим ситуацию: вы установили патчи, но ошибка сохраняется для тех документов, по которым попытка отклонения уже была предпринята. Это происходит потому, что 1С уже сформировала XML-файл в старом формате и "запомнила" его. Разберем по шагам, как очистить эти данные:
DP_IZVPOL или DP_UVUTOCH) и пометим его на удаление.Иногда документ "застревает" в промежуточном статусе, и кнопка "Вернуть в работу" не помогает. В этом случае проанализируем записи в регистрах сведений. Выполним следующие действия:
СостоянияДокументовЭДО.После этого статус в форме ЭДО обновится, и вы сможете повторить цикл обработки документа.
Проанализируем ситуацию, если вы используете РИБ. Важно помнить: патчи, установленные в центральном узле, автоматически передаются в периферийные узлы только при включенной синхронизации конфигурации. Если вы установили патч в "голове", но пытаетесь отправить отказ из магазина (периферии), где патч еще не применился, вы получите ту же ошибку 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 с последующей очисткой ошибочно сформированных файлов из справочника присоединенных файлов. Если это не помогает — используйте ручную корректировку регистра состояний ЭДО для сброса статуса документа.