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