Как загрузить в 1С 8.3 документы из файла XML
Содержание
Чтобы загрузить документы в 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
Загрузка пишет данные напрямую, часто в обход проверок. Откат — только восстановлением.
- Сделайте резервную копию:
Администрирование — Резервное копирование и восстановление(в файловой базе достаточно скопировать1Cv8.1CDпри закрытой базе). - Проверьте права: нужны «Администратор» либо роль «Интерактивное открытие внешних отчётов и обработок».
- Выгоните пользователей, если загрузка массовая — иначе поймаете блокировки.
- Посмотрите кодировку в шапке файла:
<?xml version="1.0" encoding="UTF-8"?>илиwindows-1251. Фактическая кодировка должна совпадать с заявленной. - Прикиньте объём. Файл больше 100–150 МБ лучше разбить: одна транзакция на весь массив съест память сервера.
Порядок загрузки тоже имеет значение: сначала справочники, потом документы. Иначе документы создадут собственные позиции номенклатуры и контрагентов, и разгребать это придётся вручную.
Способ 1. Универсальный обмен данными в формате XML
Классика для переноса документов между базами 1С: «Бухгалтерия → Бухгалтерия», «УТ → БП», «самописная → типовая». Файл формируется по правилам обмена из «Конвертации данных 2.1».
Обработка — внешний файл УниверсальныйОбменДаннымиXML.epf. Открывается двумя путями:
- через
Файл — Открытьи выбор.epf(нужен режим с правом на внешние обработки); - через
Администрирование — Печатные формы, отчёты и обработки — Дополнительные отчёты и обработки— если обработку уже подключили в базу.
Загрузка данных.Ещё — Провести.Если в правилах обмена поиск контрагентов настроен по наименованию, а не по ИНН и КПП, вы получите дубли справочников. Перед массовой загрузкой прогоните 2–3 документа и посмотрите, что создалось.
Для переноса между копиями одной и той же конфигурации правила не нужны — подойдёт платформенная обработка «Выгрузка и загрузка данных XML» (ВыгрузкаЗагрузкаДанныхXML.epf). Она требует полного совпадения структуры метаданных: расхождение хотя бы в одном реквизите — и загрузка встанет.
Способ 2. Синхронизация данных: формат EnterpriseData
Современные типовые базы обмениваются сообщениями формата EnterpriseData. Это тоже XML, только грузится не обработкой, а механизмом синхронизации.
Путь: Администрирование — Синхронизация данных. Включите флаг «Синхронизация данных», задайте префикс базы, затем Настройки синхронизации данных — Создать и выберите программу-партнёра.
Чтобы загрузить готовый файл руками, выбирайте вариант подключения «Через каталог на компьютере или в локальной сети»:
- Укажите каталог обмена, например
D:\Exchange\BP-ZUP. - Положите в него файл сообщения — имя вида
Message_БП_ЗУП.xml. - Откройте настройку и нажмите
Синхронизировать. База прочитает сообщение из каталога. - Через
Ещё — Состав отправляемых данныхпосмотрите, какие объекты вообще участвуют в обмене.
Что важно по версиям формата: приёмник должен поддерживать версию EnterpriseData не ниже той, в которой сделано сообщение. Версия видна в атрибутах корневого тега. Если приёмник старее — обновите релиз или попросите источник выгрузить в более низкой версии формата, она выбирается в настройке синхронизации.
Сообщения EnterpriseData нумерованные. База не примет файл с номером, который уже обработан, — и промолчит. Если «ничего не загрузилось», проверьте номер сообщения и счётчики в настройке.
Способ 3. Как загрузить документы контрагента из XML через ЭДО
Поставщик прислал УПД или счёт-фактуру файлом — ситуация, когда XML нужно превратить в документ учёта. Универсальный обмен тут бесполезен: формат описан приказом ФНС, а не правилами 1С.
Путь в «Бухгалтерии 3.0»: Продажи — ЭДО — Текущие дела ЭДО или Покупки — ЭДО — Текущие дела ЭДО. Дальше Загрузить и выбор файла.
Что можно подсунуть:
- 📄 сам
.xmlдокумента — загрузится как электронный документ без подписи; - 🗜 zip-контейнер от оператора ЭДО — внутри XML плюс файлы подписи
.sgnили.p7s, это правильный вариант для юридически значимого документа; - 📁 каталог с несколькими контейнерами — грузятся пачкой.
После загрузки документ попадает в список входящих, и 1С предложит сопоставить номенклатуру: наименования поставщика нужно связать со своими позициями. Сопоставление сохраняется, второй раз его делать не придётся.
Когда сопоставление готово, по кнопке Создать документы формируется «Поступление (акты, накладные, УПД)», а по счёту-фактуре — соответствующий документ. Данные берутся из XML: номер, дата, количество, цена, суммы и ставка налога.
Какие проводки появятся после загрузки
Пример: загрузили УПД на товар стоимостью 100 000 ₽ и НДС 20 000 ₽ по данным файла.
| Дт | Кт | Сумма | Содержание |
|---|---|---|---|
| 41.01 | 60.01 | 100 000 | Товар принят на склад |
| 19.03 | 60.01 | 20 000 | НДС, предъявленный поставщиком |
| 68.02 | 19.03 | 20 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
<?xml затесались пробелы или BOM. Откройте файл в редакторе с выбором кодировки, уберите всё до первого < и пересохраните в кодировке из шапки.Администрирование — Обслуживание — Поиск и удаление дублей и загрузите справочники до документов.Администрирование — Настройки пользователей и прав.Чем проверить, что документы загрузились
Протокол обработки показывает только технический результат. Учёт проверяют отчётами.
- 🧮
Отчёты — Стандартные отчёты — Оборотно-сальдовая ведомость— сравните итоги по счетам 41, 60, 62 с источником. - 🔍
Отчёты — Анализ учёта — Экспресс-проверка ведения учёта— ловит непроведённые документы и нарушения последовательности. - 📘 Журнал регистрации:
Администрирование — Обслуживание — Журнал регистрации. Фильтр по событию «Данные. Изменение» и по времени загрузки покажет, что именно записалось. - 📑 Универсальный отчёт по нужному документу — проверка количества загруженных строк.
- 🧾 Для ЭДО — список «Текущие дела ЭДО»: там видно, по каким файлам документы ещё не созданы.
Перепроводить загруженные документы лучше через Все функции — Стандартные — Групповое перепроведение документов или обработку «Проведение документов», а не по одному.
Если загрузить XML не удалось: альтернативы
Файл не читается, правил обмена нет, а данные нужны сегодня:
- Конвертация в табличный вид. Откройте XML в Excel как таблицу XML и загрузите уже оттуда помощником «Загрузка данных из внешнего файла» (в УТ 11, ERP) или обработкой «Загрузка данных из табличного документа».
- Через промежуточную базу. Поднимите копию конфигурации-источника, загрузите XML в неё, а дальше настройте обычную синхронизацию с рабочей базой.
- Запросить другой формат. У большинства систем есть выгрузка в CommerceML или в формат 1С — это дешевле, чем писать разбор чужого XML.
- Ручной ввод. Для 5–10 документов это честно быстрее любой автоматизации.
Повторяющийся обмен имеет смысл автоматизировать: регламентное задание синхронизации по расписанию через Администрирование — Синхронизация данных — Расписание и общий сетевой каталог вместо ручного переноса файлов.
Частые вопросы
Можно ли загрузить XML в 1С 8.3 без обработки и внешних файлов?
Администрирование — Синхронизация данных и Текущие дела ЭДО. Для выгрузок по правилам обмена нужна внешняя обработка.Где взять обработку «Универсальный обмен данными в формате XML»?
УниверсальныйОбменДаннымиXML.epf входит в поставку «Конвертации данных 2.1». Берите версию, совпадающую с версией правил обмена, иначе протокол будет полон ошибок.Почему загруженные документы не проведены?
Как загрузить XML-документы от поставщика без подключённого ЭДО?
Что делать, если после загрузки появились дубли контрагентов?
Администрирование — Обслуживание — Поиск и удаление дублей. Ссылки в документах переставятся автоматически.Можно ли загрузить XML частями?
Источники
- Налоговый кодекс РФ, ст. 169 — счёт-фактура в электронной форме
- Приказ ФНС России от 19.12.2018 № ММВ-7-15/820@ — формат электронного УПД