Экспорт отчетов из 1С:Предприятие в формат XML — стандартная задача для бухгалтеров, аналитиков и разработчиков, работающих с интеграцией систем. XML-универсальный язык разметки, который позволяет обмениваться структурированными данными между , государственными сервисами (например, ФНС или ПФР), банками, CRM-системами и другими программами. Однако не все пользователи знают, что в есть несколько способов сохранить отчет в XML — от простого ручного экспорта до автоматизированных скриптов.

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

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

📊 Как часто вы экспортируете отчеты из 1С в XML?
Ежедневно
Несколько раз в неделю
Редко, по необходимости
Никогда не пробовал

1. Экспорт отчета в XML через пользовательский интерфейс

Самый простой способ — сохранить отчет в XML непосредственно из окна просмотра. Этот метод не требует знания программирования и подходит для разовых задач. Рассмотрим пошаговую инструкцию на примере отчета "Оборотно-сальдовая ведомость":

  1. Сформируйте отчет. Откройте нужный отчет через меню Отчеты → Стандартные отчеты (или через раздел бухгалтерии/склада, в зависимости от конфигурации). Задайте период и параметры отбора, нажмите Сформировать.
  2. Экспортируйте данные. В открывшемся окне отчета найдите кнопку Ещё (или Действия в старых версиях) и выберите Сохранить как... или Экспорт....
  3. Выберите формат. В списке доступных форматов укажите XML (*.xml). При необходимости отметьте галочкой Сохранять настройки отчета, если хотите экспортировать не только данные, но и параметры формирования.
  4. Сохраните файл. Задайте имя файла (например, ОСВ_январь_2026.xml) и укажите папку для сохранения. Нажмите Сохранить.

Готовый файл будет содержать данные отчета в структурированном виде. Однако у этого метода есть ограничения:

  • 📌 Нет гибкой настройки структуры XML — экспортируются только те данные, которые отображаются в отчете на экране.
  • 📌 Отсутствует контроль над кодировкой — в редких случаях русские символы могут отображаться некорректно (решается пересохранением в UTF-8 через текстовый редактор).
  • 📌 Не поддерживаются сложные иерархические отчеты — например, многомерные аналитические выборки.
💡

Если в экспортированном XML вместо кириллицы отображаются знаки "???", откройте файл в Notepad++ и перекодируйте его в UTF-8 без BOM через меню Кодировки → Преобразовать в UTF-8.

2. Сохранение отчета в XML с помощью встроенного языка 1С

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

// Получаем объект отчета

Отчет = Отчеты.ОборотноСальдоваяВедомость.Создать();

// Задаем параметры (период, организация и т.д.)

Отчет.Период = ТекущаяДата();

Отчет.Организация = Справочники.Организации.НайтиПоНаименованию("ООО Ромашка");

// Формируем отчет в таблицу значений

ТаблицаДанных = Отчет.Сформировать();

// Создаем объект для записи XML

ЗаписьXML = Новый ЗаписьXML;

ЗаписьXML.ОткрытьФайл("C:\Отчеты\ОСВ_экспорт.xml", "UTF-8");

// Записываем заголовок XML

ЗаписьXML.ЗаписатьОбъявлениеXML();

ЗаписьXML.ЗаписатьНачалоЭлемента("ОтчетОСВ");

ЗаписьXML.ЗаписатьАтрибут("Дата", ТекущаяДата());

ЗаписьXML.ЗаписатьАтрибут("Организация", Отчет.Организация.Наименование);

// Записываем данные из таблицы

Для Каждого Строка Из ТаблицаДанных Цикл

ЗаписьXML.ЗаписатьНачалоЭлемента("Строка");

ЗаписьXML.ЗаписатьАтрибут("Счет", Строка.Счет);

ЗаписьXML.ЗаписатьАтрибут("СальдоНачальное", Строка.СальдоНачальное);

ЗаписьXML.ЗаписатьАтрибут("ОборотДебет", Строка.ОборотДебет);

ЗаписьXML.ЗаписатьАтрибут("ОборотКредит", Строка.ОборотКредит);

ЗаписьXML.ЗаписатьКонецЭлемента(); // Закрываем тег "Строка"

