К статье
Практический материал

Справочники и Данные · 12 мин

Как открыть XML-файл в 1С: способы для пользователя и разработчика

Как открыть XML-файл в 1С: через универсальную загрузку, внешние обработки и код. Разбор ошибок, проверка результата, ответы на частые вопросы.

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

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

Перед любыми действиями сделайте копию исходного XML-файла и, если планируется загрузка в рабочую базу, — резервную копию базы. Ошибочная загрузка способна создать дубли справочников, перезаписать документы или нарушить связи между объектами, и откатить это вручную бывает очень трудоёмко.

Сначала определите, что за XML перед вами

Прежде чем выбирать инструмент, откройте файл в любом текстовом редакторе (подойдёт Notepad++ или даже Блокнот) и посмотрите первые строки. Корневой элемент и структура подскажут назначение файла. Например, файлы выгрузки из 1С через универсальный обмен начинаются с элемента <ФайлОбмена>, электронные документы — со структур вида <Файл> с атрибутом ИдФайл, а выгрузки конфигурации содержат элемент <MetaDataObject>.

Также проверьте кодировку: она указана в первой строке вида <?xml version="1.0" encoding="UTF-8"?>. Если при открытии видны «кракозябры» вместо кириллицы, файл, скорее всего, в кодировке windows-1251, а редактор открыл его как UTF-8. Это не повреждение данных — просто переключите кодировку отображения.

Корневой элемент «ФайлОбмена»Выгрузка универсального обмена 1С

Загружается обработкой «Универсальный обмен данными в формате XML»

Присутствуют «ИдФайл» и «ВерсФорм»Электронный документ (УПД, счёт-фактура, накладная)

Открывается через подсистему ЭДО или обработку загрузки документов

Элемент «MetaDataObject»Выгрузка конфигурации или объектов метаданных

Загружается через конфигуратор, а не пользовательский режим

Элемент «EnterpriseData»Обмен в формате EnterpriseData

Используется типовой план обмена и настройка синхронизации

Как просто посмотреть содержимое XML без загрузки

Если задача — только ознакомиться с содержимым, 1С вообще не обязательна. Файл открывается двойным щелчком в браузере: он покажет древовидную структуру с возможностью сворачивать узлы. Notepad++ дополнительно подсветит синтаксис и позволит проверить корректность XML через плагин XML Tools.

Браузер при ошибке в структуре файла покажет сообщение вида «error on line X»: незакрытый тег, недопустимый символ или битый фрагмент. Это удобный способ быстро проверить, не повреждён ли файл при передаче. Если браузер не смог отобразить документ, загружать его в 1С бессмысленно — сначала нужно получить целостную копию у отправителя.

Для больших файлов (сотни мегабайт) браузеры и редакторы могут зависать. В этом случае смотрите только начало файла, чтобы определить тип, а полный разбор выполняйте уже средствами платформы.

Загрузка через «Универсальный обмен данными в формате XML»

Это самый частый сценарий: файл получен выгрузкой из другой базы 1С и его нужно загрузить к вам. Типовая обработка «Универсальный обмен данными в формате XML» (файл обычно называется УниверсальныйОбменДаннымиXML.epf) входит в поставку многих конфигураций или находится в шаблонах обновлений, а также её часто можно открыть через меню «Файл → Открыть» в режиме «1С:Предприятие».

Порядок загрузки через универсальный обмен
  1. 1
    Сделайте архивную копию информационной базы через конфигуратор или средствами СУБД
  2. 2
    Откройте базу в режиме «1С:Предприятие» под пользователем с полными правами
  3. 3
    Через «Файл → Открыть» выберите файл обработки УниверсальныйОбменДаннымиXML.epf
  4. 4
    Перейдите на вкладку «Загрузка данных» и укажите путь к XML-файлу
  5. 5
    Проверьте настройки: режим отладки, флаги оптимизации — для первого раза оставьте значения по умолчанию
  6. 6
    Нажмите «Загрузить данные» и дождитесь завершения
  7. 7
    Изучите протокол загрузки: количество загруженных объектов и список ошибок

