Справочники и Данные · 10 мин
Как загрузить XML в 1С: способы, инструкции и разбор ошибок
Как загрузить XML-файл в 1С: универсальная обработка, обмен между базами, загрузка документов и справочников. Разбор ошибок, проверка результата и ответы на вопросы.
Формат XML — один из основных способов переноса данных в 1С: через него выгружают справочники, документы, остатки и целые базы. Задача «загрузить XML в 1С» встречается при переходе между конфигурациями, обмене с контрагентами, импорте выписок и восстановлении данных из архивных копий. Подходящий способ зависит от того, что именно находится в файле: данные в формате CommerceML, выгрузка из другой базы 1С, электронный документ или произвольная структура от сторонней системы.
Универсального «волшебного» способа нет: 1С не умеет самостоятельно угадывать структуру любого XML. Либо файл подготовлен специально для обмена между базами 1С (тогда работает штатный механизм), либо понадобится типовая обработка загрузки, либо — для нестандартных форматов — специализированная разработка. Ниже разобраны все три сценария с конкретными действиями.
Перед любой загрузкой сделайте резервную копию информационной базы. Импорт XML способен создать тысячи объектов за минуты, а откатить массовые изменения без бэкапа практически невозможно.
Определите, какой XML у вас на руках
Откройте файл в любом текстовом редакторе и посмотрите первые строки. Структура корневых элементов подскажет происхождение файла и, следовательно, способ загрузки. Это займёт минуту, но избавит от попыток «скормить» файл неподходящему инструменту.
Выгрузка из 1С через универсальный обмен обычно начинается с элемента <ФайлОбмена> и содержит блоки правил конвертации. Файлы CommerceML (каталоги товаров, заказы) содержат элемент <КоммерческаяИнформация>. Электронные документы по форматам ФНС содержат элемент <Файл> с атрибутами идентификатора отправителя и версии формата. Банковские выписки чаще идут в текстовом формате 1CClientBankExchange, а не XML.
Загружайте через «Универсальный обмен данными в формате XML»
Используйте обмен с сайтом или обработку импорта CommerceML
Загружайте через подсистему ЭДО конфигурации
Потребуется обработка с ручным сопоставлением полей
Загрузка через универсальный обмен данными XML
Штатная обработка «Универсальный обмен данными в формате XML» — основной инструмент переноса данных между базами 1С. Она входит в поставку большинства типовых конфигураций, а актуальную версию можно открыть как внешнюю обработку через меню «Файл → Открыть».
Порядок загрузки прост: откройте обработку, перейдите на закладку «Загрузка данных», укажите путь к XML-файлу и нажмите «Загрузить данные». Правила конвертации при загрузке указывать не нужно — они уже записаны внутри файла обмена при выгрузке.
- 1Сделайте резервную копию базы: «Администрирование → Обслуживание → Резервное копирование» или выгрузку в dt
- 2Откройте обработку «Универсальный обмен данными в формате XML» (Файл → Открыть → UniversalDataExchangeXML.epf)
- 3Перейдите на закладку «Загрузка данных» и укажите путь к XML-файлу
- 4Снимите флажок «Режим отладки», если он не нужен, и нажмите «Загрузить данные»
- 5Дождитесь окончания и изучите протокол: количество загруженных объектов и список ошибок
- 6Проверьте результат: откройте загруженные документы и справочники, сверьте контрольные суммы
Обратите внимание на опции загрузки. Режим «Обмен данными» (запись без проведения и проверок) ускоряет загрузку, но документы при этом не проводятся — их придётся провести отдельно. Опция «Загружать данные в режиме обмена» также отключает бизнес-логику проверок, что удобно для технического переноса, но опасно при загрузке в рабочую базу с действующими ограничениями.
Загрузка электронных документов (УПД, счета-фактуры)
Если контрагент прислал XML с универсальным передаточным документом или счётом-фактурой, грузить его нужно не через универсальный обмен, а через подсистему электронного документооборота. В «1С:Бухгалтерии» это раздел «Покупки → Электронные документы», в «Управлении торговлей» — аналогичный блок ЭДО.
Типовой сценарий: откройте список входящих электронных документов, нажмите «Загрузить из файла» (или «Получить из файла»), укажите XML. Программа распознает формат, предложит сопоставить номенклатуру и контрагента с элементами вашей базы, после чего создаст учётный документ — поступление товаров, реализацию или счёт-фактуру.
Сопоставление номенклатуры — самый ответственный шаг. Если наименования поставщика не совпадают с вашими, программа предложит создать новые позиции или привязать к существующим. Ручная привязка запоминается, и при следующих загрузках от того же контрагента сопоставление выполнится автоматически.
Загрузка каталогов и товаров из CommerceML
Файлы CommerceML (import.xml, offers.xml) поставщики присылают для загрузки каталога товаров, цен и остатков. В конфигурациях с торговым функционалом есть штатные механизмы: «Обмен с сайтом» в «Управлении торговлей» умеет читать CommerceML, а в «1С:Бухгалтерии» загрузка номенклатуры из файла доступна в карточке справочника «Номенклатура» по кнопке «Загрузить».
Для каталога поставщика удобна типовая обработка «Загрузка данных из файла»: она принимает табличные данные и простые структуры, позволяет сопоставить колонки файла с реквизитами справочника. Если XML имеет сложную иерархию (группы, характеристики, картинки), потребуется специализированная обработка импорта CommerceML — она разбирает структуру и создаёт группы номенклатуры, позиции, цены и свойства.
Перед загрузкой большого каталога проверьте файл на первой сотне позиций: загрузите ограниченный фрагмент, убедитесь, что единицы измерения, ставки НДС и цены попадают в правильные реквизиты. Ошибка в сопоставлении ставки НДС, повторённая на десяти тысячах позиций, потом потребует массовой исправительной обработки.
Загрузка произвольного XML через код
Когда XML не соответствует ни одному стандартному формату — например, выгрузка из самописной CRM или отраслевой системы — данные загружают программно. Встроенный язык 1С предоставляет объекты ЧтениеXML для последовательного разбора и ПостроительDOM для работы с документом целиком.
Типовой подход — последовательное чтение: обработка открывает файл, проходит по узлам и для каждого узла нужного типа создаёт объект базы (элемент справочника или документ), заполняет реквизиты и записывает. Такой код обычно оформляют как внешнюю обработку, чтобы бухгалтер мог запускать загрузку без конфигуратора.
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл(ИмяФайла);
Пока Чтение.Прочитать() Цикл
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента
И Чтение.Имя = "Товар" Тогда
// чтение атрибутов и создание элемента справочника
КонецЕсли;
КонецЦикла;
Чтение.Закрыть();Самостоятельно писать такую обработку стоит только при наличии базовых навыков программирования на встроенном языке 1С. Ошибка в логике разбора приведёт к частичной загрузке или неверным данным, поэтому отладку всегда выполняют на копии базы.
Проверка результата и типичные ошибки
После загрузки не ограничивайтесь сообщением «загрузка завершена». Сверьте количество объектов в протоколе с ожидаемым, откройте несколько документов и проверьте суммы, даты, контрагентов. Для справочников полезно проверить отсутствие дублей: включите отбор по наименованию или ИНН и убедитесь, что один и тот же контрагент не создан дважды.
Как проверить результат загрузки
Совпадает с количеством записей в файле
Протокол содержит ошибки или число меньше ожидаемого
Даты, суммы, контрагенты корректны, документы проведены
Документы не проведены или суммы отличаются
Нет дублей по наименованию и ИНН
Один контрагент или товар создан несколько раз
Отчёты сходятся с источником данных
Расхождения в остатках после переноса
Часто задаваемые вопросы
Можно ли загрузить любой XML-файл в 1С без доработок?
Нет. 1С не умеет автоматически интерпретировать произвольную XML-структуру. Штатно загружаются файлы обмена между базами 1С, документы по форматам ФНС и CommerceML в конфигурациях с соответствующими механизмами. Для остальных форматов нужна обработка с настройкой соответствия полей или программная загрузка.
Чем отличается загрузка XML от загрузки из Excel?
Excel (и CSV) — табличный формат: одна строка — один объект, колонки — реквизиты. XML — иерархический: один файл может содержать справочники, документы и их табличные части с вложенной структурой. Для простого списка контрагентов удобнее Excel, для переноса документов с проводками — XML.
Обработка выдаёт ошибку «Ошибка разбора XML». Что делать?
Чаще всего файл повреждён, обрезан при передаче или сохранён в неподходящей кодировке. Откройте файл в браузере или редакторе: если структура не отображается или видны символы подмены, запросите файл заново или пересохраните его в UTF-8. Также проверьте, что файл действительно XML, а не переименованный архив.
Как загрузить XML в 1С:Бухгалтерию, если это выгрузка из другой программы?
Если источник — другая база 1С, попросите выгрузить данные через «Универсальный обмен данными в формате XML». Если источник — сторонняя программа, уточните у её разработчика поддержку форматов CommerceML или выгрузку в Excel/CSV, которые «1С:Бухгалтерия» загружает штатной обработкой «Загрузка данных из файла».
Безопасно ли загружать XML в рабочую базу сразу?
Нет. Сначала загрузите файл в копию базы, проверьте сопоставление данных, отсутствие дублей и корректность проведения документов. Только после успешной проверки повторите загрузку в рабочей базе, предварительно сделав резервную копию.
Что важно запомнить
Способ загрузки XML определяется происхождением файла: обмен между базами 1С — через универсальную обработку, электронные документы — через ЭДО, каталоги — через импорт CommerceML, произвольные форматы — программно. Перед загрузкой всегда делайте резервную копию, а после — сверяйте протокол, отсутствие дублей и итоговые обороты.