КонецЦикла;

ЗаписьXML.ЗаписатьКонецЭлемента(); // Закрываем тег "ОтчетОСВ"

ЗаписьXML.Закрыть();

Этот скрипт создает XML-файл со следующей структурой:

<?xml version="1.0" encoding="UTF-8"?>

<ОтчетОСВ Дата="2026-01-15" Организация="ООО Ромашка">

<Строка Счет="60.01" СальдоНачальное="10000" ОборотДебет="5000" ОборотКредит="3000"/>

<Строка Счет="62.01" СальдоНачальное="20000" ОборотДебет="8000" ОборотКредит="6000"/>

</ОтчетОСВ>

Преимущества программного экспорта:

  • 🔧 Гибкая настройка структуры — можно добавлять произвольные теги, атрибуты и вложенные элементы.
  • 🔄 Автоматизация — скрипт можно запускать по расписанию или привязать к кнопке в интерфейсе.
  • 📊 Фильтрация данных — перед экспортом можно отобрать только нужные строки (например, по организации или периоду).

Определите путь сохранения файла (проверьте права доступа)

Создайте резервную копию базы перед массовым экспортом

Проверьте кодировку (рекомендуется UTF-8)

Тестируйте скрипт на копии базы, а не на рабочей версии-->

3. Экспорт отчета в XML через внешние обработки

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

Обработка Назначение Особенности Где скачать
Универсальный экспорт в XML Экспорт любых отчетов и справочников Поддерживает XSD-схемы, настройку шаблонов Инфостарт, 1С-Софт
Выгрузка данных для ФНС Формирование XML для налоговой отчетности Автоматическая проверка на ошибки Официальный каталог 1С
Обмен с банками Экспорт платежных поручений в XML Поддерживает форматы СБП, SWIFT Партнерские решения

Как подключить внешнюю обработку:

  1. Скачайте файл обработки (.epf или .erf) с проверенного источника (например, Инфостарт или официальный сайт ).
  2. В откройте меню Файл → Открыть... и выберите скачанный файл.
  3. Запустите обработку и следуйте инструкциям на экране. Обычно требуется указать отчет для экспорта, путь сохранения и параметры XML.

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

Как проверить обработку на безопасность?

Перед подключением откройте файл .epf в текстовом редакторе и поищите подозрительные команды (например, ВыполнитьКоманду с внешними ссылками). Также можно использовать антивирусные сканеры для 1С, такие как 1C:AntiVirus или Dr.Web для 1С.

4. Настройка структуры XML: XSD-схемы и пространства имен

Если экспортированный XML будет использоваться для обмена с внешними системами (например, Госуслуги, СберБизнес или Контур.Диадок), его структура должна соответствовать определенным стандартам. Для этого применяются XSD-схемы — файлы, описывающие правила формирования XML.

Пример XSD-схемы для простого отчета:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="ОтчетОСВ">

<xs:complexType>

<xs:sequence>

<xs:element name="Строка" maxOccurs="unbounded">

<xs:complexType>

<xs:attribute name="Счет" type="xs:string" use="required"/>

<xs:attribute name="СальдоНачальное" type="xs:decimal"/>

<xs:attribute name="ОборотДебет" type="xs:decimal"/>

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="Дата" type="xs:date" use="required"/>

</xs:complexType>

</xs:element>

</xs:schema>

Чтобы привязать XSD к экспортируемому XML, добавьте в код следующие строки:

ЗаписьXML.ЗаписатьОбъявлениеXML();

ЗаписьXML.ЗаписатьНачалоЭлемента("ОтчетОСВ");

ЗаписьXML.ЗаписатьАтрибут("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");

ЗаписьXML.ЗаписатьАтрибут("xsi:noNamespaceSchemaLocation", "ОСВ.xsd");

Это укажет, что XML соответствует схеме ОСВ.xsd, лежащей в той же папке. Если структура XML не совпадает со схемой, внешняя система (например, банк) откажет в приеме файла.

💡

Использование XSD-схем обязательно при обмене с государственными системами (ФНС, ПФР, Росстат). Без валидации по схеме файл может быть отклонен с ошибкой "Несоответствие структуре".

