XML-файл пришёл — что с ним делать: четыре пути загрузки в БП 3.0 и разбор ошибок

· 9 мин

Содержание

Чтобы загрузить XML файл в 1С 8.3 Бухгалтерия, сначала определите, что внутри: УПД или накладная поставщика загружаются из списка Покупки → Поступление (акты, накладные, УПД), файл обмена в формате EnterpriseData — через Администрирование → Синхронизация данных, выгрузка по правилам конвертации — обработкой «Универсальный обмен данными в формате XML», а готовая декларация — в журнале Отчеты → Регламентированные отчеты. Общей кнопки «Загрузить любой XML» в программе нет.

Типичная боль: файл открыли не той обработкой, получили Ошибка разбора XML или пустой результат и решили, что файл битый. Чаще всего файл в порядке, просто путь выбран не тот. Разберём, как распознать формат за минуту и пройти каждый путь до проверенного результата.

Подготовка XML-файла: что проверить до загрузки

XML — это просто текстовый контейнер. Один и тот же формат .xml используют ФНС, программы обмена 1С и сторонние сервисы. Поэтому первое действие — открыть файл в Блокноте или Notepad++ (не двойным щелчком в браузере, а через «Открыть с помощью») и посмотреть первые строки.

📌 Что смотреть:

  • Имя файла. Файлы по форматам ФНС начинаются с префикса: ON_NSCHFDOPPR_… — УПД или счёт-фактура продавца, DP_TOVTORGPR_… — товарная накладная, DP_REZRUISP_… — акт о выполнении работ.
  • Первая строка. <?xml version="1.0" encoding="windows-1251"?> или encoding="UTF-8". Если строки нет или кодировка указана одна, а файл сохранён в другой, программа выдаст ошибку разбора.
  • Корневой элемент. <Файл …> с атрибутом ВерсФорм — формат ФНС. <Message …> и пространство имён с EnterpriseData — универсальный формат обмена. <ФайлОбмена …> с атрибутом ВерсияФормата — выгрузка по правилам конвертации.
  • Размер. Файл в несколько сотен мегабайт лучше загружать в 64-разрядном клиенте или на сервере: 32-разрядному процессу может не хватить памяти.

Сохраните копию файла до любых правок. Если придётся исправлять кодировку или удалять лишний символ перед <?xml, работайте с копией — оригинал понадобится для повторной попытки.

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

Способы загрузить XML в 1С Бухгалтерию 8.3: какой выбрать

Сначала сравнительная таблица, потом каждый путь подробно.

Что в файлеКак распознатьКуда загружатьЧто получится
УПД, накладная, акт от поставщикапрефикс ON_ или DP_, корень <Файл>список поступлений, загрузка из файладокумент поступления после сопоставления товаров
Данные из другой программы 1С (УТ, УНФ, ЗУП, другая БП)корень <Message>, EnterpriseDataсинхронизация данных через каталогсправочники и документы по правилам формата
Выгрузка по правилам «Конвертации данных»корень <ФайлОбмена>обработка «Универсальный обмен данными в формате XML»объекты по правилам из файла
Декларация или расчёт в формате ФНС из другой программыпрефикс NO_, корень <Файл>журнал регламентированных отчётов, кнопка Загрузитьзаполненный регламентированный отчёт

Загрузка УПД и накладной поставщика из XML

Это самый частый случай: поставщик прислал файл по почте, а не через оператора ЭДО.

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

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

Загрузка регламентированного отчёта из XML

Если декларацию подготовили в другой программе, её можно перенести в 1С и отправить через 1С-Отчётность.

  1. Откройте Отчеты → Регламентированные отчеты.
  2. Нажмите Загрузить и выберите файл с именем вида NO_…xml.
  3. Программа создаст отчёт нужной формы за указанный в файле период. Проверьте показатели и организацию.

Загрузка пройдёт, только если форма отчёта в файле соответствует формату, который поддерживает ваш релиз БП.

Параметры загрузки в «Универсальном обмене данными в формате XML»

Этот путь нужен, когда данные выгружены по правилам конвертации: при переносе между разными конфигурациями или из старых версий программ. Файл правил готовит разработчик в конфигурации «Конвертация данных », в самом XML данных правила обычно уже вложены.

Обработка встроена в БП 3.0. Чтобы её открыть, включите Сервис и настройки → Параметры → Отображать команду "Все функции", затем пройдите Все функции → Обработки → Универсальный обмен данными в формате XML. Внешняя версия обработки открывается через Файл → Открыть.

На вкладке загрузки укажите файл данных и настройте флажки:

ПараметрЧто делаетКогда включать
Использовать транзакциипишет данные порциями, при сбое порция откатываетсяпочти всегда, особенно на больших файлах
Количество элементов в транзакцииразмер порции500–1000 для крупных выгрузок
Загружать данные в режиме обменаотключает часть проверок и обработчиков при записипри переносе остатков и истории
Режим отладкивыводит подробности по каждому объектукогда загрузка падает и непонятно, на чём
Файл протокола обменапишет журнал в отдельный файлна любой загрузке больше сотни объектов

