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

Отчеты и Аналитика · 10 мин

Как из 1С сохранить отчет в формате XML

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

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

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

Перед началом уточните у принимающей стороны требования: какая кодировка нужна (обычно UTF-8), какая схема XML (XSD) ожидается и какие поля обязательны. От этого зависит, подойдет ли простое сохранение или потребуется выгрузка по правилам.

Определите, какой именно XML вам нужен

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

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

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

Как выбрать способ

Нужно просто передать отчет в читаемом виде и XML указан как допустимый форматИспользуйте «Файл → Сохранить как» прямо из сформированного отчета
Файл должен соответствовать XSD-схеме контрагента или госорганаПрименяйте типовую выгрузку (например, отчетность) или обработку обмена, а не сохранение табличного документа
Нужно регулярно выгружать данные в свою систему по своей структуреНапишите или закажите внешнюю обработку с программной записью XML

Сохранение сформированного отчета через «Сохранить как»

Это самый простой сценарий, доступный без прав администратора и доработок. Он работает для любого отчета, который выводится на экран как табличный документ: оборотно-сальдовой ведомости, карточки счета, отчета по продажам и т. п.

Порядок действий
  1. 1
    Сформируйте отчет с нужными отборами и периодом
  2. 2
    Убедитесь, что результат выведен на экран полностью и без ошибок
  3. 3
    Откройте меню «Файл» (или кнопку с дискетой на панели инструментов) и выберите «Сохранить» / «Сохранить как»
  4. 4
    В диалоге сохранения выберите папку, имя файла и тип файла — если в списке есть XML-вариант (например, «Табличный документ XML» в поддерживающих конфигурациях), выберите его
  5. 5
    Если XML в списке отсутствует, сохраните в mxl или xlsx и преобразуйте дальше программно
  6. 6
    Откройте сохраненный файл текстовым редактором и проверьте, что это валидный XML

Важный нюанс: в типовых конфигурациях список форматов сохранения обычно включает MXL, XLSX, PDF, HTML, ODS и TXT, а «чистого» XML для произвольного отчета может не быть. Это нормально — табличный документ 1С хранит оформление, а не семантику данных, поэтому платформа не превращает его в произвольный XML одной кнопкой.

Если ваша цель — именно структурированные данные, а не картинка таблицы, переходите к способам из следующих разделов.

Выгрузка регламентированной отчетности в XML

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

Порядок такой: откройте сформированный регламентированный отчет, нажмите кнопку «Выгрузить» (обычно находится в верхней командной панели формы отчета). Программа проверит заполнение обязательных показателей и предложит сохранить XML-файл с именем по правилам приема (код налогового органа, ИНН, период). Этот файл можно загрузить в личный кабинет ФНС, программу подготовки отчетности или передать через оператора ЭДО.

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

Универсальный обмен данными в формате XML

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

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

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

Программная выгрузка отчета в XML

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

1c
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Отчеты\Отчет.xml", "UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Отчет");
Пока Выборка.Следующий() Цикл
    Запись.ЗаписатьНачалоЭлемента("Строка");
    Запись.ЗаписатьАтрибут("Контрагент", Строка(Выборка.Контрагент));
    Запись.ЗаписатьАтрибут("Сумма", Формат(Выборка.Сумма, "ЧРД=."));
    Запись.ЗаписатьКонецЭлемента();
КонецЦикла;
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();

Такой код обычно оформляют как внешнюю обработку с кнопкой «Выгрузить» — тогда пользователю не нужно ничего программировать, а файл формируется одним нажатием. Для сложных структур удобнее использовать объекты XDTO с подключенной схемой: платформа сама проверит соответствие типов.

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

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

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

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

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

Файл открывается в браузере
Норма

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

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

Браузер показывает ошибку парсинга с указанием строки

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

В объявлении XML указана UTF-8, кириллица читается корректно

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

Иероглифы или знаки вопроса вместо русских букв

Форматы чисел и дат
Норма

Разделитель дробной части и формат дат соответствуют требованиям получателя

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

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

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

Количество строк и итоговые суммы совпадают с отчетом на экране

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

Часть строк отсутствует или итоги не сходятся

Типичные ошибки
01
Сохранение в Excel и переименование файла в .xml — такой файл не является XML и будет отклонен
02
Выгрузка при нераскрытых группировках отчета — в файл попадает неполный набор строк
03
Игнорирование кодировки: файл в ANSI вместо UTF-8 ломает кириллицу у получателя
04
Ручная правка выгруженного файла без повторной валидации — незакрытый тег делает весь файл нечитаемым
05
Выгрузка без ограничения периода — огромный файл и долгое ожидание без практической пользы

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

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

Учитывайте и ограничения платформы: в файловых базах большие выгрузки могут заметно нагружать систему, а в клиент-серверном варианте файл сохраняется на сервере или клиенте в зависимости от того, где выполняется код — уточните это у администратора, если файл «не находится» после выгрузки.

Итог

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

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

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

Почему в списке форматов сохранения нет XML?

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

Можно ли сохранить отчет в XML без прав администратора?

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

Чем открыть и проверить полученный XML-файл?

Любым браузером — он покажет дерево элементов и сообщит об ошибке разбора, если структура нарушена. Для редактирования удобны текстовые редакторы с подсветкой синтаксиса, например Notepad++.

Файл выгрузился, но русские буквы отображаются иероглифами. Что делать?

Проблема в кодировке. Проверьте, что при записи указана UTF-8, а открываете файл программой, которая корректно определяет кодировку. Если файл уже создан в ANSI, пересохраните его в UTF-8 или сформируйте выгрузку заново с правильной кодировкой.

Как выгрузить в XML только часть данных отчета?

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