Администрирование · 11 мин
Как из 1С выгрузить XML-файл
Как выгрузить XML-файл из 1С: типовые способы через «Выгрузить в файл», обмен данными, обработки и встроенный язык. Проверка результата, ошибки и FAQ.
Выгрузка данных в XML — одна из самых частых задач в 1С: файл требуется для обмена между базами, передачи сведений в контролирующие органы, загрузки каталога на сайт или миграции данных в другую систему. Способ выгрузки зависит от того, что именно нужно получить: отдельный документ, справочник, отчёт, печатную форму или целый пакет данных по правилам обмена.
В типовых конфигурациях (Бухгалтерия, Управление торговлей, ЗУП и другие) механизмы выгрузки уже встроены, и в большинстве случаев программировать ничего не нужно. Для нестандартных задач используются универсальные обработки или короткий код на встроенном языке. Ниже разобраны все рабочие сценарии — от простого сохранения документа до выгрузки через план обмена.
Перед любыми массовыми выгрузками убедитесь, что у вас есть актуальная резервная копия базы и права на выполнение операции. Сама выгрузка данные не изменяет, но сопутствующие действия — например, пометка объектов как выгруженных или последующая загрузка в другую базу — могут повлиять на учёт.
Определяем, что именно нужно выгрузить
Формат и способ выгрузки напрямую зависят от цели. Если файл нужен контрагенту или в другую базу 1С той же конфигурации — подойдёт стандартный обмен. Если данные передаются на сайт, в стороннюю программу или в налоговую — потребуется файл определённой структуры, и здесь важно заранее узнать требования принимающей стороны: версию формата, обязательные поля, кодировку.
Отдельно стоит задача выгрузки отчётности: декларации и расчёты выгружаются в XML строго по утверждённым форматам, и делать это нужно только через штатный механизм регламентированной отчётности — самодельный файл инспекция не примет.
Как выбрать способ выгрузки
Выгрузка документа или справочника из формы объекта
Самый простой сценарий доступен в большинстве типовых конфигураций на управляемых формах. Откройте нужный документ или элемент справочника, нажмите кнопку «Ещё» в командной панели и выберите пункт «Выгрузить» (в некоторых конфигурациях — «Выгрузить в XML» или «Сохранить в файл»). Программа предложит указать папку и имя файла, после чего сформирует XML.
Если нужно выгрузить сразу несколько объектов, откройте список, выделите строки с зажатой клавишей Ctrl или Shift, затем через «Ещё» выберите команду выгрузки. Обратите внимание: состав выгружаемых данных определяется настройками конфигурации — вместе с документом часто выгружаются связанные объекты (контрагент, договор, номенклатура), чтобы файл был самодостаточным при загрузке.
- 1Откройте документ или элемент справочника
- 2Нажмите «Ещё» в командной панели формы
- 3Выберите «Выгрузить» или «Выгрузить в XML»
- 4Укажите папку и имя файла, подтвердите сохранение
- 5Откройте полученный файл в браузере или редакторе и проверьте содержимое
Выгрузка через обработку «Выгрузка и загрузка данных XML»
Когда штатной команды недостаточно — например, нужно перенести данные между базами с одинаковой конфигурацией — используется универсальная обработка «Выгрузка и загрузка данных XML». Она входит в состав многих типовых решений, а также доступна на диске ИТС и в поставке конфигураций. Открывается через «Файл» → «Открыть» в режиме предприятия.
В обработке на закладке «Выгрузка» укажите имя файла, период отборов и отметьте флажками объекты метаданных: документы, справочники, регистры сведений. Доступен отбор по организации, дате и другим условиям. После нажатия «Выгрузить данные» программа сформирует файл, в который попадут выбранные объекты вместе со связанными ссылками.
Важное ограничение: загружать такой файл можно только в базу с идентичной структурой метаданных — той же конфигурации и совместимой версии. При несовпадении структуры загрузка завершится ошибками или приведёт к потере части данных.
Выгрузка через план обмена и синхронизацию данных
Для регулярного обмена между базами — например, между Управлением торговлей и Бухгалтерией — в типовых конфигурациях предусмотрена синхронизация данных. Настройка выполняется в разделе «Администрирование» → «Синхронизация данных» (название раздела может отличаться в зависимости от конфигурации). Программа предложит создать настройку обмена, указать префикс базы, состав выгружаемых данных и способ транспорта: через каталог, FTP или прямое подключение.
При выборе обмена через каталог результатом каждого сеанса синхронизации будет XML-файл (обычно с именем вида Message_Префикс1_Префикс2.xml), который сохраняется в указанной папке. Этот файл содержит только изменённые с момента прошлого обмена объекты, что существенно экономит время и объём.
Если задача разовая, план обмена настраивать необязательно — достаточно универсальной обработки. Но при регулярном обмене синхронизация удобнее: она ведёт учёт выгруженных изменений и умеет разрешать коллизии при одновременном редактировании данных в обеих базах.
Выгрузка отчётности и печатных форм в XML
Регламентированная отчётность выгружается из формы самого отчёта. Откройте нужную декларацию или расчёт, убедитесь, что все разделы заполнены и проверены, затем нажмите кнопку «Выгрузить» в командной панели. Программа сформирует файл в утверждённом формате — его имя, как правило, формируется автоматически по правилам формата и менять его не следует.
Перед выгрузкой выполните встроенную проверку отчёта (кнопка «Проверка» → «Проверить выгрузку»). Она покажет ошибки заполнения: отсутствующие реквизиты, нарушения контрольных соотношений. Файл с ошибками с высокой вероятностью будет отклонён приёмной системой.
Печатные формы документов и табличные документы сохраняются иначе: через «Файл» → «Сохранить как» табличный документ можно записать в формате MXL, Excel или PDF. Это не XML-выгрузка данных — такой файл пригоден для просмотра и печати, но не для загрузки в другую программу.
Как проверить результат выгрузки
XML открывается в браузере или редакторе как дерево элементов без сообщений об ошибке разбора
Редактор сообщает об ошибке синтаксиса — файл оборван или повреждён
Русские символы отображаются корректно, в объявлении указана кодировка UTF-8 или windows-1251
Вместо кириллицы — нечитаемые символы
В файле присутствуют все ожидаемые объекты и обязательные реквизиты
Часть документов или полей отсутствует — проверьте отборы и права доступа
Файл проходит проверку в целевой системе или загружается в базу-приёмник без ошибок
Приёмник отклоняет файл — сверьте версию формата и обязательные поля
Выгрузка XML программно на встроенном языке
Для нестандартных форматов — например, выгрузки каталога товаров по требованиям конкретной площадки — пишется собственная выгрузка на встроенном языке 1С. Базовый механизм прост: создаётся объект записи XML, в который последовательно записываются элементы и атрибуты, затем результат сохраняется в файл.
ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.ОткрытьФайл("C:\Обмен\Товары.xml", "UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ЗаписьXML.ЗаписатьНачалоЭлемента("Товары");
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
ЗаписьXML.ЗаписатьНачалоЭлемента("Товар");
ЗаписьXML.ЗаписатьАтрибут("Код", Строка(Выборка.Код));
ЗаписьXML.ЗаписатьТекст(Строка(Выборка.Наименование));
ЗаписьXML.ЗаписатьКонецЭлемента();
КонецЦикла;
ЗаписьXML.ЗаписатьКонецЭлемента();
ЗаписьXML.Закрыть();Для сериализации объектов целиком (документ со всеми табличными частями и ссылками) удобнее использовать объект XDTO или функции сериализации — они формируют XML в формате, понятном другой базе 1С, без ручного перебора реквизитов. Ручная запись, как в примере выше, нужна именно тогда, когда структуру файла диктует внешняя система.
Такую доработку разумно делать через внешнюю обработку или расширение конфигурации, не изменяя типовой код — тогда обновления конфигурации не затронут ваш механизм.
Перед написанием собственной выгрузки проверьте, нет ли готового механизма в конфигурации: многие типовые решения уже умеют выгружать каталог в формате CommerceML, прайсы, электронные документы (УПД, счета-фактуры) и данные для маркетплейсов. Доработка оправдана только если штатный формат не подходит.
Типичные ошибки и ограничения
Чаще всего проблемы возникают не на этапе формирования файла, а при его использовании. Типичная ситуация: файл выгружен, но принимающая система его отклоняет, потому что выгрузка сделана не в том формате или не той версии. Всегда заранее запрашивайте у принимающей стороны описание формата или образец файла.
Вторая группа проблем связана с правами доступа. Если у пользователя нет прав на часть данных, выгрузка может пройти без ошибок, но файл окажется неполным — без сообщений об этом. Проверяйте результат, особенно при выгрузке под пользователем с ограниченной ролью.
Что важно запомнить
Для разовой выгрузки используйте команду «Ещё» → «Выгрузить» в форме объекта, для переноса между базами — обработку «Выгрузка и загрузка данных XML», для регулярного обмена — синхронизацию данных, а отчётность выгружайте только из формы отчёта. Всегда проверяйте полученный файл и согласовывайте формат с принимающей стороной.
Частые вопросы о выгрузке XML из 1С
Можно ли выгрузить в XML весь справочник целиком?
Да. Откройте список справочника, выделите все элементы (Ctrl+A) и используйте команду выгрузки из меню «Ещё», либо воспользуйтесь обработкой «Выгрузка и загрузка данных XML», отметив нужный вид справочника флажком. Второй способ надёжнее при большом объёме — он выгружает объекты со всеми реквизитами и связями.
Чем открыть и проверить выгруженный XML-файл?
Любой современный браузер откроет XML в виде дерева элементов и покажет ошибку разбора, если файл повреждён. Для просмотра и редактирования удобны Notepad++ или аналогичные редакторы с подсветкой синтаксиса. В самой 1С файл можно прочитать через объект ЧтениеXML.
Почему в выгруженном файле нечитаемые русские буквы?
Проблема в кодировке: файл записан в одной кодировке (например, UTF-8), а открывается в другой. Откройте файл в редакторе, который умеет определять кодировку, или явно переключите её. При программной выгрузке указывайте кодировку во втором параметре метода ОткрытьФайл — чаще всего подходит UTF-8.
Как выгрузить данные из 1С для загрузки на сайт?
В конфигурациях с торговлей обычно есть штатный обмен с сайтом в формате CommerceML — ищите его в разделе интеграции или CRM/Продажи. Если сайт требует свой формат, запросите у разработчиков сайта спецификацию и реализуйте выгрузку через внешнюю обработку на встроенном языке.
Нужны ли права администратора для выгрузки XML?
Для выгрузки отдельных документов из формы достаточно обычных прав на чтение этих объектов. Административные права нужны для настройки планов обмена, синхронизации данных и работы с универсальными обработками, которые обращаются ко всем метаданным конфигурации.
Что делать, если при загрузке XML в другую базу возникают ошибки?
Сначала убедитесь, что конфигурации и их версии в обеих базах совпадают — это самая частая причина. Затем посмотрите текст ошибки: сообщения о нарушении уникальности указывают на дубли элементов, а ошибки формата — на несовместимость структуры файла. Все эксперименты с загрузкой проводите на копии базы.