Экспорт документов из 1С: форматы, списки, обмен и автоматизация

· 9 мин

Содержание

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

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

Куда ведёт кнопка сохранения в открытой форме

Отдельный документ 1С (счёт, накладную, акт) напрямую в файл не выгружают — экспортируют его печатную форму или табличный документ, который она формирует.

Порядок действий:

  1. Откройте документ и нажмите Печать в командной панели. Выберите нужную печатную форму (например, Счёт на оплату или ТОРГ-12).
  2. В открывшемся окне просмотра нажмите кнопку с изображением дискеты — Сохранить (либо Ещё → Сохранить).
  3. В диалоге выбора файла раскройте список Тип файла и укажите формат.
  4. Задайте имя и папку, нажмите Сохранить.

Если кнопки печати нет на видном месте, ищите её в меню Ещё в правом верхнем углу формы — туда 1С в интерфейсе «Такси» убирает редкие команды.

Так выгружается ровно то, что видно на экране в печатной форме. Формулы и связи с базой в файл не переносятся — вы получаете статичный снимок данных.

Рядом с кнопкой сохранения в окне печати есть ещё две полезные команды:

  • ✉️ Отправить (значок конверта) — 1С приложит печатную форму к письму файлом. Формат вложения выбирается тут же, отдельно сохранять на диск не нужно.
  • 📎 Печать комплектом. Если документ формирует несколько печатных форм (например, счёт + накладная + счёт-фактура), отметьте нужные галочками — они сохранятся одним многостраничным файлом.

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

В какие форматы выгружает 1С: Excel, PDF, Word и mxl

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

ФорматРасширениеКогда выбирать
Лист Excel 2007.xlsxНужно считать итоги, отфильтровать, построить сводную
Лист Excel 95.xlsПолучатель работает в старом Excel
Документ Word.docxПойдёт в договор или письмо, нужна правка текста
PDF документ.pdfФайл не должен меняться — для клиента, в архив, на подпись
Табличный документ.mxlОткроет другой пользователь 1С без потери вёрстки
Текстовый файл.txtНужны только значения, без оформления
HTML документ.htmlВставка на страницу или в письмо

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

Для .xlsx 1С сохраняет числа как числа, а даты как даты — суммировать и сортировать можно сразу. В .pdf расположение фиксируется один в один с печатной формой.

Выгрузка списка документов целиком

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

  1. Откройте журнал или список (например, Продажи → Реализация (акты, накладные)).
  2. Настройте отбор и период так, чтобы на экране остались нужные строки.
  3. Нажмите Ещё → Вывести список.
  4. В окне выберите, какие колонки выгрузить, и тип: Табличный документ (для Excel) или Текстовый документ.
  5. Нажмите OK — 1С сформирует табличный документ, который дальше сохраняется в файл обычной дискетой.

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

Чтобы добавить в выгрузку колонки, которых нет в списке по умолчанию (например, договор или склад), сначала выведите их через Ещё → Изменить форму или настройку колонок, а потом уже выгружайте.

Что именно нужно выгрузить?

Экспорт средствами встроенного языка

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

ТабДок = Отчёт.СформироватьТабличныйДокумент();
ТабДок.Записать("C:\Выгрузка\otchet.xlsx", ТипФайлаТабличногоДокумента.XLSX);

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

Данные без оформления (список значений, таблицу) выгружают сериализацией в XML через объект записи:

Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл("C:\Выгрузка\data.xml");
ЗаписатьXML(Запись, СтруктураДанных);
Запись.Закрыть();

Путь вроде C:\Выгрузка\ — это диск сервера 1С в клиент-серверном варианте, а не компьютер пользователя. Чтобы файл попал к пользователю, формируйте его во временном каталоге и отдавайте через ПолучитьФайл или помещайте во временное хранилище.

На управляемых формах запись файла и его передача клиенту разделены: серверная процедура кладёт файл во временное хранилище, клиентская командой сохранения предлагает выбрать папку. Это штатное поведение, а не ограничение — так работает экспорт в веб-клиенте и тонком клиенте.

Когда выгрузка нужна регулярно, но лезть в код не хочется, промежуточный вариант — отчёт на системе компоновки данных (СКД). Вы один раз настраиваете отбор, группировки и колонки, сохраняете вариант отчёта, а дальше выгружаете его в Excel той же кнопкой сохранения. СКД заметно устойчивее к большим объёмам, чем вывод списка, и не требует программирования.

Перенос документов в другую базу: обмен данными

