Документы и Печать · 11 мин
Как в 1С выгрузить акт сверки в формате XML
Пошаговая инструкция по выгрузке акта сверки взаиморасчётов из 1С в XML: типовые средства, обработки, универсальный обмен, проверка файла и типичные ошибки.
Акт сверки взаиморасчётов — один из самых часто запрашиваемых документов: контрагенты, аудиторы и банки нередко просят его не на бумаге, а в машиночитаемом виде. Формат XML удобен тем, что данные из него можно загрузить в другую учётную систему, сверить программно или передать через оператора ЭДО. В 1С выгрузить акт сверки в XML можно несколькими способами — от встроенных механизмов обмена до специализированных обработок.
Важно сразу понимать: в типовых конфигурациях (1С:Бухгалтерия 8, Управление торговлей 11, Комплексная автоматизация, ERP) нет отдельной кнопки «Сохранить акт сверки в XML». Кнопка «Сохранить как» в форме печати сохраняет табличный документ в форматах MXL, XLSX, PDF, ODS, HTML — но не в структурированный XML с данными. Поэтому задача решается либо через механизмы обмена данными, либо через выгрузку печатной формы в электронный документ, либо через обработку, которая сериализует данные документа.
Ниже разобраны рабочие варианты для типовых конфигураций на управляемых формах, условия их применения и способы проверить, что полученный файл действительно содержит нужные данные.
Что именно нужно выгрузить: данные документа или печатную форму
Перед выгрузкой определите, какой результат требуется получателю. «Акт сверки в XML» может означать две разные вещи: структурированные данные документа (контрагент, период, таблица операций, сальдо) или электронный образ печатной формы, который визуально совпадает с бумажным актом.
Для загрузки в другую учётную систему нужен первый вариант — данные. Для передачи через ЭДО или для архива чаще достаточно электронного документа, который содержит и XML-описание, и визуальное представление. От этого выбора зависит инструмент: обмен данными выгружает содержимое документа, а механизм ЭДО формирует формализованный документ по печатной форме.
Как выбрать способ выгрузки
Способ 1: выгрузка через механизм ЭДО
Если в конфигурации включён обмен электронными документами, акт сверки можно отправить контрагенту как электронный документ, а его XML-составляющую — сохранить локально. В 1С:Бухгалтерии 8 акт сверки создаётся в разделе «Покупки» или «Продажи» → «Акты сверки расчётов с контрагентами» (в зависимости от версии расположение может отличаться).
Откройте сформированный акт, нажмите кнопку «ЭДО» (или «Отправить по ЭДО»). Программа сформирует электронный документ на основании печатной формы. Далее в карточке электронного документа доступна команда сохранения файла на диск — так вы получите XML-файл формализованного документа, который можно передать любым каналом, не только через оператора.
Условия применения способа: должен быть настроен и активен обмен электронными документами, у пользователя — права на работу с ЭДО. Если ЭДО в базе не используется, этот путь недоступен, и нужно переходить к обмену данными или обработкам.
Способ 2: универсальный обмен данными в XML
Обработка «Универсальный обмен данными в формате XML» — штатный инструмент фирмы «1С» для выгрузки объектов базы в XML по правилам обмена. Она подходит, когда нужно выгрузить сам документ «Акт сверки» как объект со всеми реквизитами и табличными частями.
Обработка поставляется в комплекте типовых конфигураций и доступна на диске ИТС. В некоторых конфигурациях она встроена в интерфейс (раздел «Администрирование» → «Обмены данными» или сервисные обработки). Для работы потребуются правила обмена между одинаковыми конфигурациями — их можно сформировать через настройку синхронизации данных или взять типовые.
- 1Откройте обработку «Универсальный обмен данными в формате XML» (файлом или из интерфейса конфигурации)
- 2Загрузите правила обмена, соответствующие вашей конфигурации
- 3На закладке выгрузки отметьте объект «Акт сверки расчетов с контрагентом» (или аналогичный документ вашей конфигурации)
- 4Настройте отбор: укажите период и конкретный документ или контрагента
- 5Укажите имя файла выгрузки и нажмите «Выгрузить данные»
- 6Откройте полученный XML в текстовом редакторе и проверьте наличие данных документа
Признак успешной выгрузки — файл ненулевого размера, внутри которого видны узлы с данными документа: ссылка, дата, контрагент, строки табличной части с суммами и документами расчётов. Если в файле только служебный заголовок без объектов — отбор не сработал, и нужно проверить настройки периода и отмеченные правила.
Способ 3: внешние обработки и самостоятельная выгрузка
Когда нужен XML строго определённой структуры — например, по шаблону контрагента или банка — типовых средств может не хватить. Тогда используют внешнюю обработку, которая программно формирует XML из данных документа. Готовые обработки выгрузки акта сверки встречаются на профильных ресурсах для 1С-специалистов; перед использованием их следует проверить на копии базы.
Программный вариант доступен и без готовой обработки: разработчик может сериализовать данные документа штатными средствами платформы. Для выгрузки в произвольный XML используется объект «ЗаписьXML», а для выгрузки объекта «как есть» — запись через механизм XDTO или функцию сериализации.
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Temp\AktSverki.xml");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("АктСверки");
Запись.ЗаписатьАтрибут("Номер", Строка(Документ.Номер));
Запись.ЗаписатьАтрибут("Дата", Формат(Документ.Дата, "ДФ=yyyy-MM-dd"));
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();Пример выше формирует простейший файл с реквизитами документа. В реальной выгрузке внутрь добавляют цикл по табличной части с записями операций, сальдо на начало и конец периода, реквизиты договора и организации. Такой код выполняется через внешнюю обработку или консоль кода — только пользователем с достаточными правами.
Как проверить полученный XML-файл
После выгрузки обязательно откройте файл и убедитесь, что он содержит то, что ожидает получатель. XML можно просмотреть в любом текстовом редакторе или браузере: браузер дополнительно покажет ошибку, если структура файла нарушена (незакрытый тег, некорректные символы).
Сверьте ключевые данные с печатной формой акта: период сверки, наименование контрагента, итоговое сальдо и количество строк операций. Расхождение на этом этапе означает, что выгрузился не тот документ или сработал неполный отбор.
Как проверить результат
Структура отображается без сообщений об ошибке XML
Браузер сообщает об ошибке разбора — файл повреждён или записан не полностью
Сальдо и обороты совпадают с печатной формой акта
Суммы отличаются или отсутствуют — выгружен не тот документ или пустая табличная часть
Указаны организация и контрагент с ИНН/КПП
Получатель не сможет идентифицировать стороны сверки
UTF-8, русские наименования читаются корректно
Символы отображаются «кракозябрами» — проблема с кодировкой при записи
Типичные ошибки и ограничения
Самая частая ошибка — попытка найти XML в списке форматов команды «Сохранить как» у печатной формы. Табличный документ в XML не сохраняется: предлагаемые форматы хранят внешний вид, а не структуру данных. Даже сохранение в Excel не даёт XML — это бинарный или пакетный формат Office.
Вторая ошибка — выгрузка документа без проверки его проведённости и заполненности. Если акт сверки не проведён или табличная часть не заполнена (некоторые конфигурации заполняют её кнопкой «Заполнить» по данным учёта), в файле окажется пустой или неполный набор данных. Перед выгрузкой откройте документ и убедитесь, что данные сверки присутствуют.
Третья группа проблем связана с правами. Выгрузка данных и работа с ЭДО требуют соответствующих прав; при их отсутствии команды будут недоступны или выгрузка завершится ошибкой доступа. В этом случае операцию должен выполнить пользователь с полными правами или администратор.
Альтернативы, если XML не обязателен
Перед тем как настраивать выгрузку в XML, уточните у получателя, действительно ли нужен именно этот формат. На практике запрос «пришлите акт в электронном виде» часто означает PDF или Excel, которые сохраняются из формы печати в один клик: «Файл» → «Сохранить как» или кнопка сохранения на панели печатной формы.
Если цель — сверить расчёты программно, иногда проще обменяться файлами Excel: табличную часть акта можно скопировать или сохранить, а получатель загрузит её своей обработкой. XML оправдан, когда у сторон согласован формат обмена или документ передаётся через ЭДО.
Сравнение вариантов выгрузки
Подходит для юридически значимой передачи контрагенту; требует настроенного обмена электронными документами
Выгружает документ как объект базы для загрузки в другую 1С; нужны правила обмена и понимание структуры конфигурации
Даёт XML произвольной структуры под требования получателя; требует разработки и тестирования на копии базы
Быстрый вариант для человека, а не для системы; не подходит для программной загрузки данных
Частые вопросы
Почему в списке форматов сохранения печатной формы нет XML?
Команда «Сохранить как» сохраняет табличный документ — то есть внешний вид печатной формы. Платформа 1С поддерживает для него форматы MXL, Excel, PDF, HTML и ряд других, но не XML с данными документа. Для выгрузки данных используются механизмы обмена, ЭДО или обработки.
Можно ли выгрузить акт сверки в XML без прав администратора?
Формирование электронного документа через ЭДО доступно обычному пользователю с правами на ЭДО. Универсальный обмен данными и запуск внешних обработок, как правило, требуют расширенных прав — в типовых конфигурациях эти функции скрыты у рядовых пользователей. Если команда недоступна, обратитесь к администратору базы.
Чем отличается XML из ЭДО от XML универсального обмена?
XML из ЭДО описывает электронный документ по согласованному формату (печатная форма плюс структурированные реквизиты) и предназначен для передачи контрагенту. XML универсального обмена описывает объект информационной базы — со ссылками, GUID и структурой конкретной конфигурации — и предназначен для загрузки в аналогичную 1С.
Получатель открыл файл, а там иероглифы вместо русских букв. Что делать?
Проблема в кодировке. Проверьте, что файл записан в UTF-8 (в объявлении XML должно быть encoding="UTF-8"). Если обработка пишет в другой кодировке, откройте файл в редакторе с поддержкой смены кодировки и пересохраните в UTF-8, либо скорректируйте параметры записи в обработке.
Можно ли выгрузить сразу все акты сверки за период одним файлом?
Да, в универсальном обмене данными отбор настраивается по периоду, и в файл попадут все документы, удовлетворяющие условиям. Для ЭДО каждый акт формируется отдельным электронным документом — пакетная выгрузка там не предусмотрена. Внешней обработкой можно реализовать любой вариант группировки.
Обязательно ли тестировать обработку на копии базы?
Настоятельно рекомендуется. Обработка выполняется с полным доступом к данным, и ошибка в коде может изменить или удалить учётные записи. Копия базы создаётся через выгрузку информационной базы в конфигураторе или средствами СУБД, а тест на копии занимает немного времени по сравнению с восстановлением данных.
Что важно запомнить
Прямой выгрузки акта сверки в XML из печатной формы нет: используйте ЭДО, универсальный обмен данными или обработку. Перед отправкой проверьте файл — суммы, реквизиты сторон и кодировку должны совпадать с печатной формой. Сторонние обработки запускайте только на копии базы.