Как загрузить в 1С 8.3 документы из файла XML

· 11 мин

Содержание

Чтобы загрузить документы в 1С 8.3 в формате XML, нужно сначала понять, кто этот файл сделал. Файл из другой базы 1С грузится обработкой «Универсальный обмен данными в формате XML» или через Администрирование — Синхронизация данных, файл от поставщика (УПД, счёт-фактура, акт) — через модуль ЭДО, файл от интернет-магазина — через обмен CommerceML.

Одна универсальная кнопка «загрузить любой XML» в 1С не предусмотрена. Поэтому половина неудачных загрузок — это попытка затолкнуть счёт-фактуру ФНС в обработку обмена между базами. Разберём каждый сценарий: куда нажимать, что получится в учёте и почему вылезает «Ошибка разбора XML».

Расширение .xml ничего не говорит о содержимом. Откройте файл «Блокнотом» и посмотрите первые две строки — по корневому тегу сразу видно формат.

Какие XML-файлы вообще грузятся в 1С 8.3

Определите тип файла до того, как искать кнопку. Корневой тег виден в первых строках.

Что за файлКорневой тег / признакЧем загружать
📦 Выгрузка из другой базы 1С (правила обмена)<ФайлОбмена ВерсияФормата=...>Обработка «Универсальный обмен данными в формате XML»
🔄 Сообщение синхронизации<Message ...>, <EnterpriseData ...>Администрирование — Синхронизация данных
🧾 УПД, счёт-фактура, акт от контрагента<Файл ИдФайл="ON_NSCHFDOPPR..."Модуль ЭДО (Текущие дела ЭДО)
🛒 Каталог товаров, заказы с сайта<КоммерческаяИнформация ВерсияСхемы="2.0..."Обмен с сайтом (CommerceML)
🗂 Платформенная сериализация объектов<v8:Data, пространства имён v8Обработка «Выгрузка и загрузка данных XML»
🍷 ЕГАИС, ГИС МТсвои схемы операторовВстроенные сервисы разделов, не универсальный обмен
🏠 ФИАС, классификаторы<AddressObjects> и аналогиЗагрузка адресного классификатора в разделе администрирования

Если формат определить не удалось — не грузите файл в рабочую базу «на пробу». Сначала копия.

Что сделать до загрузки документов из XML

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

  1. Сделайте резервную копию: Администрирование — Резервное копирование и восстановление (в файловой базе достаточно скопировать 1Cv8.1CD при закрытой базе).
  2. Проверьте права: нужны «Администратор» либо роль «Интерактивное открытие внешних отчётов и обработок».
  3. Выгоните пользователей, если загрузка массовая — иначе поймаете блокировки.
  4. Посмотрите кодировку в шапке файла: <?xml version="1.0" encoding="UTF-8"?> или windows-1251. Фактическая кодировка должна совпадать с заявленной.
  5. Прикиньте объём. Файл больше 100–150 МБ лучше разбить: одна транзакция на весь массив съест память сервера.

Порядок загрузки тоже имеет значение: сначала справочники, потом документы. Иначе документы создадут собственные позиции номенклатуры и контрагентов, и разгребать это придётся вручную.

Способ 1. Универсальный обмен данными в формате XML

Классика для переноса документов между базами 1С: «Бухгалтерия → Бухгалтерия», «УТ → БП», «самописная → типовая». Файл формируется по правилам обмена из «Конвертации данных 2.1».

Обработка — внешний файл УниверсальныйОбменДаннымиXML.epf. Открывается двумя путями:

  • через Файл — Открыть и выбор .epf (нужен режим с правом на внешние обработки);
  • через Администрирование — Печатные формы, отчёты и обработки — Дополнительные отчёты и обработки — если обработку уже подключили в базу.
Пошаговый помощник
Шаг 1. Открыть обработку и перейти на «Загрузку»
В форме обработки есть вкладки «Выгрузка данных», «Загрузка данных» и «Дополнительные настройки». Переключитесь на Загрузка данных.

Если в правилах обмена поиск контрагентов настроен по наименованию, а не по ИНН и КПП, вы получите дубли справочников. Перед массовой загрузкой прогоните 2–3 документа и посмотрите, что создалось.

Для переноса между копиями одной и той же конфигурации правила не нужны — подойдёт платформенная обработка «Выгрузка и загрузка данных XML» (ВыгрузкаЗагрузкаДанныхXML.epf). Она требует полного совпадения структуры метаданных: расхождение хотя бы в одном реквизите — и загрузка встанет.

Способ 2. Синхронизация данных: формат EnterpriseData

Современные типовые базы обмениваются сообщениями формата EnterpriseData. Это тоже XML, только грузится не обработкой, а механизмом синхронизации.