Важный нюанс: универсальный обмен работает по правилам конвертации, которые формировались на стороне выгрузки. Если файл выгружен из конфигурации, структура которой отличается от вашей (например, из «Управления торговлей» в «Бухгалтерию»), простая загрузка не сработает корректно — нужны согласованные правила обмена или типовая синхронизация между этими конфигурациями.

После загрузки обязательно сверьте результат: откройте несколько документов или элементов справочников из файла и сравните их с исходными данными. Обращайте внимание на дубли контрагентов и номенклатуры — они появляются, если поиск объектов шёл не по тому полю.

Открытие электронных документов (УПД, накладные, счета-фактуры)

Если XML — это электронный документ от контрагента, его не «загружают» вручную через универсальный обмен. В типовых конфигурациях («Бухгалтерия предприятия», «Управление торговлей», «Комплексная автоматизация») есть подсистема обмена электронными документами. Документ добавляется через раздел «ЭДО» или «Покупки/Продажи → Электронные документы» с помощью команды загрузки из файла.

После загрузки 1С распарсит XML и покажет документ в привычном виде: табличная часть, суммы, реквизиты сторон. На этом этапе данные ещё не проведены в учёте — вы просматриваете содержимое и принимаете решение: создать на его основе поступление, отклонить или запросить уточнение у отправителя.

Открытие XML программно: для разработчика

Когда типовые инструменты не подходят — нестандартная структура файла, выборочная загрузка, интеграция по расписанию — XML читается средствами встроенного языка. Платформа предоставляет объекты ЧтениеXML для потокового разбора и ФабрикаXDTO для работы через модель типов.

Минимальный пример последовательного чтения файла:

bsl
Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл("C:\Обмен\data.xml");
Пока Чтение.Прочитать() Цикл
    Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
        ИмяУзла = Чтение.Имя;
        // обработка узла
    КонецЕсли;
КонецЦикла;
Чтение.Закрыть();

Потоковое чтение через ЧтениеXML не загружает весь файл в память, поэтому подходит для больших выгрузок. Если же файл соответствует известной схеме (например, формат ФНС или EnterpriseData), удобнее ФабрикаXDTO — она превращает XML в типизированные объекты и сама контролирует структуру.

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

Типичные ошибки и как их исправить

Большинство проблем при открытии XML в 1С сводится к нескольким повторяющимся ситуациям. Разбор каждой экономит часы поиска причины.

Типичные ошибки
01
Ошибка «Нарушена структура файла» — файл обрезан при скачивании или пересылке; запросите у отправителя полную копию и сверьте размер
02
Загрузка завершилась, но данных нет — правила обмена не соответствуют конфигурации-приёмнику; проверьте, для какой конфигурации делалась выгрузка
03
Дубли контрагентов и номенклатуры — поиск объектов выполнялся по наименованию вместо ИНН/кода; проведите свёртку дублей и исправьте правила поиска
04
Кракозябры вместо русского текста — несовпадение кодировки; укажите правильную кодировку при чтении или пересохраните файл в UTF-8
05
Обработка не открывается с сообщением о безопасности — сработала защита от опасных действий; подтвердите открытие или отключите защиту для доверенного файла

Отдельно стоит ситуация, когда загрузка «зависает» на большом файле. Чаще всего это не зависание, а длительная транзакция: платформа обрабатывает десятки тысяч объектов. Признак нормы — растущий счётчик в строке состояния и нагрузка на диск. Если же процесс не двигается длительное время и протокол пуст, прервите операцию, включите режим отладки в обработке и загрузите файл частями.

Контрольные точки

Как проверить результат загрузки

Протокол загрузки
Норма

Есть число загруженных объектов, ошибок нет или они объяснимы

Тревожный признак

Ошибки записи, пустой протокол при ненулевом файле

Контрольные суммы
Норма

Итоги по документам в базе совпадают с итогами в файле