Когда документ нужно не сохранить в файл, а передать в другую базу 1С (из УТ в Бухгалтерию, из филиала в центральную базу), файл Excel не подходит — потеряются ссылки на справочники и движения. Используют синхронизацию данных.

  1. Зайдите в Администрирование → Синхронизация данных в обеих базах.
  2. Настройте обмен по типовому формату — для современных конфигураций это EnterpriseData (универсальный формат обмена).
  3. Укажите, какие объекты и за какой период передавать; задайте правила отбора.
  4. Запустите синхронизацию вручную или настройте расписание.

При обмене через EnterpriseData 1С выгружает документы в XML-файл по описанному формату, а принимающая база разбирает его и создаёт свои документы со всеми реквизитами.

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

Обмен направленный: настройка «из базы А в базу Б» не тянет данные обратно автоматически. Для двустороннего обмена настраивают синхронизацию в обеих базах и согласуют, какая из них главная по каждому виду данных, чтобы изменения не перетирали друг друга.

Если типовая синхронизация между вашими конфигурациями не настраивается, обмен делают через Конвертацию данных 3.0 — отдельную конфигурацию, где настраиваются правила выгрузки и загрузки под нестандартную связку баз.

Разовую выгрузку для переноса в такую же базу можно сделать и через Администрирование → Выгрузить данные для перехода, но это касается всей базы, а не отдельных документов.

Большие выгрузки: как не подвесить базу

Выгрузка нескольких тысяч строк в Excel из списка через Вывести список часто упирается в память и надолго занимает сеанс. Приёмы, которые снимают проблему:

  • 📦 Дробите период. Вместо года выгружайте помесячно и склеивайте файлы — так ни один табличный документ не разрастается до миллионов ячеек.
  • 📊 Готовьте данные отчётом на СКД, а не выводом списка. Система компоновки данных отдаёт в Excel десятки тысяч строк заметно легче, чем форма списка.
  • 🧮 Убирайте лишние колонки. Каждое поле — это память. Оставьте в выгрузке только то, что реально нужно получателю.
  • 🕓 Запускайте тяжёлую выгрузку фоновым заданием, чтобы не блокировать свой сеанс (см. следующий раздел).

Типичная ошибка на больших объёмах — Недостаточно памяти или зависший сеанс. Причина — попытка сформировать один гигантский табличный документ в памяти. Лечится дроблением и выгрузкой через СКД, а не повышением лимитов наугад.

Excel 2007 и новее держит максимум 1 048 576 строк на листе. Если выгрузка больше — 1С разложит данные по нескольким листам или оборвёт экспорт. Для таких объёмов выгружайте в .csv или .txt либо передавайте данные обменом, а не таблицей.

Для миллионов строк табличный документ вообще не держат в памяти: данные пишут в текстовый файл построчно через объект ЗаписьТекста, разделяя значения точкой с запятой. Такой .csv Excel и любая аналитическая система открывают потоково, без загрузки всего файла целиком, — память 1С при этом почти не расходуется.

Автоматический экспорт по расписанию

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

Логика такая:

  1. В расширении или внешней обработке пишется процедура, которая формирует табличный документ и записывает его в заданную папку кодом из раздела о встроенном языке.
  2. Эта процедура назначается регламентному заданию. В клиент-серверном варианте расписание задаётся в консоли кластера или в самой конфигурации; в файловом — задание выполняется, только пока открыт сеанс.
  3. Расписание (время, периодичность) настраивается в свойствах регламентного задания.

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

Для синхронизации между базами расписание проще: в Администрирование → Синхронизация данных у настройки обмена есть собственное расписание — отдельная обработка не нужна.

Перед настройкой автоматической выгрузки
Выполнено: 0 / 5

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

Можно ли выгрузить документ из 1С сразу в Excel одной кнопкой?
Одной кнопки «в Excel» для самого документа нет — выгружается его печатная форма. Откройте печать, нажмите «Сохранить» и выберите «Лист Excel 2007». Список документов выгружается через Ещё → Вывести список.
Почему при сохранении в Excel пропадает оформление?
Печатная форма 1С рассчитана на формат mxl, и сложную вёрстку с объединёнными ячейками Excel показывает иначе. Если нужен точный вид — сохраняйте в PDF; если нужны данные для расчётов — в xlsx, оформление вторично.
Как выгрузить документы для переноса в другую базу 1С?
Не через файл Excel, а через Администрирование → Синхронизация данных по формату EnterpriseData. Так сохранятся ссылки на справочники и движения по регистрам, чего обычный файл не переносит.
Куда сохраняется файл при выгрузке на сервере 1С?
В клиент-серверной базе путь в коде указывает на диск сервера. Чтобы файл попал к пользователю, его передают через временное хранилище и команду сохранения на клиенте, а не пишут напрямую на диск C.
Сколько строк можно выгрузить в один файл Excel?
Лист Excel вмещает до 1 048 576 строк. Для больших объёмов дробите выгрузку по периодам, используйте отчёт на СКД или формат csv — так база не упирается в память.