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

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

Как записать файл в 1С: пошаговые способы для пользователя и разработчика

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

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

В типовых конфигурациях (1С:Бухгалтерия, 1С:Управление торговлей, 1С:Зарплата и управление персоналом) большинство задач решается штатными кнопками «Записать», «Сохранить как», «Выгрузить» без программирования. Программная запись файлов требуется разработчикам при обмене данными, формировании выгрузок для банков, контрагентов и сторонних систем.

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

Что именно вы хотите записать: выбор сценария

Прежде чем искать кнопку, определите тип задачи. От этого зависит и инструмент, и место, где появится результат.

  • Записать документ или элемент справочника — данные сохраняются в базу 1С, файл на диске не создается. Используются кнопки «Записать» и «Записать и закрыть».
  • Сохранить отчет или печатную форму в файл — результат появляется на диске в формате Excel, PDF, MXL или HTML.
  • Выгрузить данные для обмена — создается файл XML, CSV или TXT по заданному формату (выписки, прайсы, данные для ФНС).
  • Прикрепить внешний файл к объекту — скан договора или фото товара сохраняется внутри базы или в томе на диске как присоединенный файл.
  • Программно записать файл из кода — задача разработчика при автоматизации обменов.
Маршрут решения

Как выбрать действие

Нужно сохранить введенный документ или контрагентаНажмите «Записать» — данные останутся в базе, файл не нужен
Нужен отчет или печатная форма на дискеИспользуйте «Файл → Сохранить как» или кнопку «Сохранить» в табличном документе
Нужно передать данные в другую системуИщите обработку выгрузки в разделе обмена данными или используйте «Выгрузить» в списке
Нужно хранить сканы и вложенияИспользуйте кнопку «Присоединить файл» в карточке объекта

Как записать документ или элемент справочника в базу

Это базовая операция, которую иногда путают с записью файла. Когда вы заполняете документ «Реализация товаров» или карточку контрагента и нажимаете «Записать», 1С сохраняет данные в информационную базу — никакой отдельный файл при этом не создается.

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

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

Как сохранить отчет или печатную форму в файл

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

Доступные форматы зависят от версии платформы, но стандартный набор такой:

ФорматКогда выбиратьОграничение
Excel (XLSX)Дальнейшая обработка данных, фильтры, расчетыСложное форматирование может частично теряться
PDFПередача контрагенту, печать, архивНе редактируется, только просмотр
MXLОбмен табличными документами между базами 1СОткрывается только в 1С
HTMLПубликация или просмотр в браузереОформление может отличаться от оригинала
TXT / CSVИмпорт в другие системыСохраняется только текст, без оформления

После сохранения откройте файл из проводника и убедитесь, что данные читаются: в Excel проверьте, что колонки не «съехали», в PDF — что видны все страницы. Если отчет большой, сохранение в Excel может занять заметное время — не закрывайте 1С до завершения операции.

Порядок действий
  1. 1
    Сформируйте отчет или откройте печатную форму документа
  2. 2
    Убедитесь, что данные на экране корректны — файл сохранится «как есть»
  3. 3
    Откройте меню «Файл → Сохранить как» или нажмите кнопку сохранения
  4. 4
    Выберите папку, введите понятное имя файла и укажите формат
  5. 5
    Откройте сохраненный файл и проверьте содержимое

Как выгрузить данные списка или справочника в файл

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

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

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

Если выгруженный в Excel список открывается с «кракозябрами» или весь текст попадает в одну колонку, проблема обычно в формате: сохраняйте как XLSX, а не CSV. CSV требует правильного разделителя и кодировки, а XLSX переносит структуру без этих проблем.
ПЗ
Практическое замечание

Как прикрепить внешний файл к объекту 1С

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

Файл копируется в базу (или в специальный том на диске, если администратор настроил хранение в томах) и становится доступен всем пользователям с правами на этот объект. Оригинал на локальном диске после этого можно удалять — на хранение в 1С это не повлияет.

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

Как записать файл программно: команды встроенного языка

Разработчику для записи файлов на диск доступны несколько объектов встроенного языка. Выбор зависит от типа содержимого.

Текстовый файл

Для записи текста используется объект ТекстовыйДокумент: заполните его строками и вызовите метод Записать(), указав путь и при необходимости кодировку.

bsl
Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку("Номенклатура;Цена");
Текст.ДобавитьСтроку("Товар 1;1500");
Текст.Записать("C:\Выгрузки\прайс.txt", КодировкаТекста.UTF8);

Кодировку указывайте явно: UTF-8 подходит большинству современных систем, но некоторые банковские и государственные приемные программы требуют ANSI (Windows-1251). Неверная кодировка — самая частая причина «нечитаемого» файла на принимающей стороне.

Двоичный файл и XML

Для произвольных данных (картинки, архивы) используются ДвоичныеДанные с методом Записать(). Для структурированного обмена — ЗаписьXML с методами ЗаписатьНачалоЭлемента, ЗаписатьТекст и обязательным Закрыть() в конце.

На серверном вызове помните: код выполняется на сервере 1С, и путь «C:\...» указывает на диск сервера, а не компьютера пользователя. Чтобы передать файл пользователю, запишите его во временное хранилище и верните адрес, а на клиенте сохраните через ПолучитьФайл() или диалог сохранения.

Типичные ошибки
01
Запись на клиентский диск из серверного кода — файл появляется на сервере, а пользователь его не видит
02
Неуказанная кодировка — принимающая система читает файл с искаженными символами
03
Отсутствие проверки существования папки — запись падает с ошибкой, если каталога нет
04
Запись в защищенные системные папки (Program Files, корень диска C) — операционная система блокирует доступ
05
Незакрытый объект ЗаписьXML — файл остается пустым или обрезанным

Проверка результата и типичные проблемы

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

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

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

Файл существует в указанной папке
Норма

Файл на месте, размер больше нуля

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

Файла нет или размер 0 байт — запись не выполнилась

Содержимое открывается
Норма

Данные читаются, кириллица отображается корректно

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

Кракозябры — неверная кодировка, перезапишите с правильной

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

Все строки и колонки присутствуют

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

Часть данных обрезана — проверьте отборы и настройки выгрузки

Права доступа
Норма

Файл открывается и копируется без ошибок

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

Ошибка доступа — выберите папку с правами на запись

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

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

В чем разница между «Записать» и «Сохранить как» в 1С?

«Записать» сохраняет объект (документ, элемент справочника) в информационную базу — файл на диске не создается. «Сохранить как» относится к табличным документам (отчетам, печатным формам) и создает отдельный файл на диске в выбранном формате.

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

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

Куда 1С сохраняет файлы по умолчанию?

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

Можно ли автоматически сохранять отчет в файл по расписанию?

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

Почему программно записанный файл пустой?

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

Как записать файл, если нет прав на папку?

Выберите другую папку — например, «Документы» или «Рабочий стол» вашего пользователя, куда запись разрешена по умолчанию. Системные каталоги (Program Files, Windows, корень диска C) защищены операционной системой. Если файл обязательно должен лежать в общей сетевой папке, запросите права у системного администратора.

Итог

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

«Записать» сохраняет данные в базу, «Сохранить как» — создает файл на диске; отчеты выгружайте в Excel для обработки и в PDF для передачи; программная запись выполняется через ТекстовыйДокумент, ДвоичныеДанные или ЗаписьXML с явным указанием кодировки; всегда проверяйте созданный файл открытием и учитывайте права доступа к папке.