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