XML-файл с отчётом пришёл извне: как принять его в 1С 8.3

· 9 мин

Содержание

Загрузить отчет в 1С из файла XML можно тремя путями, и выбор зависит от того, что внутри файла. Декларацию в формате ФНС принимают в журнале регламентированных отчётов (Отчеты → Регламентированные отчеты). Данные из другой базы 1С грузят обработкой обмена. XML из сторонней программы (кассы, склада, маркетплейса) — только через правила конвертации или свою обработку.

Частая ошибка — открыть XML через Файл → Открыть и ждать, что 1С сама поймёт, куда его положить. Платформа покажет файл как текст, и только. Формат файла определяет инструмент, а не наоборот.

Что лежит внутри файла и с чего начать

Прежде чем что-то загружать, откройте XML в любом текстовом редакторе с подсветкой (Notepad++, VS Code) и посмотрите первые 10–20 строк. Этого хватает, чтобы понять сценарий.

📌 Признаки формата ФНС:

  • корневой элемент <Файл> с атрибутами ИдФайл, ВерсПрог, ВерсФорм;
  • внутри элемент <Документ> с атрибутом КНД (например, 1151001 у декларации по НДС, 1151100 у 6-НДФЛ, 1151111 у расчёта по страховым взносам);
  • кодировка в заголовке — windows-1251;
  • имя файла вида NO_NDS_7701_7701_7701234567770101001_20261020_<GUID>.xml.

📌 Признаки выгрузки из 1С:

  • корень <V8Exp:Data> или похожий с пространством имён http://v8.1c.ru/... — это выгрузка обработкой «Выгрузка и загрузка данных XML»;
  • корень <ФайлОбмена> с атрибутами вроде ВерсияФормата, ИмяКонфигурацииИсточника — выгрузка по правилам КД 2.0;
  • упоминание EnterpriseData в пространстве имён — универсальный формат КД 3.0.

📌 Сторонний XML — всё остальное: свои теги вроде <Order>, <Receipt>, <Item> без признаков выше.

Что у вас в XML-файле?

Перед любой загрузкой в рабочую базу сделайте резервную копию. Обмен создаёт и перезаписывает объекты, а откатить его без копии нельзя. Безопаснее сначала прогнать файл на копии базы.

Регламентированный отчёт в XML: загрузка в 1С-Отчетность

Типовая ситуация: декларацию подготовили в другой программе, прислал прошлый бухгалтер или ответили из инспекции. Её нужно видеть в журнале, сверить с данными учёта или отправить.

  1. Откройте Отчеты → Регламентированные отчеты.
  2. В командной панели журнала найдите команду загрузки — кнопку «Загрузить» (в части релизов она спрятана в меню «Ещё»).
  3. Укажите XML-файл. Программа сама определит форму по коду КНД и организацию по ИНН и КПП.
  4. Откройте загруженный отчёт и нажмите «Проверить» — встроенная проверка покажет ошибки заполнения и контрольных соотношений.

Что важно знать о результате:

  • 🧾 отчёт попадает в журнал как обычный, со статусом «Подготовлен» или аналогичным начальным — его можно редактировать и отправлять;
  • 🔢 данные учёта при этом не меняются: загрузка декларации не создаёт ни документов, ни проводок;
  • 🏢 если организации с таким ИНН/КПП в базе нет, загрузка не пройдёт — сначала заведите её в справочнике «Организации».

Загружаются не все формы. Если команда сообщает, что форма не поддерживается, проверьте файл в бесплатной программе ФНС «Налогоплательщик ЮЛ»: она читает XML-форматы налоговой и покажет, корректен ли файл.

Самая частая причина отказа — версия формата. Файл с ВерсФорм="5.08" не загрузится в релиз, который уже работает с новой версией формата, и наоборот. Решение одно: обновить конфигурацию или запросить у отправителя выгрузку в актуальном формате.

Перенос из другой базы 1С стандартной обработкой обмена

Если XML выгружен из 1С, его почти всегда грузят той же обработкой, которой выгружали. Подходов два, и путать их нельзя.

