Администрирование · 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 такой файл не откроет или покажет предупреждение о несоответствии формата.
Формат при выгрузке и обмене данными
Для переноса данных между базами 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. Формат здесь определяется самим объектом записи, а расширение файла — лишь соглашение об именовании.
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.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 и совместимые версии правил.