Тревожный признак

Суммы расходятся, часть документов отсутствует

Справочники
Норма

Контрагенты и номенклатура сопоставились с существующими

Тревожный признак

Появились дубли с похожими наименованиями

Проведение документов
Норма

Загруженные документы проводятся без ошибок

Тревожный признак

Документы не проводятся из-за пустых реквизитов

Как выбрать способ под вашу задачу

Выбор инструмента определяется двумя факторами: типом содержимого файла и тем, что нужно сделать с данными — посмотреть или записать в базу. Ниже краткий маршрут принятия решения.

Маршрут решения

Как выбрать действие

Нужно только посмотреть содержимоеОткройте файл в браузере или Notepad++ — 1С не требуется
Файл — выгрузка из другой базы 1С (ФайлОбмена)Используйте обработку «Универсальный обмен данными в формате XML» на копии базы
Файл — электронный документ от контрагентаЗагрузите через подсистему ЭДО вашей конфигурации
Нестандартная структура или регулярная загрузкаНапишите обработку на ЧтениеXML или ФабрикаXDTO
Файл большой и загрузка идёт часамиРазбейте файл на части или используйте потоковое чтение без транзакции на весь файл

Если сомневаетесь в выборе, начните с безопасного варианта: откройте файл для просмотра, определите его тип и только потом переходите к загрузке. Любую загрузку в первый раз выполняйте на копии базы — это стандартная практика, которая страхует от необратимых изменений.

Итог

Что важно запомнить

Сначала определите тип XML по корневому элементу, затем выбирайте инструмент: просмотр — в браузере, обмен между базами — универсальная обработка, документы контрагентов — ЭДО, нестандартные задачи — код на встроенном языке. Перед любой загрузкой делайте резервную копию и проверяйте результат по протоколу и контрольным суммам.

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

Можно ли открыть XML в 1С без конфигуратора?

Да. Просмотр файла вообще не требует 1С — достаточно браузера или текстового редактора. Загрузка данных выполняется в режиме «1С:Предприятие» через внешние обработки или типовые механизмы обмена. Конфигуратор нужен только для загрузки выгрузок конфигурации и для разработки собственных обработок.

Чем отличается выгрузка в XML из 1С от обычного XML-документа?

Выгрузка универсального обмена содержит служебную структуру «ФайлОбмена» со ссылками на правила конвертации и типы объектов конфигурации. Такой файл осмысленно загружается только обработкой универсального обмена в базу с совместимой структурой метаданных. Обычный XML-документ (накладная, отчёт) имеет самостоятельную схему и читается независимыми средствами.

Файл открывается, но вместо текста иероглифы — он испорчен?

Скорее всего, нет. Это несовпадение кодировки: файл сохранён в windows-1251, а программа открыла его как UTF-8, или наоборот. Посмотрите атрибут encoding в первой строке файла и откройте его с принудительным указанием этой кодировки. В 1С кодировка задаётся параметром при открытии файла для чтения.

Как загрузить XML размером несколько гигабайт?

Загружайте потоковым чтением через ЧтениеXML, не помещая файл в память целиком. В универсальной обработке уменьшите объём транзакции или разбейте файл на части по узлам верхнего уровня. Также убедитесь, что на диске с временными файлами сервера достаточно свободного места.

Загрузились дубли контрагентов — что делать?

Сначала не удаляйте ничего вручную. Определите, по какому полю шёл поиск при загрузке (наименование вместо ИНН — частая причина). Затем используйте типовую обработку поиска и удаления дублей, которая заменит ссылки на дубли ссылками на основной элемент во всех документах. После этого исправьте правила обмена, чтобы ситуация не повторилась.

Можно ли открыть XML из 1С в Excel?

Да, Excel умеет открывать XML и предложит преобразовать его в таблицу. Это удобно для анализа плоских структур вроде списков товаров. Однако для иерархических выгрузок 1С с вложенными узлами табличное представление будет неполным — такие файлы лучше разбирать средствами платформы.