ИнструментКогда подходитРиски
«Выгрузка и загрузка данных XML»Конфигурации одинаковые, вплоть до релизаДубли при повторной загрузке, перезапись объектов по ссылке
«Универсальный обмен данными в формате XML» + правила КД 2.0Конфигурации разные (например, УТ → БП)Без правил не работает; ошибки в правилах дают битые ссылки
Синхронизация через EnterpriseDataОбе конфигурации типовые, на БСПСопоставление объектов при первой загрузке нужно проверить вручную

Обработка «Выгрузка и загрузка данных XML»

Это внешняя обработка (файл ВыгрузкаЗагрузкаДанныхXML83.epf), её распространяют с диском технологической поддержки. В конфигурации её нет.

  1. Откройте обработку через Файл → Открыть (или Ctrl+O).
  2. При первом открытии платформа предупредит об опасных действиях — подтвердите, если файл получен из надёжного источника.
  3. Перейдите на вкладку «Загрузка», укажите XML и запустите.

Обработка пишет объекты по внутренним ссылкам (GUID). Если в базе уже есть объект с той же ссылкой — он будет перезаписан данными из файла. Это удобно при переносе, но опасно, если в базе-приёмнике данные успели поменять.

Синхронизация через универсальный формат

В типовых конфигурациях на БСП (БП 3.0, УТ 11, ЗУП 3.1) обмен через EnterpriseData настраивается в Администрирование → Синхронизация данных. Там же есть варианты обмена через файл: одна база выгружает сообщение в каталог, другая забирает.

Как проверить, что всё загрузилось

Сразу после загрузки сравните итоги, а не отдельные документы:

  • 🔍 число документов за период в списке источника и приёмника — отбором по дате;
  • 💰 обороты по ключевым счетам в оборотно-сальдовой ведомости за тот же период;
  • 👥 новые элементы справочников: отсортируйте список по дате создания или коду и посмотрите, не появились ли двойники контрагентов и номенклатуры.

Расхождение в один-два документа обычно означает, что они не прошли проведение в приёмнике. Их видно в списке по отсутствию отметки о проведении.

Внешние обработки и расширения для своего формата

Сторонний XML — отчёт кассы, выгрузка маркетплейса, реестр от банка — типовыми средствами не грузится. Нужна обработка, которая прочитает файл и создаст нужные документы.

Вариантов размещения три:

  • 📂 Внешняя обработка (.epf) — открывается через Файл → Открыть, удобна для разовой загрузки;
  • 🗂 Дополнительная обработка — регистрируется в справочнике дополнительных отчётов и обработок (в БП 3.0 — Администрирование → Печатные формы, отчеты и обработки), доступна пользователям из меню и может работать по расписанию;
  • 🧩 Расширение конфигурации (.cfe) — когда загрузка должна стать частью программы: свой документ, регламентное задание, кнопка в форме. Расширения появились в платформе 8.3.6.

Скелет разбора XML средствами платформы. Пример читает строки вида <Item Code="00123" Qty="5" Price="250.00"/> в таблицу значений:

Функция ПрочитатьСтроки(ИмяФайла)

    Таблица = Новый ТаблицаЗначений;
    Таблица.Колонки.Добавить("Код", Новый ОписаниеТипов("Строка"));
    Таблица.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));
    Таблица.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));

    Чтение = Новый ЧтениеXML;
    Чтение.ОткрытьФайл(ИмяФайла);

    Пока Чтение.Прочитать() Цикл
        Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя = "Item" Тогда
            Строка = Таблица.Добавить();
            Строка.Код        = Чтение.ПолучитьАтрибут("Code");
            Строка.Количество = Число(Чтение.ПолучитьАтрибут("Qty"));
            Строка.Цена       = Число(Чтение.ПолучитьАтрибут("Price"));
        КонецЕсли;
    КонецЦикла;

    Чтение.Закрыть();
    Возврат Таблица;

КонецФункции

Дальше по таблице ищут номенклатуру по коду и заполняют табличную часть документа. Поиск обязательно проверяйте на пустую ссылку: строку с неизвестным кодом лучше вывести в протокол, чем молча пропустить.

Если у формата есть XSD-схема, удобнее загрузить её как XDTO-пакет и читать файл через ФабрикаXDTO. Тогда ошибки структуры ловятся на чтении, а не в середине создания документов.

Правила конвертации: когда нужны КД 2.0 и КД 3.0

