При работе с порталом «Мой экспорт» (ИС «Одно окно») пользователи конфигурации 1С:Управление производственным предприятием (УПП) часто сталкиваются с проблемой: выгруженный файл XML не проходит валидацию. Система требует строгого соответствия XSD-схеме версии 5.01, в то время как стандартные механизмы программы могут выдавать файл совершенно иного содержания или более новой версии. Рассмотрим подробнее, почему это происходит и как решить данную задачу несколькими способами.
Первым делом проанализируем ситуацию, с которой сталкивается большинство пользователей. В 1С:УПП при нажатии кнопки «Сохранить как XML» в печатной форме документа система зачастую генерирует файл в формате CommerceML (CML). Этот формат предназначен для обмена данными между коммерческими организациями (например, между поставщиком и интернет-магазином) и не имеет ничего общего с регламентированным форматом ФНС.
Портал «Мой экспорт» требует файл, соответствующий приказу ФНС (ранее это был приказ ММВ-7-15/155@ для версии 5.01). Основное отличие заключается в корневых тегах и структуре данных. В формате ФНС файл должен начинаться с тега Файл, содержать атрибуты версии схемы (ВерсФорм="5.01") и уникальный идентификатор отправителя/получателя.
Самый простой и «чистый» способ получить корректный файл без написания кода — это использование встроенной подсистемы Электронного документооборота (ЭДО). Даже если вы не обмениваетесь документами с контрагентом в электронном виде через оператора, механизмы формирования XML-файлов по стандартам ФНС уже заложены в эту подсистему.
Разберем по шагам, как это сделать:
Важно учитывать, что современные версии УПП по умолчанию могут формировать версию 5.02 (согласно приказу № 820). Если портал жестко требует именно 5.01, этот файл также может быть отклонен. В таком случае потребуется либо ручная правка версии в заголовке файла (что не всегда помогает из-за различий в структуре адресов), либо использование второго решения.
Если типовые средства не выдают нужный формат, нам придется вмешаться в программный код. Рассмотрим, как реализовать выгрузку программно. Нам необходимо обратиться к метаданным и найти обработку или модуль, отвечающий за формирование электронного счета-фактуры.
Проанализируем ситуацию: в УПП за формирование XML отвечает модуль ЭлектронныеДокументыПередачаДанных или аналогичные объекты в зависимости от версии конфигурации. Чтобы получить файл именно версии 5.01, мы можем создать внешнюю обработку, которая будет собирать данные из документа и упаковывать их в XML-структуру через ЗаписьXML.
Пример логики формирования заголовка файла версии 5.01:
// Создаем объект записи XML
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл(ПутьКФайлу, "windows-1251");
ЗаписьXML.ЗаписатьОбъявлениеXML();
// Записываем корневой элемент с указанием версии схемы 5.01
ЗаписьXML.ЗаписатьНачалоЭлемента("Файл");
ЗаписьXML.ЗаписатьАтрибут("ИдФайл", СформироватьИдентификаторФайла());
ЗаписьXML.ЗаписатьАтрибут("ВерсПрог", "1С:УПП");
ЗаписьXML.ЗаписатьАтрибут("ВерсФорм", "5.01");
// Далее по структуре XSD схемы заполняем данные продавца, покупателя и табличную часть
// ...
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();
Преимущество этого метода в том, что вы можете четко следовать требованиям XSD-схемы, предоставленной технической поддержкой портала «Мой экспорт».
Выясним причину, по которой иногда проще использовать стороннее ПО. Если бюджет на доработку 1С ограничен, можно воспользоваться бесплатным инструментом от ГНИВЦ — «Налогоплательщик ЮЛ».
Алгоритм действий будет следующим:
Поскольку проблема массовая, для 1С:УПП существуют специализированные внешние обработки «Выгрузка в РЭЦ». Эти обработки учитывают специфику портала «Мой экспорт».
Рассмотрим подробнее, на что обратить внимание при выборе или создании такой обработки:
windows-1251, но некоторые веб-порталы могут ожидать UTF-8.Файл прописаны корректные ссылки на схемы, если это требуется валидатором портала.Проанализируем структуру адреса. В схеме 5.01 формат адреса часто требует жесткого разделения на элементы (Улица, Дом, Корпус) либо использования КЛАДР/ФИАС кодов. В более новых форматах (5.02 и выше) адрес может передаваться одной строкой. Если вы пытаетесь «подсунуть» порталу файл 5.02, просто исправив номер версии в заголовке, валидация прервется именно на блоке адреса или на сведениях о подписанте.
Также стоит помнить, что в версии 5.01 идентификатор файла (атрибут ИдФайл) имеет строгую структуру, включающую ИНН/КПП организации и дату формирования. Если идентификатор сформирован некорректно, портал выдаст ошибку еще на этапе загрузки файла, даже не приступая к проверке содержимого.
Таким образом, для успешной загрузки счета-фактуры на портал «Мой экспорт» из 1С:УПП рекомендуется сначала проверить возможность выгрузки через модуль ЭДО, а при его отсутствии или несовместимости версий — использовать внешнюю обработку, настроенную под конкретную XSD-схему 5.01.