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

Автоматизация · 12 мин

Как настроить в 1С выгрузку в XML

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

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

Конкретный путь зависит от конфигурации (Бухгалтерия, Управление торговлей, ЗУП, самописная) и от того, что именно нужно выгрузить: разовый документ, справочник, отчёт в контролирующий орган или регулярный поток данных во внешнюю систему. Ниже разобраны основные сценарии с точными действиями, проверкой результата и типичными ошибками.

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

Определите, какой способ выгрузки подходит под вашу задачу

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

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

Маршрут решения

Как выбрать способ выгрузки

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

Выгрузка регламентированных отчётов и документов штатными средствами

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

Аналогично работают документы, участвующие в электронном документообороте: счета-фактуры, УПД, акты. В форме документа или в журнале обычно доступна команда «Выгрузить» или «Отправить по ЭДО», а в настройках обмена с контрагентами задаётся формат выгрузки. Для печатных форм без утверждённого XML-формата выгрузка ограничивается сохранением в табличный документ (MXL, Excel, PDF) — это не XML.

Универсальная выгрузка через обработку «Выгрузка и загрузка данных XML»

Для переноса данных между базами одной конфигурации (например, из рабочей базы в тестовую или из старой базы в новую) применяется типовая обработка «Выгрузка и загрузка данных XML». В типовых конфигурациях на платформе 8.3 она находится в разделе «Администрирование» либо подключается как внешняя обработка из состава дистрибутива.

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

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

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

Настройка регулярного обмена через планы обмена

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

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

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

Выгрузка по нестандартной схеме: конвертация данных и программный способ

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

Второй вариант — программная выгрузка средствами встроенного языка через объекты записи XML. Разработчик формирует документ последовательно: заголовок, элементы, атрибуты, значения. Такой способ даёт полный контроль над форматом и удобен для выгрузки каталогов, прайсов и выписок.

1c
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Обмен\catalog.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Каталог");
Запись.ЗаписатьНачалоЭлемента("Товар");
Запись.ЗаписатьАтрибут("Код", СокрЛП(Номенклатура.Код));
Запись.ЗаписатьТекст(Строка(Номенклатура.Наименование));
Запись.ЗаписатьКонецЭлемента();
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();

При программной выгрузке обязательно экранируйте специальные символы и задавайте корректную кодировку (обычно UTF-8), иначе файл с кириллицей или амперсандами в наименованиях не пройдёт разбор на стороне приёмника.

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

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

Сформированный файл стоит проверить до отправки. Минимальный контроль: файл открывается в браузере или текстовом редакторе без ошибок разбора, присутствует объявление XML с кодировкой, структура тегов соответствует ожидаемой схеме, данные (суммы, даты, ИНН, количество строк) совпадают с источником. Если приёмная система публикует XSD-схему, файл можно проверить валидатором — это выявит нарушения структуры до отправки.

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

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

Открытие файла в браузере или редакторе
Норма

Документ отображается как дерево элементов без сообщений об ошибке разбора

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

Ошибка синтаксического анализа — незакрытый тег или недопустимый символ

Кодировка и кириллица
Норма

Русские наименования читаются корректно

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

Вместо текста — кракозябры: неверная кодировка при записи

Полнота данных
Норма

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

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

Часть объектов отсутствует — проверьте отборы, права доступа и пометки удаления

Приём целевой системой
Норма

Файл загружается без ошибок или с понятными замечаниями по данным

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

Отказ из-за версии формата или обязательных тегов — сверьтесь со схемой приёмника

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

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

Ограничения и безопасные границы самостоятельной настройки

Разовые выгрузки штатными средствами и универсальной обработкой вполне доступны пользователю без программирования — при условии резервной копии и проверки результата. Настройка планов обмена тоже выполняется в пользовательском режиме, но требует понимания, какие данные должны передаваться, и контроля первых сеансов обмена.

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

Итог

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

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

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

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

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

Почему выгруженный XML не открывается в браузере?

Чаще всего причина в незакрытом теге, недопустимом символе (например, неэкранированном амперсанде в наименовании) или неверной кодировке. Откройте файл в текстовом редакторе с подсветкой XML — он покажет строку с ошибкой. При программной выгрузке проверьте, что каждый «ЗаписатьНачалоЭлемента» закрыт соответствующим «ЗаписатьКонецЭлемента».

Как выгружать данные в XML автоматически по расписанию?

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

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

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

Безопасно ли редактировать XML-файл вручную перед загрузкой?

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

Что делать, если после загрузки XML в другую базу появились дубли контрагентов?

Дубли возникают, когда объекты сопоставляются не по уникальному идентификатору, а по реквизитам поиска, и эти реквизиты не совпали. Проверьте настройки поиска в правилах обмена, заполненность ИНН и КПП у контрагентов. Для исправления используйте типовую обработку поиска и удаления дублей, предварительно сделав копию базы.