Путь: Администрирование — Синхронизация данных. Включите флаг «Синхронизация данных», задайте префикс базы, затем Настройки синхронизации данных — Создать и выберите программу-партнёра.

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

  1. Укажите каталог обмена, например D:\Exchange\BP-ZUP.
  2. Положите в него файл сообщения — имя вида Message_БП_ЗУП.xml.
  3. Откройте настройку и нажмите Синхронизировать. База прочитает сообщение из каталога.
  4. Через Ещё — Состав отправляемых данных посмотрите, какие объекты вообще участвуют в обмене.

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

Сообщения EnterpriseData нумерованные. База не примет файл с номером, который уже обработан, — и промолчит. Если «ничего не загрузилось», проверьте номер сообщения и счётчики в настройке.

Способ 3. Как загрузить документы контрагента из XML через ЭДО

Поставщик прислал УПД или счёт-фактуру файлом — ситуация, когда XML нужно превратить в документ учёта. Универсальный обмен тут бесполезен: формат описан приказом ФНС, а не правилами 1С.

Путь в «Бухгалтерии 3.0»: Продажи — ЭДО — Текущие дела ЭДО или Покупки — ЭДО — Текущие дела ЭДО. Дальше Загрузить и выбор файла.

Что можно подсунуть:

  • 📄 сам .xml документа — загрузится как электронный документ без подписи;
  • 🗜 zip-контейнер от оператора ЭДО — внутри XML плюс файлы подписи .sgn или .p7s, это правильный вариант для юридически значимого документа;
  • 📁 каталог с несколькими контейнерами — грузятся пачкой.

После загрузки документ попадает в список входящих, и 1С предложит сопоставить номенклатуру: наименования поставщика нужно связать со своими позициями. Сопоставление сохраняется, второй раз его делать не придётся.

Когда сопоставление готово, по кнопке Создать документы формируется «Поступление (акты, накладные, УПД)», а по счёту-фактуре — соответствующий документ. Данные берутся из XML: номер, дата, количество, цена, суммы и ставка налога.

Какие проводки появятся после загрузки

Пример: загрузили УПД на товар стоимостью 100 000 ₽ и НДС 20 000 ₽ по данным файла.

ДтКтСуммаСодержание
41.0160.01100 000Товар принят на склад
19.0360.0120 000НДС, предъявленный поставщиком
68.0219.0320 000Вычет после регистрации счёта-фактуры

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

Способ 4. Загрузка XML с сайта и от поставщика: CommerceML

Каталоги товаров, цены, заказы покупателей идут в формате CommerceML — файлы import.xml, offers.xml, orders.xml.

  • «Управление торговлей 11»: НСИ и администрирование — Настройки интеграции — Обмен с сайтом. Создаёте узел обмена, указываете каталог или адрес сайта, выполняете обмен.
  • «Бухгалтерия 3.0»: механизм есть в разделе интеграции, но возможности скромнее — обычно хватает для номенклатуры и цен.
  • Прайс-листы поставщиков в УТ 11 и ERP грузятся отдельным помощником: Закупки — Прайс-листы поставщиков. Он понимает XML наряду с Excel и позволяет вручную указать, какая колонка файла куда идёт.
Сопоставление полей
Наименование товара в файле→Справочник «Номенклатура»
Артикул / код поставщика→Номенклатура контрагентов
Цена без налога→Вид цены в документе
Ставка налога→Справочник ставок НДС
Единица измерения→Классификатор единиц измерения
ИНН и КПП из файла→Справочник «Контрагенты»

Способ 5. Своя обработка: читаем XML кодом

Если файл нестандартный — выгрузка из CRM, банковского сервиса, склада — пишется внешняя обработка. Два подхода.

Последовательное чтение — быстро и без схемы, годится почти всегда:

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("D:\Exchange\upd.xml");

Пока ЧтениеXML.Прочитать() Цикл
    Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента
        И ЧтениеXML.Имя = "СвТов" Тогда

        Наименование = ЧтениеXML.ПолучитьАтрибут("НаимТов");
        Количество   = Число(ЧтениеXML.ПолучитьАтрибут("КолТов"));
        Цена         = Число(ЧтениеXML.ПолучитьАтрибут("ЦенаТов"));

        Сообщить(Наименование + " | " + Количество + " x " + Цена);
    КонецЕсли;
КонецЦикла;

ЧтениеXML.Закрыть();

Чтение через сериализатор — когда XML сделан самой 1С:

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("D:\Exchange\data.xml");
ЧтениеXML.Прочитать();

Пока СериализаторXDTO.ВозможностьЧтенияXML(ЧтениеXML) Цикл
    Объект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
    Объект.ОбменДанными.Загрузка = Истина;
    Объект.Записать();
КонецЦикла;

ЧтениеXML.Закрыть();

ОбменДанными.Загрузка = Истина отключает проверку заполнения и часть логики в модуле объекта. Данные запишутся как есть, даже кривые. Для документов после такой записи нужно отдельное проведение.

