Документы и Печать · 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) | Дальнейшая обработка данных, фильтры, расчеты | Сложное форматирование может частично теряться |
| Передача контрагенту, печать, архив | Не редактируется, только просмотр | |
| MXL | Обмен табличными документами между базами 1С | Открывается только в 1С |
| HTML | Публикация или просмотр в браузере | Оформление может отличаться от оригинала |
| TXT / CSV | Импорт в другие системы | Сохраняется только текст, без оформления |
После сохранения откройте файл из проводника и убедитесь, что данные читаются: в Excel проверьте, что колонки не «съехали», в PDF — что видны все страницы. Если отчет большой, сохранение в Excel может занять заметное время — не закрывайте 1С до завершения операции.
- 1Сформируйте отчет или откройте печатную форму документа
- 2Убедитесь, что данные на экране корректны — файл сохранится «как есть»
- 3Откройте меню «Файл → Сохранить как» или нажмите кнопку сохранения
- 4Выберите папку, введите понятное имя файла и укажите формат
- 5Откройте сохраненный файл и проверьте содержимое
Как выгрузить данные списка или справочника в файл
Списки документов, номенклатуры, контрагентов можно выгрузить без отчетов. В большинстве типовых конфигураций в форме списка есть кнопка «Ещё», где доступны пункты «Вывести список» или «Выгрузить». «Вывести список» формирует табличный документ из видимых колонок — дальше он сохраняется в файл, как описано выше.
Перед выгрузкой настройте список: примените отбор (например, только контрагенты-покупатели), добавьте нужные колонки через «Ещё → Изменить форму» или настройку списка, отсортируйте строки. В табличный документ попадет именно то, что видно на экране, поэтому лишние строки и колонки лучше убрать заранее.
Для регулярных выгрузок в строгом формате (выписки для банка, файлы для маркетплейсов, декларации) используйте специализированные обработки в разделах обмена данными — они формируют файл с нужной структурой и кодировкой автоматически, а ручное копирование списка для таких задач не подходит.
Если выгруженный в Excel список открывается с «кракозябрами» или весь текст попадает в одну колонку, проблема обычно в формате: сохраняйте как XLSX, а не CSV. CSV требует правильного разделителя и кодировки, а XLSX переносит структуру без этих проблем.
Как прикрепить внешний файл к объекту 1С
Обратная задача — записать файл с диска внутрь базы: скан договора, фото товара, подписанный акт. В карточках документов и справочников для этого есть кнопка скрепки или ссылка «Присоединенные файлы» (иногда в меню «Ещё»). Нажмите её, выберите «Добавить из файла на диске» и укажите нужный файл.
Файл копируется в базу (или в специальный том на диске, если администратор настроил хранение в томах) и становится доступен всем пользователям с правами на этот объект. Оригинал на локальном диске после этого можно удалять — на хранение в 1С это не повлияет.
Учитывайте ограничения: большие вложения увеличивают размер базы и замедляют резервное копирование. Для массового хранения сканов попросите администратора настроить тома хранения файлов — тогда в базе остаются только ссылки, а сами файлы лежат в отдельной папке на сервере.
Как записать файл программно: команды встроенного языка
Разработчику для записи файлов на диск доступны несколько объектов встроенного языка. Выбор зависит от типа содержимого.
Текстовый файл
Для записи текста используется объект ТекстовыйДокумент: заполните его строками и вызовите метод Записать(), указав путь и при необходимости кодировку.
Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку("Номенклатура;Цена");
Текст.ДобавитьСтроку("Товар 1;1500");
Текст.Записать("C:\Выгрузки\прайс.txt", КодировкаТекста.UTF8);Кодировку указывайте явно: UTF-8 подходит большинству современных систем, но некоторые банковские и государственные приемные программы требуют ANSI (Windows-1251). Неверная кодировка — самая частая причина «нечитаемого» файла на принимающей стороне.
Двоичный файл и XML
Для произвольных данных (картинки, архивы) используются ДвоичныеДанные с методом Записать(). Для структурированного обмена — ЗаписьXML с методами ЗаписатьНачалоЭлемента, ЗаписатьТекст и обязательным Закрыть() в конце.
На серверном вызове помните: код выполняется на сервере 1С, и путь «C:\...» указывает на диск сервера, а не компьютера пользователя. Чтобы передать файл пользователю, запишите его во временное хранилище и верните адрес, а на клиенте сохраните через ПолучитьФайл() или диалог сохранения.
Проверка результата и типичные проблемы
После любой записи файла проверьте результат до передачи его дальше. Откройте файл тем приложением, для которого он предназначен: Excel — в Excel, PDF — в просмотрщике, XML — в текстовом редакторе или браузере. Убедитесь, что данные полные, кириллица читается, а структура соответствует ожиданиям принимающей стороны.
Как проверить результат
Файл на месте, размер больше нуля
Файла нет или размер 0 байт — запись не выполнилась
Данные читаются, кириллица отображается корректно
Кракозябры — неверная кодировка, перезапишите с правильной
Все строки и колонки присутствуют
Часть данных обрезана — проверьте отборы и настройки выгрузки
Файл открывается и копируется без ошибок
Ошибка доступа — выберите папку с правами на запись
Если запись завершается ошибкой «Нет доступа» или «Файл не найден», проверьте три вещи: существует ли целевая папка, есть ли у вашей учетной записи Windows права на запись в неё, не открыт ли файл с таким же именем в другой программе (Excel блокирует открытые файлы на перезапись).
Часто задаваемые вопросы
В чем разница между «Записать» и «Сохранить как» в 1С?
«Записать» сохраняет объект (документ, элемент справочника) в информационную базу — файл на диске не создается. «Сохранить как» относится к табличным документам (отчетам, печатным формам) и создает отдельный файл на диске в выбранном формате.
Почему при сохранении отчета в Excel теряется форматирование?
Табличный документ 1С и Excel используют разные модели оформления. Объединенные ячейки, сложные рамки и шрифты могут переноситься частично. Если важен точный внешний вид, сохраняйте в PDF; если важна работа с данными — в Excel, а оформление настройте уже там.
Куда 1С сохраняет файлы по умолчанию?
Стандартного фиксированного пути нет: программа предлагает последнюю использованную папку или стандартную папку «Документы» операционной системы. Путь всегда можно изменить в диалоге сохранения — выбирайте папку, к которой у вас есть права на запись.
Можно ли автоматически сохранять отчет в файл по расписанию?
Да, в типовых конфигурациях отчеты с вариантами настройки можно рассылать по расписанию (раздел администрирования — рассылка отчетов), в том числе в виде файлов на почту. Для записи в папку по расписанию разработчик создает регламентное задание, формирующее отчет программно и записывающее результат на диск сервера.
Почему программно записанный файл пустой?
Частые причины: не вызван метод Закрыть() у объекта ЗаписьXML, текст не добавлен в ТекстовыйДокумент перед записью, либо запись выполняется в папку, где старый файл заблокирован другим процессом, и создается пустая копия. Проверьте код на наличие всех завершающих вызовов и запишите файл под новым именем для теста.
Как записать файл, если нет прав на папку?
Выберите другую папку — например, «Документы» или «Рабочий стол» вашего пользователя, куда запись разрешена по умолчанию. Системные каталоги (Program Files, Windows, корень диска C) защищены операционной системой. Если файл обязательно должен лежать в общей сетевой папке, запросите права у системного администратора.
Что важно запомнить
«Записать» сохраняет данные в базу, «Сохранить как» — создает файл на диске; отчеты выгружайте в Excel для обработки и в PDF для передачи; программная запись выполняется через ТекстовыйДокумент, ДвоичныеДанные или ЗаписьXML с явным указанием кодировки; всегда проверяйте созданный файл открытием и учитывайте права доступа к папке.