5. Типичные ошибки при экспорте отчетов в XML и их решения

Даже опытные пользователи сталкиваются с проблемами при сохранении отчетов в XML. Рассмотрим самые распространенные ошибки и способы их устранения:

Ошибка Причина Решение
Файл XML пустой или содержит только заголовок Отчет не сформирован или данные не выбраны Проверьте параметры отчета (период, организацию, отборы). Запустите формирование заново.
Русские символы отображаются как "???" Некорректная кодировка (например, Windows-1251 вместо UTF-8) Укажите кодировку явно: ЗаписьXML.ОткрытьФайл(..., "UTF-8"). Пересохраните файл в Notepad++.
Ошибка "Нет прав на запись в файл" Ограничения операционной системы или антивируса Сохраняйте файл в папку с полными правами (например, C:\Temp). Отключите антивирус на время экспорта.
XML не проходит валидацию во внешней системе Несоответствие структуры XSD-схеме Проверьте XML через валидаторы (например, XML Validator). Сравните со схемой.

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

  • 🔹 Используйте внешние облачные хранилища (Яндекс.Диск, Google Drive), подключенные к 1С:Фреш.
  • 🔹 Настройте автоматическую отправку XML по email через встроенные механизмы.
  • 🔹 Обратитесь в поддержку для расширения прав доступа (требуется корпоративный тариф).
💡