Трудоёмкость своей обработки — ориентировочно от 4–6 часов на простой формат с одной табличной частью и от 20 часов на формат с вложенными структурами и сопоставлением справочников.

Особенности по конфигурациям

Бухгалтерия 3.0. Чаще всего грузят документы контрагентов через ЭДО и переносят данные из старых баз универсальным обменом. Синхронизация с ЗУП и УТ — через EnterpriseData.

ЗУП 3.1. XML здесь — это в основном сообщения синхронизации с бухгалтерией (отражение зарплаты в учёте) и файлы от контролирующих органов, которые принимают встроенные сервисы разделов, а не универсальная обработка. Кадровые документы универсальным обменом грузят только при переносе из другой базы ЗУП.

УТ 11. Три живых канала: обмен с сайтом по CommerceML, синхронизация с бухгалтерией, прайс-листы поставщиков. Плюс обмен «УТ ↔ розница».

ERP и КА. Всё то же, но добавляется обмен с оборудованием и внешними системами через интеграционные сервисы. Отдельный помощник Загрузка данных из внешнего файла в этих конфигурациях работает с табличными форматами (xlsx, csv) — XML он не читает, не путайте.

Типичные ошибки при загрузке XML в 1С 8.3

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

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

Протокол обработки показывает только технический результат. Учёт проверяют отчётами.

  • 🧮 Отчёты — Стандартные отчёты — Оборотно-сальдовая ведомость — сравните итоги по счетам 41, 60, 62 с источником.
  • 🔍 Отчёты — Анализ учёта — Экспресс-проверка ведения учёта — ловит непроведённые документы и нарушения последовательности.
  • 📘 Журнал регистрации: Администрирование — Обслуживание — Журнал регистрации. Фильтр по событию «Данные. Изменение» и по времени загрузки покажет, что именно записалось.
  • 📑 Универсальный отчёт по нужному документу — проверка количества загруженных строк.
  • 🧾 Для ЭДО — список «Текущие дела ЭДО»: там видно, по каким файлам документы ещё не созданы.

Перепроводить загруженные документы лучше через Все функции — Стандартные — Групповое перепроведение документов или обработку «Проведение документов», а не по одному.

Если загрузить XML не удалось: альтернативы

Файл не читается, правил обмена нет, а данные нужны сегодня:

  1. Конвертация в табличный вид. Откройте XML в Excel как таблицу XML и загрузите уже оттуда помощником «Загрузка данных из внешнего файла» (в УТ 11, ERP) или обработкой «Загрузка данных из табличного документа».
  2. Через промежуточную базу. Поднимите копию конфигурации-источника, загрузите XML в неё, а дальше настройте обычную синхронизацию с рабочей базой.
  3. Запросить другой формат. У большинства систем есть выгрузка в CommerceML или в формат 1С — это дешевле, чем писать разбор чужого XML.
  4. Ручной ввод. Для 5–10 документов это честно быстрее любой автоматизации.

Повторяющийся обмен имеет смысл автоматизировать: регламентное задание синхронизации по расписанию через Администрирование — Синхронизация данных — Расписание и общий сетевой каталог вместо ручного переноса файлов.

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

Можно ли загрузить XML в 1С 8.3 без обработки и внешних файлов?
Да, если это сообщение синхронизации или документ ЭДО — они грузятся штатными механизмами из Администрирование — Синхронизация данных и Текущие дела ЭДО. Для выгрузок по правилам обмена нужна внешняя обработка.
Где взять обработку «Универсальный обмен данными в формате XML»?
Файл УниверсальныйОбменДаннымиXML.epf входит в поставку «Конвертации данных 2.1». Берите версию, совпадающую с версией правил обмена, иначе протокол будет полон ошибок.
Почему загруженные документы не проведены?
Запись шла в режиме обмена данными: платформа пишет данные напрямую, минуя проведение. Отберите документы по дате загрузки и перепроведите группой.
Как загрузить XML-документы от поставщика без подключённого ЭДО?
Модуль ЭДО позволяет загрузить файл и создать документ учёта даже без подключения к оператору. Юридически значимым такой документ будет только при наличии файла подписи в контейнере.
Что делать, если после загрузки появились дубли контрагентов?
Исправьте правила поиска на ИНН и КПП, затем объедините дубли через Администрирование — Обслуживание — Поиск и удаление дублей. Ссылки в документах переставятся автоматически.
Можно ли загрузить XML частями?
Да. Разбейте файл по типам объектов: сначала справочники, потом документы. В универсальном обмене на вкладке настроек можно ограничить состав загружаемых данных.

Источники

  • Налоговый кодекс РФ, ст. 169 — счёт-фактура в электронной форме
  • Приказ ФНС России от 19.12.2018 № ММВ-7-15/820@ — формат электронного УПД