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

Документы и Печать · 9 мин

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

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

Печатная форма в 1С — это табличный документ, который программа формирует по данным объекта: счёта, накладной, приказа или отчёта. По умолчанию сохранение предлагается в форматах MXL, PDF, Excel и других, а XML в списке форматов отсутствует или требует отдельных действий. При этом именно XML часто нужен для обмена с внешними системами, загрузки в ЭДО, проверки структуры макета или автоматической обработки данных.

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

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

Что именно вы хотите получить: определяемся с задачей

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

Если файл нужен для передачи в налоговую, оператору ЭДО или загрузки в другую учётную систему, требуется строгая структура по XSD-схеме. Такую выгрузку дают только встроенные механизмы обмена. Если же нужно просто передать содержимое печатной формы в машиночитаемом виде, подойдёт сохранение табличного документа или программная выгрузка.

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

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

Нужен файл для налоговой, ЭДО или по формату ФНСИспользуйте кнопку «Выгрузить» в документе или отчёте — она формирует XML по утверждённой схеме
Нужны данные документа для другой базы 1СИспользуйте «Ещё → Выгрузить в XML» (в конфигурациях на БСП) или типовую обработку выгрузки данных
Нужна сама печатная форма в машиночитаемом видеСохраните табличный документ через «Файл → Сохранить как» и выберите доступный формат, либо конвертируйте программно

Сохранение печатной формы через «Сохранить как»

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

В диалоге сохранения укажите имя файла и посмотрите список доступных типов. Стандартно предлагаются: табличный документ (MXL), лист Excel, PDF, HTML, текст и некоторые другие. Прямого типа «XML» в большинстве версий платформы здесь нет, потому что табличный документ — это не структура данных, а сетка ячеек.

Обходной путь: сохраните форму в HTML или Excel, а затем при необходимости преобразуйте в XML внешними средствами. Однако такой XML будет описывать таблицу, а не бизнес-данные, и для формального обмена он не подойдёт.

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

В типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей, ERP) многие документы имеют команду «Выгрузить» или пункт «Выгрузить в XML» в меню «Ещё». Она формирует файл по формату электронного документа — например, счёт-фактуру или УПД по схеме ФНС.

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

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

Типовой порядок выгрузки XML
  1. 1
    Проведите документ и убедитесь, что обязательные реквизиты заполнены
  2. 2
    Откройте меню «Ещё» и выберите «Выгрузить в XML» (или нажмите «Выгрузить» в отчёте)
  3. 3
    При наличии выбора укажите нужный формат обмена
  4. 4
    Задайте каталог и имя файла, сохраните
  5. 5
    Откройте файл в браузере или редакторе и проверьте наличие данных
  6. 6
    Для регламентированных форм дополнительно выполните «Проверить выгрузку»

Программное сохранение табличного документа в XML

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

Типовой подход: обойти области табличного документа, извлечь значения ячеек и записать их в XML-структуру. Либо, что правильнее, выгружать не ячейки формы, а исходные данные объекта — ссылку на документ, табличные части, реквизиты. Такой XML чище и пригоден для обмена.

bsl
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Обмен\форма.xml", "UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Документ");
Запись.ЗаписатьАтрибут("Номер", Строка(Док.Номер));
Запись.ЗаписатьАтрибут("Дата", XMLСтрока(Док.Дата));
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();

Для конфигураций на Библиотеке стандартных подсистем есть готовые сериализаторы, а также универсальная обработка «Выгрузка и загрузка данных XML», которая выгружает объекты целиком со ссылками. Она подходит для переноса между базами, но не для форматов ФНС.

Проверка полученного XML-файла

После сохранения убедитесь, что файл открывается и содержит ожидаемые данные. Откройте его в браузере: корректный XML отобразится в виде дерева, а при синтаксической ошибке браузер покажет номер строки с проблемой. Проверьте кодировку — для обмена с российскими системами обычно используется UTF-8 или windows-1251, неправильная кодировка даёт «кракозябры» в кириллице.

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

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

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

Открытие файла в браузере
Норма

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

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

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

Кодировка текста
Норма

Кириллица читается корректно

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

Нечитаемые символы вместо русских букв

Суммы и реквизиты
Норма

Совпадают с печатной формой документа

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

Расхождения в суммах, пустые обязательные поля

Приём в целевой системе
Норма

Файл загружается без ошибок форматного контроля

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

Система отклоняет файл по схеме XSD

Типичные ошибки и ограничения

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

Вторая ошибка — выгрузка непроведённого или частично заполненного документа. Файл сформируется, но обязательные реквизиты будут пустыми, и приёмная система его отклонит. Третья — использование файла выгрузки данных (межбазового обмена) вместо формата ФНС: это разные структуры, несовместимые между собой.

Типичные ошибки
01
Искать XML в «Сохранить как» печатной формы — этого типа там нет, используйте выгрузку данных документа
02
Выгружать непроведённый документ — обязательные поля окажутся пустыми, файл не пройдёт форматный контроль
03
Путать выгрузку для обмена между базами 1С с форматом ФНС — это разные XML-структуры
04
Игнорировать кодировку — файл в неправильной кодировке нечитаем для приёмной системы
05
Редактировать XML вручную в блокноте без проверки XSD — малейшая ошибка в тегах делает файл недействительным

Часто задаваемые вопросы

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

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

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

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

Чем отличается выгрузка документа от сохранения печатной формы?

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

Как получить XML счёта-фактуры для ЭДО?

Откройте проведённый счёт-фактуру, используйте команду выгрузки (обычно в меню «Ещё» или через подсистему ЭДО) — будет сформирован файл по действующему формату ФНС. Перед отправкой проверьте его средствами проверки вашего оператора ЭДО.

Файл выгрузился, но в нём пустые поля. Что делать?

Проверьте заполнение реквизитов в самом документе: выгрузка переносит только то, что введено. Заполните обязательные поля (ИНН, адреса, номенклатуру), перепроведите документ и выгрузите заново.

Можно ли настроить автоматическое сохранение в XML?

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

Итог

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

Печатная форма 1С напрямую в XML не сохраняется: используйте команды «Выгрузить» / «Выгрузить в XML» в документах и отчётах для форматов обмена, программную запись через ЗаписьXML для нестандартных задач и всегда проверяйте файл — открытием в браузере, контролем кодировки и сверкой сумм с оригиналом.