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

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

Как открыть файл XML в 1С 8.3

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

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

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

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

Что находится в XML-файле и как это влияет на способ открытия

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

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

Как открыть XML для просмотра в 1С 8.3

Самый простой сценарий — посмотреть, что вообще лежит в файле. В режиме 1С:Предприятие откройте меню «Файл» → «Открыть» (или нажмите Ctrl+O), укажите путь к файлу. Платформа распознает XML и откроет его в текстовом редакторе с подсветкой синтаксиса.

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

Альтернатива — открыть файл в браузере или в «Блокноте» Windows: XML читается любым текстовым редактором. Но если файл в кодировке, отличной от UTF-8, браузер может показать «кракозябры» — тогда просмотр через 1С надёжнее, так как платформа корректно определяет кодировку из объявления в первой строке файла.

Как загрузить данные из XML через универсальную обработку

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

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

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

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

Открытие XML через штатные механизмы конфигурации

Электронные документы и ЭДО

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

Загрузка отчётности

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

Загрузка данных из табличных источников

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

Сравнение вариантов

Файл → Открыть

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

Универсальный обмен данными XML

Загрузка справочников и документов из выгрузок других баз 1С. Требует файл в формате обмена.

Механизмы ЭДО

Электронные документы от контрагентов. Работает только с форматами, которые понимает конфигурация.

Программное чтение

Любой XML с произвольной структурой. Требует написания кода на встроенном языке.

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

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

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

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

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

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

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

Сообщить(Чтение.Имя);

КонецЕсли;

КонецЦикла;

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

Для файлов, которые соответствуют объектной модели конфигурации, удобнее ПрочитатьXML() — он сразу восстанавливает объект (например, элемент справочника) из XML-представления. Также доступен пакетный разбор через XDTO-пакеты, когда структура файла описана схемой.

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

Почему XML не открывается: типовые ошибки и их решение

Наиболее частая проблема — ошибка формата при загрузке: «Ошибка разбора XML» с указанием строки и позиции. Причины: файл обрезан при передаче (незакрытый последний тег), внутри есть недопустимые символы, либо это вообще не XML, а, например, переименованный Excel-файл. Проверьте файл, открыв его в текстовом редакторе: корректный XML начинается с объявления <?xml version="1.0" ...?> и заканчивается закрывающим корневым тегом.

Вторая группа ошибок — кодировка. Если русские буквы после загрузки превратились в нечитаемые символы, файл сохранён в кодировке, отличной от той, что указана в его объявлении. Решение — пересохранить файл в UTF-8 или исправить атрибут encoding в первой строке.

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

Типичные ошибки
01
Загрузка файла прямо в рабочую базу без копии — при ошибке в файле данные испорчены без возможности отката
02
Попытка загрузить произвольный XML через обмен данными — обработка ждёт формат выгрузки 1С и выдаёт ошибку
03
Игнорирование протокола загрузки — часть объектов не создалась, а пользователь узнаёт об этом после закрытия обработки
04
Открытие огромного файла на просмотр в тонком клиенте — платформа надолго зависает; большие файлы лучше смотреть во внешнем редакторе

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

После загрузки не ограничивайтесь сообщением «Загрузка завершена». Откройте протокол в обработке и сравните количество прочитанных и загруженных объектов — расхождение означает, что часть данных пропущена или отклонена с ошибками.

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

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

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

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

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

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

Есть строки «Ошибка» или загружено меньше, чем прочитано

Справочники и документы в базе
Норма

Реквизиты совпадают с источником, кодировка читается корректно

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

Пустые реквизиты, нечитаемые символы, дубли элементов

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

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

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

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

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

Можно ли открыть XML в 1С без конфигурации, просто платформой?

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

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

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

Файл очень большой и 1С зависает при открытии. Что делать?

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

После загрузки появились дубли контрагентов. Почему?

Поиск объектов при загрузке выполняется по уникальному идентификатору или по полям поиска из правил обмена. Если в базе-приёмнике контрагент был создан вручную, а не перенесён из источника, идентификаторы не совпадают — и создаётся дубль. Лечится настройкой полей поиска (ИНН + КПП) в правилах конвертации.

Можно ли открыть XML, защищённый электронной подписью?

Файл с подписью (обычно это отдельный файл подписи или подпись внутри XML) открывается как обычный XML, но для проверки подлинности нужны средства криптографии и механизмы ЭДО конфигурации. Без них вы увидите содержимое, но не сможете подтвердить, что документ не изменён.

Итог

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

Просмотр XML — через «Файл → Открыть», загрузка данных — через универсальную обработку обмена или штатные механизмы ЭДО и отчётности, произвольные файлы — программно через ЧтениеXML. Перед любой загрузкой делайте копию базы, а после — сверяйте протокол и выборочно проверяйте объекты.