Как загрузить файл XML в 1С 8.3: способы, шаги и разбор ошибок
Содержание
Чтобы загрузить XML
-файл в 1С 8.3, нужно сначала понять, что это за XML: для переноса данных между базами открывают внешнюю обработку
через Файл → Открыть, для электронных документов — журнал Текущие дела ЭДО, для обмена по правилам — Администрирование → Синхронизация данных. Единой кнопки «Загрузить XML» в 1С нет, и это главная причина, по которой вопрос кажется сложнее, чем он есть.
Типичное заблуждение: раз файл один и тот же формат — значит и механизм один. На деле XML в 1С — это просто контейнер. Внутри может лежать выгрузка справочников, счёт-фактура от поставщика, прайс-лист интернет-магазина, декларация или ответ СФР. Для каждого случая — свой механизм загрузки, и попытка загрузить хмл-файл «не тем» способом как раз и даёт ошибки вида «Неверная структура файла обмена».
Ниже — пошаговая инструкция для всех рабочих вариантов: Бухгалтерия 3.0, ЗУП 3.1, УТ 11 и ERP. С точными путями меню, проводками, проверочными отчётами и разбором ошибок, на которых чаще всего застревают.
Определите, какой у вас XML, — от этого зависит способ загрузки
Откройте файл любым текстовым редактором (Блокнот, Notepad++) и посмотрите первые 3–5 строк. Корневой тег почти всегда выдаёт формат.
| Что видно в начале файла | Что это | Куда загружать |
|---|---|---|
<V8Exchange> или <_1CV8DtUD:Data> | Выгрузка объектов между базами 1С | Обработка «Выгрузка и загрузка данных XML» |
<ФайлОбмена> / <ПравилаОбмена> | Правила или данные конвертации (КД 2.0) | Универсальный обмен данными в формате XML |
<Message> + <Body> с EnterpriseData | Синхронизация по формату EnterpriseData (КД 3.0) | Администрирование → Синхронизация данных |
<Файл ИдФайл="ON_NSCHFDOPPR..."> | Счёт-фактура, УПД, акт от контрагента | Текущие дела ЭДО |
<КоммерческаяИнформация> | CommerceML: каталог, цены, заказы | Обмен с сайтом (УТ 11, ERP) |
<Файл ... <Документ КНД=...> | Регламентированная отчётность, ответ ФНС/СФР | Журнал 1С-Отчётность |
<AddressObjects>, <Houses> | Выгрузка ФИАС | Загрузка адресного классификатора |
Если файл пришёл в архиве — распакуйте его целиком, а не вытаскивайте один XML. В пакетах ЭДО рядом с документом лежат подписи и карточка, без них загрузка не пройдёт.
Текущие дела ЭДО, документ создастся автоматически с реквизитами и строками. Способ 3.Способ 1. Как загрузить XML-файл обработкой «Выгрузка и загрузка данных XML»
Это основной инструмент, когда данные переносят между двумя базами 1С с одинаковой конфигурацией: подняли копию, выгрузили справочник контрагентов или документы за период, загрузили в рабочую базу.
Обработка внешняя, в поставку конфигурации не входит — её берут из состава технологической поддержки платформы. Файл называется ВыгрузкаЗагрузкаДанныхXML82.epf (в старых сборках — V8Exchan82.epf).
Подготовка: что сделать до загрузки
- Сделайте архивную копию базы -приёмника — обработка пишет данные напрямую, откатить изменения штатно нельзя.
- Выгоните пользователей из базы. Загрузка объектов при активной работе даёт блокировки и битые ссылки.
- Сравните релизы конфигураций источника и приёмника. Расхождение в один подрелиз обычно не мешает, разные редакции (3.0 и 2.0) — мешают почти всегда.
- Проверьте права: нужна роль администратора и включённое право на интерактивное открытие внешних обработок.
Пошагово: загрузка в толстом клиенте
- Запустите базу в режиме Толстый клиент (обычное приложение). В тонком клиенте обработка откроется не всегда, а в веб-клиенте — не откроется.
- Меню
Файл→Открыть…, выберите файлВыгрузкаЗагрузкаДанныхXML82.epf. - На предупреждение о небезопасном содержимом ответьте
Да, если файл получен из доверенного источника. - Перейдите на вкладку «Загрузка».
- В поле
Имя файла для загрузки данныхукажите путь к вашему XML, напримерD:\Exchange\kontragenty.xml. - Снимите или оставьте флажки:
Не записывать объекты в режиме обмена данными,Продолжать загрузку при возникновении ошибок. - Нажмите
Загрузить данныеи дождитесь сообщения в служебных сообщениях.
Флажок «Продолжать загрузку при возникновении ошибок» удобен для диагностики, но в рабочей базе опасен: часть объектов загрузится, часть — нет, и вы получите документы без ссылок на номенклатуру.
Чем отличается загрузка в режиме обмена
Если флажок Не записывать объекты в режиме обмена данными снят, объекты пишутся без проведения документов и без выполнения части проверок — быстро, но без движений по регистрам. Потом документы придётся перепровести: Операции → Групповое перепроведение документов (в Бухгалтерии 3.0 — Администрирование → Обслуживание → Проведение документов).
Если флажок установлен — срабатывает обычная запись с проведением. Медленнее, зато проводки формируются сразу.
Способ 2. Универсальный обмен данными в формате XML (правила КД 2.0)
Этот способ применяют, когда конфигурации разные: например, выгрузка из самописной базы в Бухгалтерию 3.0 или перенос из 1С 7.7. Загрузка идёт по правилам обмена — тоже XML-файлу, который описывает соответствие объектов.
Порядок действий:
- Получите два файла: правила обмена (обычно
ПравилаОбмена.xmlили*_rules.xml) и файл с данными. - Откройте обработку: в типовых конфигурациях —
Администрирование→Обмен данными→Универсальный обмен данными в формате XML. Если пункта нет, используйте внешнюю обработкуV8Exchan.epfчерезФайл→Открыть. - Вкладка «Загрузка данных» → поле
Имя файла, укажите XML с данными. - Если правила встроены в файл данных, загрузятся автоматически. Если нет — на вкладке
Дополнительные настройкиукажите файл правил. - Нажмите
Загрузить.
Полезные настройки на вкладке «Дополнительные настройки»:
- 📌
Загружать данные в режиме обмена— не проводить документы, писать быстро. - 📌
Использовать транзакциии количество элементов в транзакции — при больших файлах ставьте 100–500, иначе транзакция распухает и база растёт. - 📌
Записывать регистры наборами записей— ускоряет загрузку движений. - 📌
Отладка алгоритмов обработчиков— включайте только когда ищете причину ошибки.
Если сопоставление не настроено, 1С создаст новые элементы справочников вместо поиска существующих. Отсюда классика: 200 дублей контрагентов после «удачной» загрузки.
Способ 3. Как загрузить файл XML электронного документа (ЭДО)
Счёт-фактура, УПД, товарная накладная, акт от контрагента приходят именно в XML. Если оператор ЭДО подключён, документы загружаются сами. Но файл часто передают «мимо» оператора — на флешке или почтой.
Пошаговая инструкция:
- Перейдите в журнал ЭДО: в Бухгалтерии 3.0 —
Продажи→Текущие дела ЭДО(илиПокупки→Текущие дела ЭДО, журнал один и тот же). В УТ 11 —НСИ и администрирование→Обмен электронными документами→Текущие дела ЭДО. - Нажмите
Ещё→Загрузить электронный документ из файла. В части релизов команда называетсяЗагрузитьи вынесена на панель журнала. - Выберите распакованный пакет: XML документа плюс файлы подписи, если они есть.
- Документ попадёт на вкладку
Входящиесо статусом «Требуется отразить в учёте». - Откройте его и нажмите
Отразить в учёте— 1С создаст документПоступление (акт, накладная, УПД)и подставит строки. - Сверьте сопоставление номенклатуры. При первой загрузке от нового поставщика 1С попросит сопоставить его наименования с вашими — это делается один раз.
Какие проводки сформируются
Пример: загрузили УПД от поставщика на партию товара 120 000 ₽, в том числе НДС 20 % — 20 000 ₽.
| Операция | Дебет | Кредит | Сумма, ₽ |
|---|---|---|---|
| Поступил товар на склад | 41.01 | 60.01 | 100 000 |
| Предъявлен НДС поставщиком | 19.03 | 60.01 | 20 000 |
| НДС принят к вычету (после регистрации счёта-фактуры) | 68.02 | 19.03 | 20 000 |
Если вместо товара в файле услуги, вместо 41.01 встанет затратный счёт из договора или настроек — 26, 44.01, 20.01.
После загрузки документа из XML обязательно проверьте счёт учёта и ставку НДС в строках. Поставщик передаёт свои данные, а счета подставляются по вашим настройкам номенклатуры — расхождения бывают регулярно.
Способ 4. Загрузка каталога и цен в формате CommerceML (УТ 11, ERP)
Прайс-листы, каталоги и заказы с сайта передаются файлами import.xml (номенклатура), offers.xml (цены и остатки), orders.xml (заказы). Это стандарт CommerceML, и грузится он только через механизм обмена с сайтом.
- Откройте
НСИ и администрирование→Интеграция с другими программами→Обмен с сайтом. - Включите флажок
Обмен с сайтоми создайте настройку обмена. - Выберите способ обмена через каталог на диске, укажите папку, куда положили файлы.
- Отметьте, что загружаем: товары, цены, заказы.
- Нажмите
Выполнить обменили дождитесь регламентного задания.
Что стоит проверить после загрузки:
- 🔎
НСИ и администрирование→Номенклатура— не появились ли дубли с теми же наименованиями. - 🔎 Отчёт
Цены номенклатуры— применился ли нужный вид цены. - 🔎 Журнал регистрации — записи обмена с текстом ошибок по строкам, которые не загрузились.
Способ 5. Отчётность, классификаторы и файлы от госорганов
Файлы ФНС, СФР и Росстата — тоже XML, но к обработкам обмена отношения не имеют.
Регламентированный отчёт. Отчёты → Регламентированные отчёты (или 1С-Отчётность) → кнопка Загрузить → Из файла. Так подтягивают декларацию, подготовленную в другой программе, чтобы отправить её из 1С.
Ответ или уведомление из ФНС/СФР. Загружается в том же журнале командой загрузки входящих документов. В ЗУП 3.1 путь: Отчётность, справки → 1С-Отчётность → вкладка входящих документов.
Адресный классификатор
ФИАС. Администрирование → Интернет-поддержка и сервисы → Загрузка адресного классификатора → Загрузить адреса из каталога на диске. Выгрузки ФИАС распространяются в XML; выбирайте папку, а не отдельный файл.
Прочие классификаторы (ОКОФ, банки, курсы валют) штатно грузятся из сервиса, а не из файла. Если интернета нет — ищите в той же группе команд вариант «из файла на диске».
Типичные ошибки при загрузке XML в 1С 8.3
Почти все проблемы сводятся к пяти причинам: не тот механизм, не та кодировка, не тот релиз, не хватает прав, файл битый.
V8Exchange не загрузится универсальным обменом, и наоборот.encoding="UTF-8", а файл сохранён в windows-1251. Откройте в Notepad++, выберите Кодировки → Преобразовать в UTF-8 (без BOM), сохраните и повторите.\\server\exchange\data.xml.Администрирование → Обслуживание → Поиск и удаление дублей, затем правила правят.Чем проверить результат загрузки
Загрузка «прошла без ошибок» и загрузка «прошла правильно» — разные вещи. Минимальный набор проверок:
- Журнал регистрации —
Администрирование→Обслуживание→Журнал регистрации. Отфильтруйте по времени загрузки, смотрите записи с уровнем «Ошибка» и «Предупреждение». - Оборотно-сальдовая ведомость —
Отчёты→Оборотно-сальдовая ведомостьза период загрузки. Сверьте итоги с источником. - Экспресс-проверка учёта —
Отчёты→Экспресс-проверка. Ловит документы без проводок , незакрытые счета, расхождения по НДС. - Отчёт по движениям документа — открыть загруженный документ →
Ещё→Движения документа. Покажет, что реально попало в регистры. - Поиск дублей —
Администрирование→Обслуживание→Поиск и удаление дублейпо номенклатуре и контрагентам.
Запишите количество объектов до загрузки (например, число элементов справочника «Контрагенты») и сравните после. Разница должна совпадать с количеством новых записей в файле.
Когда XML загружать не нужно
Иногда задачу решают проще, и загрузка XML оказывается лишней работой:
- 🚫 Перенос базы целиком. Используйте выгрузку в
.dt:Администрирование→Выгрузить информационную базу. XML здесь не нужен. - 🚫 Загрузка таблицы из Excel. Для прайс-листов и остатков в XLSX есть штатная «Загрузка данных из внешнего файла»:
Справочники→Номенклатура→Загрузить. - 🚫 Банковская выписка. Большинство банков отдают формат
1CClientBankExchange(текстовый) или работают через ДиректБанк — XML требуется редко. - 🚫 Регулярный обмен между своими базами. Настройте полноценную синхронизацию через EnterpriseData один раз, вместо ручной выгрузки-загрузки файлов каждую неделю.
Загрузка XML своим кодом: когда без разработчика не обойтись
Если формат самописный — например, выгрузка из складской программы со своими тегами — штатного механизма нет. Пишется обработка, которая читает файл и создаёт объекты.
Базовый шаблон чтения через ЧтениеXML и СериализаторXDTO:
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл("\\server\exchange\data.xml");
Пока ЧтениеXML.Прочитать() Цикл
Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента
И ЧтениеXML.Имя = "Контрагент" Тогда
Элемент = Справочники.Контрагенты.СоздатьЭлемент();
Элемент.Наименование = ЧтениеXML.ПолучитьАтрибут("Наименование");
Элемент.ИНН = ЧтениеXML.ПолучитьАтрибут("ИНН");
Элемент.Записать();
КонецЕсли;
КонецЦикла;
ЧтениеXML.Закрыть();
Если XML создан самой 1С через ЗаписатьXML, объект читается одной строкой:
Объект = СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
Объект.Записать();
Три правила, которые экономят время:
- Перед записью ищите существующий объект по ИНН или коду, иначе получите дубли.
- Оборачивайте загрузку в транзакцию порциями по 100–500 объектов.
- Пишите в лог номер строки файла, на которой упала обработка, — без этого отладка большого файла превращается в угадывание.
Внешнюю обработку от непроверенного автора не запускайте в рабочей базе. Сначала копия, затем сверка результата, только потом рабочий контур.
Частые вопросы
Как загрузить XML-файл в 1С 8.3 через тонкий клиент?
Почему при загрузке пишет «Неверная структура файла обмена»?
V8Exchange — обработка выгрузки-загрузки, ФайлОбмена — универсальный обмен по правилам, Message — синхронизация EnterpriseData.Можно ли загрузить XML из базы с другой конфигурацией?
Документы загрузились, а проводок нет — что делать?
Операции → Групповое перепроведение документов за период загрузки и проверьте результат оборотно-сальдовой ведомостью.Как загрузить XML счёта-фактуры без подключённого ЭДО?
Текущие дела ЭДО можно и без подключённого оператора — загрузка файла с диска доступна после включения ЭДО в настройках обмена электронными документами. Без этого придётся заводить документ вручную по данным файла.Что делать с ошибкой кодировки при загрузке XML?
<?xml version="1.0" encoding="UTF-8"?>. Чаще всего проблема именно в расхождении заголовка и реального содержимого.