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

Администрирование · 8 мин

Как указать формат файла в 1С

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

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

От правильного выбора формата зависит, сможет ли принимающая сторона открыть файл без искажений. Например, выгрузка справочника в XML подходит для переноса между базами 1С, но бухгалтеру для просмотра удобнее Excel, а для печатной формы на подпись — PDF. Ошибка в формате приводит к битым данным, потере кодировки или невозможности загрузки файла в другую систему.

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

Где в 1С задаётся формат файла

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

Второе место — настройки обмена данными. В планах обмена и универсальных обработках выгрузки (например, «Выгрузка и загрузка данных XML») формат фиксирован самим механизмом: XML для переноса между базами, форматы EnterpriseData или CommerceML для обмена с сайтами и внешними системами. Здесь пользователь выбирает не расширение, а правила и версию формата.

Третий сценарий — программное указание формата в коде. Разработчик явно передаёт тип файла в методы записи, и тогда диалог с пользователем не требуется. Этот вариант применяется в регламентных заданиях, автоматической отправке отчётов и интеграциях.

Выбор формата при сохранении табличного документа

Табличный документ — это отчёты, печатные формы, прайс-листы. Чтобы указать формат вручную, откройте документ или отчёт, выберите в главном меню «Файл — Сохранить копию» (в некоторых конфигурациях — «Сохранить как») и в диалоге укажите нужный тип файла в выпадающем списке рядом с именем файла.

На практике чаще всего используются три варианта. MXL — родной формат 1С, сохраняет оформление полностью, но открывается только в 1С. XLSX — для передачи тем, кто работает в Excel, при этом сложная группировка строк может выглядеть иначе. PDF — для документов, которые не должны редактироваться: счетов, актов, договоров на подпись.

Обратите внимание: если просто дописать расширение к имени файла, не меняя тип в списке, содержимое останется в исходном формате, а файл с расширением .xlsx внутри окажется MXL. Excel такой файл не откроет или покажет предупреждение о несоответствии формата.

Типичные ошибки при сохранении
01
Смена расширения вручную без выбора типа файла — внутри остаётся исходный формат, файл не открывается
02
Сохранение отчёта в MXL для отправки контрагенту — у получателя без 1С файл не откроется
03
Сохранение в Excel с группировками — структура строк может развалиться, проверяйте результат

Формат при выгрузке и обмене данными

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

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

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

Программное указание формата в коде

Во встроенном языке формат задаётся параметрами методов записи. Для табличного документа используется метод Записать с указанием типа файла через перечисление ТипФайлаТабличногоДокумента:

ТабДок.Записать("C:\Обмен\Отчет.pdf", ТипФайлаТабличногоДокумента.PDF);

ТабДок.Записать("C:\Обмен\Отчет.xlsx", ТипФайлаТабличногоДокумента.XLSX);

ТабДок.Записать("C:\Обмен\Отчет.mxl", ТипФайлаТабличногоДокумента.MXL);

Для текстовых файлов применяется объект ТекстовыйДокумент, где помимо формата важно указать кодировку — UTF-8, ANSI или UTF-16. Неверная кодировка — типичная причина «кракозябр» при открытии файла в другой программе:

Текст = Новый ТекстовыйДокумент;

Текст.ДобавитьСтроку("Пример данных");

Текст.Записать("C:\Обмен\данные.txt", КодировкаТекста.UTF8);

Для структурированных данных используются объекты ЗаписьXML и ЗаписьJSON, а также сериализация через XDTO. Формат здесь определяется самим объектом записи, а расширение файла — лишь соглашение об именовании.

bsl
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);

Формат при сохранении двоичных данных и присоединённых файлов

Присоединённые файлы (сканы договоров, изображения номенклатуры) хранятся в базе в исходном формате — 1С не конвертирует их при записи. Формат определяется тем файлом, который пользователь добавил: JPG останется JPG, PDF останется PDF. Поменять формат можно только внешними средствами до загрузки в базу.

При программной работе с двоичными данными используется объект ДвоичныеДанные и метод Записать. Здесь критично, чтобы расширение имени файла соответствовало реальному содержимому: если записать картинку под именем «документ.pdf», открыть её штатно не получится.

Как проверить, что файл записан в нужном формате

Самый надёжный способ — открыть файл в целевой программе. PDF должен открыться в просмотрщике без предупреждений, XLSX — в Excel без сообщения о несоответствии формата и расширения, XML — в любой программе просмотра XML с корректным отображением структуры.

Дополнительно проверьте содержимое: в Excel — сохранность итогов и группировок, в PDF — корректность шрифтов и подписей, в XML-обмене — наличие всех ожидаемых объектов. Размер файла тоже информативен: подозрительно маленький файл после выгрузки большого справочника обычно означает, что данные отобрались не полностью.

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

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

Открытие файла в целевой программе
Норма

Открывается без предупреждений, данные читаемы

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

Ошибка формата, кракозябры, пустой документ

Соответствие расширения содержимому
Норма

Тип выбран в диалоге сохранения, а не дописан вручную

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

Excel сообщает, что формат не соответствует расширению

Полнота данных
Норма

Количество строк и итоги совпадают с источником

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

Часть данных отсутствует, файл аномально мал

Частые вопросы

Как сохранить отчёт из 1С сразу в PDF?

Откройте отчёт или печатную форму, выберите «Файл — Сохранить копию» и в списке типов файла укажите PDF. Во многих конфигурациях также есть кнопка «Сохранить» с выбором формата прямо на панели печатной формы. Программно это делается методом Записать с типом ТипФайлаТабличногоДокумента.PDF.

Почему Excel пишет, что формат файла не соответствует расширению?

Файл был переименован вручную без смены типа при сохранении: внутри остался MXL или другой формат, а расширение указано .xlsx. Решение — сохранить документ заново, выбрав нужный тип в диалоге сохранения, а не править имя файла.

В каком формате выгружать данные для переноса в другую базу 1С?

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

Как исправить кракозябры в выгруженном текстовом файле?

Проблема в кодировке. При программной записи укажите КодировкаТекста.UTF8 — она корректно открывается в большинстве программ. Если файл уже записан, откройте его в редакторе с выбором кодировки и пересохраните в UTF-8.

Можно ли изменить формат присоединённого файла внутри 1С?

Нет, 1С хранит присоединённые файлы в исходном виде и не конвертирует их. Чтобы сменить формат, сохраните файл на диск, конвертируйте внешней программой и загрузите обратно как новый присоединённый файл.

Итог

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

Формат файла в 1С задаётся выбором типа в диалоге сохранения, настройками обмена или параметрами методов Записать в коде. Расширение должно соответствовать реальному содержимому, а результат всегда проверяется открытием в целевой программе. Для обмена между базами используйте XML и совместимые версии правил.