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

Администрирование · 11 мин

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

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

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

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

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

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

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

Файлы обмена данными между базами (выгрузки планов обмена, универсального формата EnterpriseData) содержат прикладные данные: документы, справочники, регистры. Их загружают штатными механизмами обмена или специальными обработками. Файл выгрузки конфигурации (dt — это не XML, а вот выгрузка в файлы конфигурации как раз XML) предназначен для конфигуратора. Электронные документы (счета-фактуры, УПД, отчётность) читаются прикладными механизмами типовых конфигураций.

Быстрый способ определить тип — открыть файл в любом текстовом редакторе (Блокнот, Notepad++) и посмотреть корневой элемент и первые строки. Теги вроде <ФайлОбмена>, <СообщениеОбмена> или упоминания плана обмена указывают на файл обмена данными.

Корневой элементПервый тег после заголовка

Показывает назначение: обмен данными, электронный документ, выгрузка конфигурации

Размер файлаОт килобайт до гигабайт

Очень большие файлы обмена могут не открываться в текстовых редакторах

КодировкаОбычно UTF-8

Указана в первой строке: <?xml version="1.0" encoding="UTF-8"?>

Просмотр содержимого XML-файла

Если задача — просто посмотреть, что внутри файла, загружать его в 1С не нужно. XML — это обычный текст, и его открывает любой текстовый редактор. Для больших файлов лучше подходят Notepad++ или аналогичные редакторы с подсветкой синтаксиса: стандартный Блокнот Windows может зависнуть на файле в несколько сотен мегабайт.

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

Также XML корректно открывается в браузере: перетащите файл в окно Chrome или Firefox — браузер покажет дерево элементов со сворачиваемыми узлами. Это самый наглядный способ изучить иерархию данных без установки дополнительных программ.

Загрузка данных из XML через штатные механизмы

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

Обработка «Универсальный обмен данными в формате XML» (входит в поставку конвертации данных и доступна на диске ИТС) работает в паре с файлом правил обмена. Порядок действий: откройте обработку, перейдите на вкладку «Загрузка данных», укажите файл, при необходимости настройте флаги (например, режим отладки, запись только изменённых объектов) и нажмите «Загрузить данные».

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

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

Программное чтение XML во встроенном языке

Для нестандартных файлов (выгрузки из сторонних систем, прайсы, произвольные XML) используют программное чтение. Платформа предоставляет два основных подхода: последовательное чтение через объект ЧтениеXML и объектную модель документа ЧтениеDOM (DOM).

Последовательное чтение подходит для больших файлов: документ обрабатывается по узлам без загрузки целиком в память. DOM удобнее для небольших файлов, где нужен произвольный доступ к элементам, но требует памяти пропорционально размеру файла.

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

Чтение = Новый ЧтениеXML;

Чтение.ОткрытьФайл("C:\Обмен\данные.xml");

Пока Чтение.Прочитать() Цикл

Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда

Сообщить("Элемент: " + Чтение.Имя);

КонецЕсли;

КонецЦикла;

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

Для файлов, соответствующих XDTO-пакетам (формат EnterpriseData, сообщения обмена), правильнее использовать объект ЧтениеXDTO — он сразу преобразует XML в объекты платформы с типами данных.

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

Открытие XML в тонком клиенте и на веб-клиенте

Работа с файлами в клиент-серверном режиме имеет ограничения: код, выполняющийся на сервере, не видит диск пользователя. Если XML лежит на компьютере пользователя, а чтение выполняется на сервере, файл нужно сначала передать — через временное хранилище с помощью ПоместитьФайл() или асинхронных методов НачатьПомещениеФайла().

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

Типичные ошибки при открытии и загрузке XML

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

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

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

Типичные ошибки
01
Открытие файла обмена через «Файл → Открыть» вместо загрузки — данные не попадают в базу
02
Игнорирование кодировки при программном чтении — кириллица превращается в нечитаемые символы
03
Загрузка большого файла через DOM — нехватка памяти и аварийное завершение сеанса
04
Чтение файла с диска пользователя в серверном контексте — ошибка «Файл не найден»
05
Ручная правка XML перед загрузкой — повреждённая структура и отказ загрузки

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

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

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

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

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

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

Количество загруженных объектов совпадает с ожиданием, ошибок нет

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

Есть строки с ошибками или число объектов меньше ожидаемого

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

Документы проведены, движения сформированы

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

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

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

Элементы обновлены, дублей нет

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

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

Часто задаваемые вопросы

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

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

Чем открыть XML-файл размером в несколько гигабайт?

Текстовые редакторы и браузеры с таким файлом не справятся. Используйте программное последовательное чтение через ЧтениеXML — оно обрабатывает файл порциями без загрузки в память. Для просмотра фрагментов подойдут редакторы, умеющие открывать большие файлы частично (например, EmEditor).

Почему при загрузке возникает ошибка «Ошибка формата потока»?

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

Как открыть XML счёта-фактуры или УПД из ЭДО?

Такие файлы загружаются через механизмы обмена электронными документами в типовой конфигурации (раздел «ЭДО» / «Обмен электронными документами»). Вручную через универсальную обработку их загружать не нужно — прикладной механизм сам разберёт формат и создаст документы в базе.

Что делать, если кириллица в XML отображается кракозябрами?

Файл сохранён не в той кодировке, которая указана в его заголовке, либо читается без учёта кодировки. Откройте файл в Notepad++, определите фактическую кодировку и при программном чтении передайте её явно вторым параметром метода ОткрытьФайл().

Можно ли загрузить XML в базу с другой конфигурацией?

Только если есть правила конвертации между этими конфигурациями, созданные в «Конвертации данных». Файл универсального формата EnterpriseData также требует, чтобы обе конфигурации поддерживали этот формат. Произвольный XML из чужой системы загружается только самописной обработкой.

Итог

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

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