«Конвертация данных» — отдельная конфигурация 1С, в которой описывают, какой объект источника во что превращается в приёмнике. Сама она ничего не грузит: она создаёт правила.

КД 2.0

  1. Из обеих конфигураций выгружают структуру метаданных обработкой MD83Exp.epf.
  2. В КД 2.0 загружают обе структуры и описывают правила: справочник → справочник, документ → документ, соответствие реквизитов.
  3. Правила сохраняют в XML-файл.
  4. В базе-приёмнике открывают «Универсальный обмен данными в формате XML», на вкладке загрузки указывают файл данных. Правила обычно лежат внутри файла выгрузки, отдельно их подключать не нужно.

Ключевое при настройке — правила поиска. Если справочник ищется по коду, а в двух базах коды разные, получите дубли. Надёжнее искать по ИНН для контрагентов, по артикулу или наименованию для номенклатуры.

Сопоставление полей
Контрагент.ИНН→Контрагенты (поиск по ИНН)
Номенклатура.Артикул→Номенклатура (поиск по артикулу)
СтавкаНДС→Перечисление «Ставки НДС»
Склад.Наименование→Склады (поиск по наименованию)
Сумма документа→Пересчитывается из строк

КД 3.0

КД 3.0 работает с форматом EnterpriseData. Результат — не файл правил, а программный модуль менеджера обмена, который встраивают в конфигурацию или расширение. Этот путь выбирают, когда нужен постоянный обмен между нетиповой базой и типовой.

Для разовой загрузки одного отчёта КД избыточна. Если файл придёт один раз, быстрее написать внешнюю обработку на 50–100 строк.

Почему XML не загружается: разбор ошибок

Диагностика: выберите симптом

Проверить сам файл до загрузки можно сверкой со схемой. Для форматов ФНС схемы публикует налоговая, для обменов КД 2.0 схема фиксированная. Любой XML-редактор с проверкой по XSD покажет строку, где структура нарушена.

Автоматизация: загрузка по расписанию и из командной строки

Когда файлы приходят каждый день, ручная загрузка превращается в рутину. Три рабочих способа:

  1. Дополнительная обработка с расписанием. В карточке дополнительной обработки для команды с типом «Вызов серверного метода» задаётся расписание. Обработка забирает файлы из каталога и складывает обработанные в архив.
  2. Регламентное задание в расширении. Самый надёжный вариант для клиент-серверной базы: задание выполняется на сервере 1С без участия пользователя.
  3. Пакетный запуск. Для файловой базы — задача в планировщике Windows с запуском внешней обработки:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Обмен" /P"пароль" /Execute"D:\Scripts\ZagruzkaXML.epf" /C"D:\Inbox"

Параметр /C передаёт строку в ПараметрЗапуска, обработка берёт из неё каталог. Номер версии в пути подставьте свой.

Пароль в bat-файле лежит открытым текстом. Заведите для обмена отдельного пользователя с правами только на нужные объекты и закройте доступ к каталогу со скриптом.

Для любой автоматической загрузки сделайте протокол: какой файл, сколько создано объектов, какие строки отклонены. Без него ошибку в ночной загрузке найдут через неделю, на сверке.

Частые вопросы

Можно ли загрузить в 1С XML-декларацию из программы «Налогоплательщик ЮЛ»?
Да, если форма поддерживается загрузкой и версия формата совпадает с той, что знает ваш релиз. Загружается через журнал регламентированных отчётов.
Создаст ли загрузка декларации проводки или документы?
Нет. Загружается только сам отчёт с показателями. Учётные данные остаются как были.
Можно ли загрузить XML в базу 1С через веб-клиент?
Да, загрузка регламентированных отчётов и дополнительные обработки доступны в веб-клиенте. Файл передаётся на сервер через диалог выбора, а внешнюю обработку предварительно регистрируют в справочнике дополнительных обработок.
Как загрузить XML из Excel в 1С?
Excel-файл и XML — разные форматы. Табличные данные проще загрузить через загрузку из табличного документа в формах списков или отдельной обработкой, а не превращать их в XML.
Что делать, если файл XML очень большой и загрузка зависает?
Читайте файл потоково через ЧтениеXML, а не целиком в DOM. Записывайте объекты пачками в транзакциях по 500–1000 штук, чтобы ошибка в одной строке не откатывала всю загрузку.