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

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

Что такое XML в 1С и как с ним работать

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

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

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

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

Что представляет собой XML в контексте 1С

XML (eXtensible Markup Language) — расширяемый язык разметки, в котором данные описываются тегами. В 1С объект, например элемент справочника «Номенклатура», при выгрузке превращается в набор вложенных элементов: наименование, код, артикул, единица измерения и ссылки на связанные объекты. Ссылки внутри XML передаются через уникальные идентификаторы (GUID), поэтому при загрузке в другую базу платформа может найти или создать связанный объект.

Платформа 1С поддерживает несколько способов работы с XML. На уровне встроенного языка есть объекты «ЧтениеXML» и «ЗаписьXML» для потоковой обработки файлов, а также механизм XDTO (XML Data Transfer Objects), который работает с пакетами данных по описанной схеме. Поверх них построены прикладные механизмы: универсальный обмен данными, планы обмена и формат EnterpriseData.

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

Где XML используется в типовых конфигурациях

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

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

Третий сценарий — интеграция с сайтами и торговым оборудованием. Обмен с интернет-магазином на базе CommerceML, выгрузка товаров и цен на кассы, импорт прайсов поставщиков — всё это чаще всего построено на XML-файлах или XML-подобных структурах.

Файл выгрузкиРасширение .xml

Откройте файл в текстовом редакторе — в начале будет объявление <?xml version="1.0"?>

Настройка обменаПлан обмена или обработка

В типовых конфигурациях ищите раздел «Синхронизация данных» или обработку «Универсальный обмен данными в формате XML»

Ошибки форматаСообщения о схеме

Ошибки вида «не соответствует схеме» или «не найден элемент» указывают на XML-обмен с валидацией

Основные механизмы обмена: что выбрать

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

Для регулярной синхронизации между типовыми конфигурациями удобнее планы обмена — они автоматически отслеживают изменённые объекты и формируют XML-сообщения при каждом сеансе обмена. Механизм EnterpriseData применяется для интеграции с внешними системами через стандартизированные XML-пакеты.

Сравнение подходов

Универсальный обмен + правила конвертации

Подходит для разового переноса и миграций между любыми конфигурациями. Требует подготовки или поиска готовых правил; ошибки в правилах дают искажённые данные.

Планы обмена

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

EnterpriseData

Подходит для интеграции с внешними системами по стандартной схеме. Ограничен составом формата — нестандартные объекты потребуют расширения.

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

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

Порядок выгрузки данных
  1. 1
    Сделайте резервную копию базы-приёмника до начала переноса — это единственный способ откатить результат
  2. 2
    Откройте обработку «Универсальный обмен данными в формате XML» в базе-источнике
  3. 3
    На вкладке «Выгружаемые данные» укажите файл правил обмена и дождитесь загрузки дерева объектов
  4. 4
    Отметьте нужные объекты (справочники, документы, регистры), задайте период и отборы
  5. 5
    Укажите путь к файлу выгрузки с расширением .xml и нажмите «Выгрузить данные»
  6. 6
    Дождитесь сообщения об окончании и проверьте протокол: число выгруженных объектов и отсутствие ошибок

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

Проверка результата и контрольные точки

После загрузки недостаточно увидеть сообщение «Загрузка завершена». Нужно убедиться, что данные перенеслись корректно: количество объектов совпадает, ссылки не потеряны, остатки и обороты сходятся. Для этого сравните контрольные показатели в источнике и приёмнике.

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

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

Количество элементов справочников
Норма

Число элементов в источнике и приёмнике совпадает с учётом отборов

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

В приёмнике заметно больше (дубли) или меньше (потери) элементов

Остатки по регистрам
Норма

Оборотно-сальдовая ведомость или отчёт по остаткам совпадает на контрольную дату

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

Суммы расходятся — часть документов не загрузилась или загрузилась дважды

Ссылки в документах
Норма

В документах заполнены контрагенты, номенклатура, договоры

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

В полях видны пустые значения или записи вида «<Объект не найден>»

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

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

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

Есть сообщения об ошибках поиска, преобразования типов или нарушениях схемы

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

Типичные ошибки при работе с XML в 1С

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

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

Ограничения формата и альтернативы

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

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

Итог

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

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

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

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

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

Можно ли открыть и отредактировать XML-файл выгрузки вручную?

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

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

Причина почти всегда в настройках поиска объектов в правилах обмена. Если поиск выполняется по наименованию, а в базах оно записано по-разному, платформа создаёт новый элемент вместо привязки к существующему. Решение — настроить поиск по уникальному идентификатору, коду или ИНН/КПП и повторить загрузку на копии базы.

Что делать, если загрузка XML завершилась ошибкой «не соответствует схеме»?

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

Подходит ли XML для ежедневной автоматической синхронизации баз?

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

Как перенести только часть данных, например документы за один месяц?

В обработке «Универсальный обмен данными в формате XML» при выгрузке задайте период и отборы по организации или другим реквизитам — в файл попадут только объекты, удовлетворяющие условиям. Учтите, что документы тянут за собой связанные справочники, поэтому вместе с документами выгрузятся используемые контрагенты и номенклатура.