Как исправить ошибку валидации ФЛК адреса при отправке электронного поручения экспедитору в 1С?

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

При обмене электронными перевозочными документами (ЭПД) через подсистемы 1С пользователи нередко сталкиваются с ситуацией, когда электронное поручение экспедитору (ЭПЭ) или электронная транспортная накладная (ЭТРН) не принимаются сервисом обмена. В ответ возвращается отказ с ошибкой форматно-логического контроля (ФЛК): «Element 'АдрИнф': This element is not expected» или «Элемент АдрРФ/ИныеСвед обязателен при отсутствии одного из элементов Город | Улица | НаселПункт | Дом». Разберем детально, почему возникает эта коллизия схемы XSD, как привести данные в соответствие с требованиями формата и как решать сопутствующие проблемы выгрузки электронных перевозочных документов.

Проанализируем типовой текст ошибки валидации:

Документ не прошел валидацию ФЛК: Ошибка: Element 'АдрИнф': This element is not expected. | Ошибка: Не выполнено условие - Элемент АдрРФ/ИныеСвед обязателен при отсутствии одного из элементов Город | Улица | НаселПункт | Дом. - /Файл/Документ/СодИнфКлнт/СвГруз/СвГП/Адрес/АдрРФ

Причины возникновения ошибки в структуре XML

Формат электронных перевозочных документов регламентирован приказами ФНС и Минтранса. В XSD-схеме блока адреса предусмотрено строгое ветвление:

  1. Структурированный адрес РФ (АдрРФ): содержит строгие реквизиты по классификатору (регион, город, населенный пункт, улица, дом). Схема устанавливает жесткое логическое правило: если в адресе отсутствует хотя бы один из опорных уровней (например, указана промзона, складской комплекс или километр трассы без стандартной связки «город — улица — дом»), то ветка обязана содержать тег ИныеСвед.
  2. Адрес в свободной форме или иностранный адрес (АдрИнф): передает код страны и свободную текстовую строку. Элемент АдрИнф не может присутствовать одновременно с узлом АдрРФ.

Ошибка появляется, когда адрес в 1С внесен некорректно: либо данные введены с детальными помещениями/комнатами, которые сериализатор 1С не может сопоставить с классификатором ФИАС/ГАР, либо при выгрузке формируется противоречивый узел, не удовлетворяющий условию полноты реквизитов.

Решение 1. Корректировка контактной информации контрагента

Рассмотрим, как исправить адрес в пользовательском интерфейсе 1С (в карточке контрагента, организации или склада грузополучателя/грузоотправителя):

  1. Откроем карточку участника перевозки (грузополучателя, грузоотправителя или экспедитора), на которого ругается валидатор (пути в ошибке: СвГП, СвГО или СвЭксп).
  2. Перейдем к редактированию фактического или юридического адреса.
  3. Если в адресе вручную занесены сложные конструкции вроде «помещение 12, комната 5, складской бокс А», очистим эти уточнения или перенесем их в поле «Дополнительные сведения». Формат XSD ЭПД часто отторгает детализацию ниже уровня дома/владения, если она вписана не в те поля.
  4. Если адрес представляет собой логистический терминал без стандартной улицы или номера дома, заполним адрес по классификатору до минимально доступного уровня (субъект РФ, район), а точный ориентир местоположения укажем именно в строке «Дополнительные сведения». При выгрузке 1С автоматически сформирует тег ИныеСвед, и проверка условия формата будет пройдена.
  5. Запишем карточку контрагента, вернемся в документ электронного поручения экспедитору и перезаполним сведения участника.

Решение 2. Программное исправление структуры адреса при международных перевозках

Если перевозка оформляется с участием иностранных пунктов отправления или назначения, часто возникает ошибка сериализации из-за отсутствия наименования страны. Выясним причину: в некоторых релизах конфигураций при формировании структуры адреса для ГИС ЭПД заполняется числовой код страны, но отсутствует ключ текстового наименования.

Для исправления в расширении или модуле конфигурации обратим внимание на общий модуль ОбменСГИСЭПДКлиентСервер. В процедуре формирования адреса структура должна содержать обязательное строковое поле страны:


// В процедуре ПолучитьСтруктуруАдресаУчастника() общего модуля ОбменСГИСЭПДКлиентСервер
// убедимся, что результирующая структура содержит текстовое наименование страны:
СтруктураАдреса.Вставить("КодСтраны", КодСтраныПоОКСМ);
Если Не СтруктураАдреса.Свойство("Страна") Или ПустаяСтрока(СтруктураАдреса.Страна) Тогда
    СтруктураАдреса.Вставить("Страна", "РОССИЯ"); // Или фактическое наименование страны текстом
КонецЕсли;

Решение 3. Ошибка контейнерной перевозки (элемент СвКонтейн)

В процессе оформления поручения экспедитору нередко возникает смежная ошибка валидации ФЛК:

Не выполнено условие - Элемент СвКонтейн обязателен и формируется только при значении элемента ПрзПрвз, равном "1" или "2". - /Файл/Документ/СодИнфКлнт/СвГруз

Проанализируем ситуацию: элемент ПрзПрвз («Признаки перевозки») в табличной части грузов принимает специальные цифровые коды. Значения «1» или «2» означают контейнерную перевозку. По правилам формата при указании этого признака XML-файл обязан содержать блок СвКонтейн (номер, тип и параметры контейнера).

Разберем способы устранения ошибки:

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

Как выбрать нужный идентификатор участника ЭДО для отправки ЭТРН и ЭПЭ

Когда у контрагента (перевозчика или грузополучателя) зарегистрировано несколько идентификаторов у операторов ЭДО (например, один для Диадока под товарные накладные, а второй в профильном операторе ГИС ЭПД под транспортные документы), отправка из 1С может пойти не по тому каналу. Напрямую в документе выбрать идентификатор отправки нельзя, так как маршрут определяется подсистемой настроек обмена.

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

  1. Откроем раздел Администрирование — Обмен электронными документами — Настройки ЭДО.
  2. Найдем контрагента, у которого подключено несколько учетных записей.
  3. Создадим две независимые настройки регламента обмена (по одной для каждого идентификатора участника ЭДО).
  4. В настройке для первого идентификатора (предназначенного для УПД и первичных документов) отключим форматы перевозочных документов: снимем флаги отправки для ЭТРН и Электронного поручения экспедитору.
  5. В настройке для целевого логистического идентификатора, наоборот, включим транспортные документы (ЭТРН, ЭПЭ), а передачу расчетно-платежных документов отключим.

Благодаря такому разделению регламентов система 1С при формировании титулов ЭТРН или ЭПЭ будет автоматически направлять транспортные пакеты в специализированный идентификатор контрагента, исключая зависание документов у нецелевого провайдера.

← На главную