XML-файл пришёл — что с ним делать: четыре пути загрузки в БП 3.0 и разбор ошибок
Содержание
Чтобы загрузить 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
Это самый частый случай: поставщик прислал файл по почте, а не через оператора ЭДО.
- Откройте
Покупки → Поступление (акты, накладные, УПД). - В командной панели списка найдите группу команд ЭДО и выберите загрузку документа из файла (в разных релизах команда стоит в меню
ЭДОили под кнопкойЗагрузить). - Укажите XML-файл. Программа прочитает реквизиты: продавца, покупателя, номер, дату, товарные строки.
- Если контрагента в базе нет, программа предложит создать его по ИНН и КПП из файла.
- Сопоставьте номенклатуру поставщика со своей. Сопоставление запоминается, и следующие файлы от этого поставщика заполнятся сами.
- Создайте документ поступления, проверьте счёт учёта, ставку НДС и склад, затем проведите.
Файл, полученный по почте, юридически остаётся просто файлом. Электронной первичкой с подписью он становится только при обмене через оператора ЭДО. Бумажный оригинал или подписанный экземпляр всё равно нужен.
Загрузка регламентированного отчёта из XML
Если декларацию подготовили в другой программе, её можно перенести в 1С и отправить через 1С-Отчётность.
- Откройте
Отчеты → Регламентированные отчеты. - Нажмите
Загрузитьи выберите файл с именем видаNO_…xml. - Программа создаст отчёт нужной формы за указанный в файле период. Проверьте показатели и организацию.
Загрузка пройдёт, только если форма отчёта в файле соответствует формату, который поддерживает ваш релиз БП.
Параметры загрузки в «Универсальном обмене данными в формате XML»
Этот путь нужен, когда данные выгружены по правилам конвертации: при переносе между разными конфигурациями или из старых версий программ. Файл правил готовит разработчик в конфигурации «Конвертация данных », в самом XML данных правила обычно уже вложены.
Обработка встроена в БП 3.0. Чтобы её открыть, включите Сервис и настройки → Параметры → Отображать команду "Все функции", затем пройдите Все функции → Обработки → Универсальный обмен данными в формате XML. Внешняя версия обработки открывается через Файл → Открыть.
На вкладке загрузки укажите файл данных и настройте флажки:
| Параметр | Что делает | Когда включать |
|---|---|---|
| Использовать транзакции | пишет данные порциями, при сбое порция откатывается | почти всегда, особенно на больших файлах |
| Количество элементов в транзакции | размер порции | 500–1000 для крупных выгрузок |
| Загружать данные в режиме обмена | отключает часть проверок и обработчиков при записи | при переносе остатков и истории |
| Режим отладки | выводит подробности по каждому объекту | когда загрузка падает и непонятно, на чём |
| Файл протокола обмена | пишет журнал в отдельный файл | на любой загрузке больше сотни объектов |
После загрузки в режиме обмена документы могут оказаться записанными, но без движений. Тогда их перепроводят: Операции → Групповое перепроведение документов, указав период и организацию.
Если обе базы на одной и той же конфигурации и одном релизе, удобнее обработка «Выгрузка и загрузка данных XML» с диска ИТС. Правила ей не нужны: объекты переносятся с теми же внутренними идентификаторами, и при повторной загрузке не плодятся дубли.
Загрузка XML-файла в формате EnterpriseData (универсальный формат)
Универсальный формат EnterpriseData (УФ) — стандартный способ обмена между типовыми программами 1С: Бухгалтерией, Управлением торговлей, УНФ, Зарплатой и управлением персоналом. Если прямого подключения между базами нет, обмен идёт через файлы в каталоге.
- В БП откройте
Администрирование → Синхронизация данныхи включите флажокСинхронизация данных. - Перейдите в
Настройки синхронизации данныхи создайте новую синхронизацию с нужной программой. - Способ подключения выберите через каталог: локальную или сетевую папку, куда другая программа кладёт файл.
- Задайте правила отправки и получения: с какой даты, по каким организациям, нужны ли документы.
- Запустите синхронизацию. Программа возьмёт из каталога файл вида
Message_<код отправителя>_<код получателя>.xml(или zip-архив с ним) и загрузит данные. - При первой загрузке откроется сопоставление: программа покажет найденные пары контрагентов, номенклатуры и договоров и попросит подтвердить их.
Главное условие — обе программы должны поддерживать одну версию формата. Версия указана в самом файле, в пространстве имён EnterpriseData. Если ваша БП её не знает, обновите тот релиз, который отстаёт.
Подложить в каталог «чужой» файл, сделанный для другой пары баз, нельзя: в имени и внутри файла зашиты коды узлов обмена. Такой файл не загрузится или загрузится с ошибками сопоставления.
Ошибки при загрузке XML и их решение
Большинство сбоев сводится к трём причинам: не тот способ, повреждённый файл или запрет на запись в базе.
<?xml стоит лишний символ или кодировка в заголовке не совпадает с фактической. Скачайте файл заново, откройте в Notepad++ и сверьте кодировку с атрибутом encoding.Администрирование → Пользователи и права → Даты запрета изменения.Администрирование → Обслуживание → Корректировка данных → Поиск и удаление дублей.Если ни одна строка не подошла, включите в универсальной обработке режим отладки и протокол. В протоколе видно, на каком объекте и с каким сообщением остановилась загрузка — с этим текстом проще искать решение или идти к разработчику правил.
Автоматическая загрузка XML по расписанию
Ручная загрузка оправдана для разовых переносов. Если файлы приходят каждый день, процесс лучше автоматизировать.
- 🔄 Синхронизация через каталог. В настройках синхронизации данных включите расписание. Программа сама проверит папку и загрузит новый файл. Другая база кладёт файлы туда же по своему расписанию.
- 📨 ЭДО вместо почты. Если поставщики шлют УПД файлами, подключите обмен через оператора ЭДО. Документы будут приходить в базу сами, с подписями, без ручной загрузки.
- 🧩 Своя обработка. Для нестандартного XML (выгрузка с сайта, маркетплейса, складской программы) разработчик пишет обработку загрузки или правила конвертации. Её можно запускать регламентным заданием, если базой управляет сервер 1С.
При автоматическом обмене назначьте ответственного, который раз в день смотрит результат синхронизации. Ошибка, замеченная через неделю, означает неделю ручных исправлений.
Безопасность при загрузке XML в рабочую базу
Сам XML-файл не исполняет код: это данные. Риск в другом — в том, что именно и куда он запишет, и в обработках, которыми его открывают.
Перед первой загрузкой по новым правилам или из нового источника сделайте резервную копию базы. В файловом варианте это выгрузка через Конфигуратор → Администрирование → Выгрузить информационную базу в файл .dt или копия каталога базы. Монопольный доступ для самой загрузки XML не нужен, а вот для выгрузки .dt все пользователи должны выйти.
🛡️ Что ещё соблюдать:
- Пробный прогон на копии. Крупный перенос сначала загрузите в копию базы и сверьте остатки по оборотно-сальдовой ведомости.
- Внешние обработки — только из надёжного источника. Файл
.epfвыполняет код с правами пользователя. Платформа предупреждает об этом при открытии; отключать защиту от опасных действий для всех пользователей не стоит. - Проверка отправителя. УПД с незнакомыми реквизитами продавца или «исправленный» файл, присланный с другого адреса, — повод позвонить поставщику до проведения документа.
- Права. Загрузку выполняет пользователь с нужными правами, а не общая учётная запись с полными правами для всех.
Частые вопросы
Можно ли поправить XML-файл вручную перед загрузкой?
Выписка банка — это XML?
1CClientBankExchange, файл .txt), и она загружается через обмен с банком в разделе банковских выписок, а не механизмами XML.