Администрирование · 11 мин
Как получить XML-файл из 1С
Способы получить XML-файл из 1С: выгрузка документов, справочников и отчетов через стандартные механизмы, обработки и встроенный язык. Пошаговые инструкции.
XML — основной формат обмена данными в экосистеме 1С. Через него выгружают документы для передачи контрагентам и в государственные системы, переносят справочники между базами, формируют отчетность для ФНС и обмениваются данными с сайтами, банками и другими программами. Получить XML-файл из 1С можно несколькими способами: штатной кнопкой выгрузки в документе, универсальными обработками, планами обмена или программно — через встроенный язык.
Выбор метода зависит от задачи. Если нужен один файл для налоговой или контрагента — достаточно стандартной команды «Выгрузить» в форме документа. Для регулярного переноса данных между базами используют универсальный обмен данными в формате XML. Для интеграции с внешними системами пишут процедуру выгрузки на встроенном языке или настраивают план обмена.
Ниже разобраны все рабочие сценарии: от простого сохранения одного документа до программной выгрузки произвольных данных. Инструкции ориентированы на конфигурации «Бухгалтерия предприятия», «Управление торговлей» и «1С:Предприятие» в целом, но принципы одинаковы для любой типовой конфигурации на управляемых формах.
Выгрузка XML из документа или отчета стандартной кнопкой
Во многих типовых документах и регламентированных отчетах есть встроенная команда выгрузки. В «1С:Бухгалтерии» откройте нужный документ (например, счет-фактуру или реализацию), нажмите кнопку «Ещё» и найдите пункт «Выгрузить» или «Выгрузить в XML». Программа предложит выбрать папку и сохранит файл с именем, включающим тип документа, номер и дату.
Регламентированная отчетность выгружается из раздела «Отчеты» → «Регламентированные отчеты». Откройте сформированный отчет, нажмите «Выгрузить» — система создаст XML-файл в формате, утвержденном ФНС. Именно такой файл принимают операторы электронной отчетности и личные кабинеты налогоплательщика.
- 1Откройте нужный документ или сформируйте отчет
- 2Нажмите «Ещё» и выберите команду «Выгрузить» или «Выгрузить в XML»
- 3Укажите папку для сохранения файла
- 4Откройте файл в браузере или блокноте и убедитесь, что структура читается
- 5Проверьте ключевые реквизиты: номер, дату, ИНН, суммы
Если команды «Выгрузить» в форме нет, значит, для данного объекта типовая выгрузка не предусмотрена. Это нормально: кнопка есть только там, где законодательно или методически определен формат обмена — счета-фактуры, УПД, декларации, отчеты в фонды. Для остальных объектов используйте способы из следующих разделов.
Универсальный обмен данными в формате XML
Обработка «Универсальный обмен данными в формате XML» — штатный инструмент для выгрузки любых объектов базы: справочников, документов, регистров. В типовых конфигурациях она находится в разделе «Администрирование» → «Перенос данных» или подключается как внешняя обработка (файл обычно поставляется с конфигурацией и на диске ИТС).
Принцип работы: вы загружаете правила обмена (XML-файл с описанием соответствия объектов), выбираете период и типы данных, указываете файл-приемник и запускаете выгрузку. Программа последовательно сериализует объекты в XML по заданным правилам.
Для простого переноса справочника между одинаковыми конфигурациями можно использовать правила конвертации идентичных объектов — их не нужно создавать вручную, обработка сформирует соответствие автоматически по именам метаданных. Для обмена между разными конфигурациями (например, из «Управления торговлей» в «Бухгалтерию») применяются готовые типовые правила, поставляемые с конфигурациями.
Получение XML через план обмена
Планы обмена подходят, когда XML-файлы нужны регулярно: например, ежедневная выгрузка заказов на сайт или синхронизация двух баз. В разделе «Администрирование» → «Настройки синхронизации данных» создайте новый обмен, выберите формат (универсальный формат EnterpriseData или обмен через XML) и укажите каталог для файлов.
После настройки программа при каждом сеансе обмена формирует XML-файл с зарегистрированными изменениями и помещает его в указанный каталог. Файлы имеют типовые имена вида Message_001_002.xml. Их можно забирать вручную, передавать по FTP или обрабатывать сторонним ПО.
Преимущество плана обмена — регистрация только изменений: в файл попадают не все данные, а лишь новые и отредактированные объекты. Это резко сокращает размер выгрузки. Недостаток — необходимость первоначальной настройки соответствия объектов, которая требует понимания структуры обеих систем.
Программная выгрузка в XML на встроенном языке
Когда стандартных средств недостаточно — нужен свой формат файла, выборка по сложному условию или автоматическая выгрузка по расписанию, — XML формируют программно. Основной инструмент — объект ЗаписьXML, который последовательно записывает элементы, атрибуты и текст в файл.
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Выгрузка\Товары.xml", "UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Товары");
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Запись.ЗаписатьНачалоЭлемента("Товар");
Запись.ЗаписатьАтрибут("Код", Строка(Выборка.Код));
Запись.ЗаписатьАтрибут("Наименование", Выборка.Наименование);
Запись.ЗаписатьКонецЭлемента();
КонецЦикла;
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();Для выгрузки целых объектов конфигурации со всей структурой удобнее объект СериализаторXDTO — он преобразует ссылочные объекты в XML автоматически, без ручного перебора реквизитов. Такой подход используют, когда файл затем загружается обратно в 1С.
Программную выгрузку обычно оформляют как внешнюю обработку или регламентное задание. Регламентное задание позволяет формировать XML по расписанию — например, каждую ночь выгружать остатки склада в файл на сетевом ресурсе. Учитывайте, что в файловой базе регламентные задания выполняются только при запущенном сеансе 1С.
Всегда указывайте кодировку UTF-8 при записи XML и экранируйте спецсимволы в текстовых значениях. Наименования товаров с амперсандом или кавычками без экранирования делают файл невалидным, и принимающая система его отклонит.
Выгрузка печатных форм и табличных документов
Отдельный сценарий — сохранение табличного документа (печатной формы, отчета на СКД) в формате XML. В форме табличного документа нажмите «Файл» → «Сохранить копию» и в списке типов файлов выберите «XML-документ». 1С сохранит структуру таблицы в собственном XML-формате табличного документа.
Такой файл пригоден для обмена между базами 1С и для программного разбора, но не соответствует отраслевым форматам. Если XML нужен для сторонней системы, ориентируйтесь на требования принимающей стороны: у банков, маркетплейсов и госорганов свои XSD-схемы, которым файл должен соответствовать.
Проверка результата и типичные ошибки
После выгрузки откройте файл в браузере или текстовом редакторе с поддержкой XML. Корректный файл начинается с объявления <?xml version="1.0" encoding="UTF-8"?>, содержит один корневой элемент и отображается в браузере в виде раскрывающегося дерева. Если браузер показывает ошибку разбора — файл поврежден или содержит неэкранированные символы.
Как проверить результат
Дерево элементов отображается без ошибок
Сообщение об ошибке разбора XML
Русский текст читается корректно
Крякозябры вместо кириллицы — неверная кодировка
Номера, даты, суммы совпадают с документом в 1С
Пустые значения или обрезанные строки
Файл проходит валидацию в принимающей системе
Ошибки форматно-логического контроля
Какой способ выбрать под свою задачу
Как выбрать действие
Для разовых операций не усложняйте: стандартная кнопка выгрузки решает задачу за минуту. Обработки и планы обмена оправданы при массовых и регулярных переносах. Программный способ — самый гибкий, но требует навыков работы со встроенным языком 1С и понимания структуры метаданных. Если навыков нет, а формат нестандартный, разумнее поручить доработку специалисту по 1С, чем экспериментировать на рабочей базе.
Частые вопросы
Можно ли получить XML из 1С без прав администратора?
Стандартная кнопка «Выгрузить» в документах обычно доступна обычным пользователям. А вот универсальные обработки, планы обмена и настройка синхронизации требуют прав администратора или специальных ролей. Если нужной команды нет в меню — уточните у администратора, не ограничен ли доступ настройками прав.
Чем открыть и проверить полученный XML-файл?
Подойдет любой браузер — он покажет структуру файла в виде дерева и сразу сообщит об ошибке разбора. Для редактирования удобнее Notepad++ или аналогичный редактор с подсветкой синтаксиса. Проверить соответствие официальной схеме можно валидацией по XSD в специализированных сервисах или в самой принимающей системе.
Почему в выгруженном файле иероглифы вместо русского текста?
Причина — несовпадение кодировки: файл записан в одной кодировке, а открывается в другой. Стандарт для обмена — UTF-8. При программной записи явно указывайте кодировку в методе ОткрытьФайл, а при открытии в редакторе принудительно выбирайте UTF-8.
Как выгрузить в XML сразу много документов за период?
Используйте обработку «Универсальный обмен данными в формате XML»: в ней задается период выгрузки и отбор по типам документов. Альтернатива — программная выгрузка с запросом по журналу документов и последовательной записью каждого объекта в файл.
Чем XML из плана обмена отличается от выгрузки документа?
Файл плана обмена содержит служебную шапку, номера сообщений и данные в универсальном формате 1С — он предназначен для загрузки в другую базу 1С. Выгрузка документа формируется по официальному формату (например, ФНС) и нужна для передачи в госорганы или контрагентам. Взаимозаменяемыми эти файлы не являются.
Можно ли настроить автоматическую выгрузку XML по расписанию?
Да, через регламентное задание с процедурой программной записи XML. В клиент-серверной базе задания выполняются на сервере автоматически; в файловой — только пока запущен сеанс 1С с включенным выполнением регламентных заданий. Также автоматически формируют файлы настроенные планы обмена.
Что важно запомнить
Одиночный документ выгружайте штатной кнопкой «Выгрузить», массовые данные — универсальной обработкой обмена, регулярный обмен — планом обмена, а нестандартные форматы — программно через ЗаписьXML. Всегда проверяйте кодировку UTF-8, валидность файла и делайте резервную копию перед экспериментами с обменом.