Чтобы быстро проверить XML на ошибки, используйте онлайн-сервисы вроде XML Validation (https://www.xmlvalidation.com/). Загрузите файл и укажите XSD-схему (если есть) для автоматической проверки.

6. Автоматизация экспорта: расписания и регламентные задания

Если отчеты нужно экспортировать в XML регулярно (например, ежедневно или по окончании месяца), целесообразно настроить регламентные задания. Это позволит избежать рутинных действий и снизит риск ошибок.

Инструкция по настройке регламентного задания:

  1. Откройте Администрирование → Поддержка и обслуживание → Регламентные задания.
  2. Создайте новое задание с типом Выполнение кода.
  3. В поле Код вставьте скрипт экспорта (см. раздел 2). Замените пути и параметры на актуальные.
  4. Укажите расписание (например, Ежедневно в 23:00).
  5. Сохраните задание и включите его выполнение.

Для более сложных сценариев (например, экспорт нескольких отчетов с последующей отправкой по email) можно использовать внешние планировщики, такие как:

  • 🕒 Планировщик задач Windows — для запуска 1С:Предприятие в фоновом режиме.
  • ⚙️ 1С:Рарус — специализированное решение для автоматизации обменов.
  • ☁️ 1С:Link — облачный сервис интеграции.

При автоматизации учитывайте:

⚠️ Внимание: Регламентные задания в выполняются от имени пользователя, который их создал. Если этот пользователь будет удален или лишен прав, задания перестанут работать. Рекомендуется создавать отдельного технического пользователя с минимальными правами только на экспорт данных.

7. Альтернативные форматы: JSON, XLSX, PDF

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

Формат Когда использовать Преимущества Недостатки
JSON Обмен с веб-сервисами, мобильными приложениями Компактный, легко парсится в JavaScript/Python Не поддерживает схемы валидации (в отличие от XML)
XLSX (Excel) Ручной анализ данных, презентации Удобно для визуализации, поддержка формул Большой размер файла, сложно автоматизировать
PDF Официальные документы, архивное хранение Сохраняет форматирование, защищен от изменений Нельзя редактировать или импортировать обратно
CSV Импорт в другие программы (например, 1С:ЗУП) Простота, совместимость с большинством систем Нет структуры, проблемы с кодировкой

Чтобы экспортировать отчет в JSON, замените в коде ЗаписьXML на ЗаписьJSON:

ЗаписьJSON = Новый ЗаписьJSON;

ЗаписьJSON.ОткрытьФайл("C:\Отчеты\ОСВ.json");

ЗаписьJSON.ЗаписатьНачалоОбъекта();

ЗаписьJSON.ЗаписатьЗначение("Дата", ТекущаяДата());

ЗаписьJSON.ЗаписатьНачалоМассива("Строки");

Для Каждого Строка Из ТаблицаДанных Цикл

ЗаписьJSON.ЗаписатьНачалоОбъекта();

ЗаписьJSON.ЗаписатьЗначение("Счет", Строка.Счет);

ЗаписьJSON.ЗаписатьЗначение("Сальдо", Строка.СальдоНачальное);

ЗаписьJSON.ЗаписатьКонецОбъекта();

КонецЦикла;

ЗаписьJSON.ЗаписатьКонецМассива();

ЗаписьJSON.ЗаписатьКонецОбъекта();

ЗаписьJSON.Закрыть();

Результат:

{

"Дата": "2026-01-15",

"Строки": [

{"Счет": "60.01", "Сальдо": 10000},

{"Счет": "62.01", "Сальдо": 20000}

]

}

FAQ: Частые вопросы по экспорту отчетов в XML

Можно ли экспортировать в XML отчет с группировками и иерархией?

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

Процедура ЗаписатьГруппу(ЗаписьXML, Группа)

ЗаписьXML.ЗаписатьНачалоЭлемента("Группа");

ЗаписьXML.ЗаписатьАтрибут("Наименование", Группа.Наименование);

Для Каждого Элемент Из Группа.Элементы Цикл

Если Элемент.ЭтоГруппа Тогда

ЗаписатьГруппу(ЗаписьXML, Элемент);

Иначе

ЗаписьXML.ЗаписатьНачалоЭлемента("Строка");

ЗаписьXML.ЗаписатьАтрибут("Счет", Элемент.Счет);

ЗаписьXML.ЗаписатьКонецЭлемента();

КонецЕсли;

КонецЦикла;

ЗаписьXML.ЗаписатьКонецЭлемента();

КонецПроцедуры

Как экспортировать отчет в XML с цифровой подписью?

Для добавления электронной подписи (ЭП) в XML используйте криптографические библиотеки , такие как ПодписьXML. Пример:

Подпись = Новый ПодписьXML;

Подпись.УстановитьСертификат(Сертификат);

Подпись.ПодписатьФайл("C:\Отчеты\ОСВ.xml", "C:\Отчеты\ОСВ_подписанный.xml");

Сертификат должен быть загружен в заранее через Администрирование → Настройки программы → Сертификаты.

Почему при экспорте в XML теряются десятичные разряды (например, 1000.50 становится 1000)?summary>

Это связано с настройками точности чисел в . Перед экспортом явно укажите формат:

ЗаписьXML.ЗаписатьАтрибут("Сумма", Формат(Строка.Сумма, "ЧДЦ=2; ЧРД=."));

Где ЧДЦ=2 — количество знаков после запятой, ЧРД=. — разделитель.

Можно ли экспортировать в XML данные из нескольких отчетов в один файл?

Да, для этого:

  1. Сформируйте каждый отчет отдельно и сохраните данные в ТаблицуЗначений.
  2. Объедините таблицы с помощью ОбъединитьТаблицы().
  3. Экспортируйте объединенные данные в XML по общей схеме.

Пример объединения двух отчетов:

Таблица1 = Отчет1.Сформировать();

Таблица2 = Отчет2.Сформировать();

ОбъединеннаяТаблица = Новый ТаблицаЗначений;

ОбъединеннаяТаблица.Колонки.Добавить("Данные", Новый ОписаниеТипов("Строка"));

// Добавляем данные из обоих отчетов

...

Как проверить, что XML-файл соответствует требованиям ФНС?

Используйте официальный валидатор ФНС (доступен на сайте nalog.ru в разделе "Электронная отчетность"). Также можно:

  • 🔍 Проверить XML через Контур.Диадок (есть бесплатный тестовый режим).
  • 📋 Воспользоваться обработкой "Проверка XML для ФНС" из каталога .
  • 📧 Отправить тестовый файл в личный кабинет налогоплательщика и дождаться ответа системы.
⚠️ Внимание: Требования ФНС к структурам XML могут меняться ежеквартально. Всегда сверяйтесь с актуальными схемами на сайте налоговой службы перед отправкой отчетности.