После загрузки в режиме обмена документы могут оказаться записанными, но без движений. Тогда их перепроводят: Операции → Групповое перепроведение документов, указав период и организацию.

Если обе базы на одной и той же конфигурации и одном релизе, удобнее обработка «Выгрузка и загрузка данных XML» с диска ИТС. Правила ей не нужны: объекты переносятся с теми же внутренними идентификаторами, и при повторной загрузке не плодятся дубли.

Загрузка XML-файла в формате EnterpriseData (универсальный формат)

Универсальный формат EnterpriseData (УФ) — стандартный способ обмена между типовыми программами 1С: Бухгалтерией, Управлением торговлей, УНФ, Зарплатой и управлением персоналом. Если прямого подключения между базами нет, обмен идёт через файлы в каталоге.

  1. В БП откройте Администрирование → Синхронизация данных и включите флажок Синхронизация данных.
  2. Перейдите в Настройки синхронизации данных и создайте новую синхронизацию с нужной программой.
  3. Способ подключения выберите через каталог: локальную или сетевую папку, куда другая программа кладёт файл.
  4. Задайте правила отправки и получения: с какой даты, по каким организациям, нужны ли документы.
  5. Запустите синхронизацию. Программа возьмёт из каталога файл вида Message_<код отправителя>_<код получателя>.xml (или zip-архив с ним) и загрузит данные.
  6. При первой загрузке откроется сопоставление: программа покажет найденные пары контрагентов, номенклатуры и договоров и попросит подтвердить их.

Главное условие — обе программы должны поддерживать одну версию формата. Версия указана в самом файле, в пространстве имён EnterpriseData. Если ваша БП её не знает, обновите тот релиз, который отстаёт.

Подложить в каталог «чужой» файл, сделанный для другой пары баз, нельзя: в имени и внутри файла зашиты коды узлов обмена. Такой файл не загрузится или загрузится с ошибками сопоставления.

Ошибки при загрузке XML и их решение

Большинство сбоев сводится к трём причинам: не тот способ, повреждённый файл или запрет на запись в базе.

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

Если ни одна строка не подошла, включите в универсальной обработке режим отладки и протокол. В протоколе видно, на каком объекте и с каким сообщением остановилась загрузка — с этим текстом проще искать решение или идти к разработчику правил.

Автоматическая загрузка XML по расписанию

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

  • 🔄 Синхронизация через каталог. В настройках синхронизации данных включите расписание. Программа сама проверит папку и загрузит новый файл. Другая база кладёт файлы туда же по своему расписанию.
  • 📨 ЭДО вместо почты. Если поставщики шлют УПД файлами, подключите обмен через оператора ЭДО. Документы будут приходить в базу сами, с подписями, без ручной загрузки.
  • 🧩 Своя обработка. Для нестандартного XML (выгрузка с сайта, маркетплейса, складской программы) разработчик пишет обработку загрузки или правила конвертации. Её можно запускать регламентным заданием, если базой управляет сервер 1С.

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

Безопасность при загрузке XML в рабочую базу

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

Перед первой загрузкой по новым правилам или из нового источника сделайте резервную копию базы. В файловом варианте это выгрузка через Конфигуратор → Администрирование → Выгрузить информационную базу в файл .dt или копия каталога базы. Монопольный доступ для самой загрузки XML не нужен, а вот для выгрузки .dt все пользователи должны выйти.

🛡️ Что ещё соблюдать:

  • Пробный прогон на копии. Крупный перенос сначала загрузите в копию базы и сверьте остатки по оборотно-сальдовой ведомости.
  • Внешние обработки — только из надёжного источника. Файл .epf выполняет код с правами пользователя. Платформа предупреждает об этом при открытии; отключать защиту от опасных действий для всех пользователей не стоит.
  • Проверка отправителя. УПД с незнакомыми реквизитами продавца или «исправленный» файл, присланный с другого адреса, — повод позвонить поставщику до проведения документа.
  • Права. Загрузку выполняет пользователь с нужными правами, а не общая учётная запись с полными правами для всех.

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

Можно ли поправить XML-файл вручную перед загрузкой?
Можно исправить кодировку или явную опечатку в текстовом редакторе. Менять структуру и теги не стоит: файл перестанет соответствовать схеме формата и не загрузится.
Выписка банка — это XML?
Обычно нет. Банки чаще выгружают выписку в текстовый формат обмена с 1С (1CClientBankExchange, файл .txt), и она загружается через обмен с банком в разделе банковских выписок, а не механизмами XML.
Как отменить неудачную загрузку?
Надёжнее всего восстановить базу из копии, сделанной перед загрузкой. Если копии нет, по протоколу обмена найдите созданные объекты, пометьте их на удаление и удалите помеченные.
Нужно ли выгонять пользователей из базы на время загрузки?
Нет, загрузка XML идёт в обычном режиме. Но при большом переносе лучше выбрать время, когда никто не проводит документы за тот же период.
Почему после загрузки в документах пустые проводки?
Данные записались в режиме обмена без проведения. Перепроведите документы за период через групповое перепроведение.