Администрирование · 9 мин
Как в 1С выгрузить базу в XML
Как выгрузить базу 1С в XML через обработку «Выгрузка и загрузка данных XML», конвертацию данных и встроенные механизмы. Риски, проверка результата, FAQ.
Выгрузка базы 1С в XML нужна при переносе данных между информационными базами, при миграции между конфигурациями, при создании резервной копии отдельных данных или при обмене с внешними системами. В отличие от выгрузки в формате .dt, XML-файл читаем человеком, его можно открыть в текстовом редакторе, проверить содержимое и при необходимости отредактировать.
В зависимости от задачи применяются разные механизмы: универсальная обработка «Выгрузка и загрузка данных XML», типовые правила обмена через «Конвертацию данных», планы обмена, а также программная выгрузка средствами встроенного языка. Выбор зависит от того, что именно нужно выгрузить — всю базу целиком, отдельные справочники и документы или данные по правилам для другой конфигурации.
Важно понимать ограничение: XML-выгрузка не является полноценной резервной копией базы. Для бэкапа используйте выгрузку в .dt или средства СУБД. XML подходит именно для переноса данных между базами, в том числе с разными релизами конфигурации.
Когда XML-выгрузка подходит, а когда нет
XML-формат оправдан, когда нужно перенести данные между базами с идентичной или близкой конфигурацией, перенести справочники и документы в другую учётную систему, либо передать данные во внешний сервис. Файл получается текстовым, его структуру легко проверить перед загрузкой.
XML не подходит для полного резервного копирования: в файл не попадают настройки пользователей, часть служебных данных, а сам процесс выгрузки большой базы занимает значительно время и создаёт нагрузку. Для резервных копий используйте конфигуратор (Администрирование → Выгрузить информационную базу) или штатные средства MS SQL / PostgreSQL.
Как выбрать способ выгрузки
Подготовка перед выгрузкой
Перед выгрузкой убедитесь, что у вашей учётной записи есть права администратора или как минимум право на использование внешних обработок и доступ ко всем выгружаемым объектам. В файловом режиме желательно, чтобы другие пользователи завершили работу — это исключит неполную выгрузку изменяемых в этот момент документов.
Оцените объём данных. XML-файл текстовый и занимает заметно больше места, чем сами данные в базе: база в несколько гигабайт может превратиться в файл в десятки гигабайт. Убедитесь, что на диске достаточно свободного места с запасом.
Если планируется загрузка в другую базу, заранее проверьте совместимость версий конфигураций. Для типовой обработки «Выгрузка и загрузка данных XML» метаданные источника и приёмника должны совпадать, иначе часть объектов не загрузится или загрузится с ошибками.
Выгрузка через обработку «Выгрузка и загрузка данных XML»
Это самый распространённый способ. Обработка входит в поставку многих типовых конфигураций и доступна на диске ИТС; также она есть в составе подсистемы «Инструменты разработчика» и публикуется в типовых дистрибутивах. Работает она в режиме толстого клиента, что важно учитывать: через веб-клиент или тонкий клиент без соответствующих настроек обработка может не запуститься.
Порядок действий: откройте базу в режиме 1С:Предприятие (толстый клиент), откройте обработку через Файл → Открыть. На вкладке «Выгрузка» укажите путь к файлу XML, отметьте галочками объекты метаданных для выгрузки — справочники, документы, регистры. При выгрузке документов включите опцию выгрузки движений, если они нужны в приёмнике. Нажмите «Выполнить» и дождитесь завершения.
Признак успешного завершения — файл создан, его размер больше нуля, а в конце файла присутствует закрывающий корневой тег. Прерванная выгрузка даёт обрезанный файл, который не загрузится в приёмник.
- 1Запустите базу в режиме толстого клиента
- 2Откройте обработку «Выгрузка и загрузка данных XML» через меню Файл → Открыть
- 3Укажите имя и путь файла выгрузки
- 4Отметьте объекты метаданных для выгрузки, при необходимости включите движения документов
- 5Нажмите «Выполнить» и дождитесь окончания
- 6Проверьте целостность XML-файла и наличие закрывающего тега
Выгрузка через конвертацию данных и планы обмена
Если конфигурации источника и приёмника различаются — например, перенос из «Управления торговлей» в «Бухгалтерию предприятия» — нужны правила обмена. В типовых конфигурациях такой обмен уже встроен: откройте настройки синхронизации данных, выберите сценарий обмена, и система сама сформирует XML-файл по правилам конвертации.
Для нетиповых ситуаций правила создаются в конфигурации «Конвертация данных»: там описывается соответствие объектов, реквизитов и табличных частей источника и приёмника. Результат — файл правил и файл данных XML. Это более трудоёмкий путь, но единственный корректный при существенно разных структурах метаданных.
Планы обмена подходят для регулярной выгрузки: узел обмена регистрирует изменения, а выгрузка формирует XML только с изменёнными данными. Это снижает объём файлов и время обмена по сравнению с полной выгрузкой.
Программная выгрузка средствами встроенного языка
Для выборочной или автоматизированной выгрузки используют встроенный язык: объекты сериализуются в XML через механизмы XDTO или через ЗаписьXML с записью ссылок, реквизитов и табличных частей вручную. Такой подход применяют, когда нужен файл строго определённой структуры — например, по XSD-схеме внешней системы.
Типовой приём — выгрузка через план обмена кодом: создаётся запись сообщения обмена, в неё записываются объекты, зарегистрированные в узле. Это даёт готовый XML в формате EnterpriseData или в формате правил конвертации без ручного формирования структуры.
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Exchange\output.xml");
Запись.ЗаписатьОбъявлениеXML();
// далее запись объектов через СериализаторXDTO или план обмена
Запись.Закрыть();Программный способ требует аккуратности: некорректно закрытый файл или прерванная запись дают невалидный XML. Всегда оборачивайте запись в попытку/исключение и проверяйте результат чтением файла обратно.
Проверка результата и типичные ошибки
После выгрузки откройте XML-файл в текстовом редакторе, поддерживающем большие файлы, или в браузере. Убедитесь, что файл начинается с объявления XML и корректно закрыт корневым элементом. Дополнительно можно проверить валидность любым XML-парсером.
Контрольная проверка — тестовая загрузка в копию базы-приёмника. Сравните количество ключевых объектов: число элементов основных справочников и документов за период в источнике и приёмнике должно совпадать. Расхождения указывают на ошибки конвертации или неполную выгрузку.
Как проверить результат
Файл открывается, есть закрывающий корневой тег
Файл обрывается на середине, парсер выдаёт ошибку
Число справочников и документов совпадает с источником
Часть объектов отсутствует в приёмнике
Проведённые документы имеют движения после загрузки
Документы загружены без движений, отчёты пустые
Ограничения и безопасная работа
XML-выгрузка больших баз — длительная операция, чувствительная к объёму оперативной памяти клиентского приложения. При нехватке памяти выгружайте данные порциями: сначала справочники, затем документы по периодам, затем регистры.
Файл XML содержит все выгруженные данные в открытом виде, включая персональные данные и коммерческую информацию. Храните файл в защищённом каталоге, передавайте по защищённым каналам и удаляйте после успешной загрузки, если он больше не нужен.
Что важно запомнить
Для идентичных конфигураций используйте обработку «Выгрузка и загрузка данных XML» в толстом клиенте, для разных — правила конвертации данных. XML не заменяет резервную копию .dt. Всегда проверяйте целостность файла и сверяйте количество объектов после загрузки.
Частые вопросы
Можно ли выгрузить всю базу 1С в один XML-файл?
Технически да, если отметить все объекты метаданных в обработке выгрузки. Однако для большой базы это долго и требует много памяти и места на диске. Практичнее выгружать порциями или использовать .dt для полной копии.
Чем выгрузка в XML отличается от выгрузки в .dt?
Файл .dt — это полный образ информационной базы, включая настройки и пользователей, пригодный для восстановления. XML содержит только данные выбранных объектов и предназначен для переноса между базами, а не для резервного копирования.
Обработка не открывается в тонком клиенте. Что делать?
Классическая обработка «Выгрузка и загрузка данных XML» рассчитана на толстый клиент. Запустите базу в режиме толстого клиента либо используйте альтернативные инструменты: планы обмена или встроенные механизмы синхронизации конфигурации.
Почему после загрузки XML часть документов отсутствует?
Частые причины: различия версий конфигураций источника и приёмника, отбор по периоду при выгрузке, незаполненные обязательные реквизиты у объектов. Проверьте протокол загрузки — в нём перечислены пропущенные объекты и причины ошибок.
Можно ли выгружать данные в XML автоматически по расписанию?
Да. В клиент-серверном режиме настройте регламентное задание, которое формирует выгрузку через план обмена или программную сериализацию. В файловом режиме регламентные задания выполняются только при запущенном сеансе с соответствующими правами.
Как проверить XML-файл перед загрузкой в рабочую базу?
Откройте файл в редакторе и убедитесь в наличии закрывающего корневого тега, затем выполните тестовую загрузку в копию базы. Только после сверки количества объектов и корректности отчётов выполняйте загрузку в рабочую базу.