Выгрузка данных из 1С в файл: от таблицы Excel до XML по расписанию

· 10 мин

Содержание

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

Остальные варианты нужны, когда стандартной кнопки мало: внешняя обработка под конкретный формат, программная выгрузка в CSV или JSON и автоматический запуск по расписанию. Всё ниже относится к платформе 1С:Предприятие 8.3 с интерфейсом «Такси» и подходит бухгалтерам и программистам: первые разделы — без кода, дальше — с примерами.

Что можно выгрузить из 1С и в какой файл

Сначала определитесь, кто будет читать файл. От этого зависит формат, а значит, и способ.

ЗадачаФормат файлаСпособНужен программист
Отдать таблицу коллеге, аудитору, в Excelxlsx, xls, odsСохранить список или отчётНет
Отправить документ на печать или по почтеpdf, docxСохранить печатную формуНет
Перенести данные в другую базу 1СxmlУниверсальный обмен, обработка выгрузки XMLИногда
Сделать полную копию базыdtКонфигураторНет
Передать данные на сайт, в CRM, маркетплейсcsv, json, xmlВнешняя обработка или кодДа
Платёжки в банктекстовый файл обменаВстроенная выгрузка в клиент-банкНет

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

Выгрузка списков, отчётов и печатных форм в Excel и PDF

Этот способ покрывает большую часть повседневных задач. Права администратора не нужны.

Список документов или справочника

  1. Откройте список, например Продажи → Реализация (акты, накладные, УПД) в Бухгалтерии 3.0.
  2. Настройте отбор и колонки: Ещё → Настроить список. Уберите лишнее, добавьте нужные реквизиты.
  3. Выполните Ещё → Вывести список. В окне отметьте колонки и выберите вывод в табличный документ.
  4. В открывшейся таблице нажмите Файл → Сохранить как в главном меню (кнопка с тремя полосками в заголовке окна).
  5. Выберите тип файла: «Лист Excel 2007-…» (xlsx), укажите папку и имя.

Отчёт

Сформируйте отчёт, например оборотно-сальдовую ведомость, и сохраните его так же — через Файл → Сохранить как. Платформа предлагает форматы mxl, xlsx, xls, ods, pdf, docx, html, txt.

  • 📊 xlsx — для дальнейших расчётов и сводных таблиц;
  • 📄 pdf — когда важно, чтобы получатель ничего не поправил;
  • 🗂 mxl — родной формат 1С, открывается только в 1С или в бесплатной программе просмотра 1С:Предприятие — Работа с файлами.

Печатная форма

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

Отчёт с группировками при сохранении в Excel сохраняет уровни группировки, но объединённые ячейки шапки могут мешать сортировке. Если файл пойдёт в обработку, а не на просмотр, отключите в настройках отчёта лишние группировки и итоги.

Файл выгрузки в XML для переноса в другую базу

Когда данные нужно загрузить в другую 1С, Excel не подходит: он теряет ссылки между объектами. Нужен XML.

Вариант 1. Универсальный обмен данными в формате XML

Это обработка, которая выгружает данные по правилам обмена — файлу, описывающему, какой объект источника превращается в какой объект приёмника. Правила для типовых пар конфигураций публикуются вместе с обновлениями, свои правила делают в конфигурации «Конвертация данных ».

Порядок работы:

  1. Откройте обработку. В Бухгалтерии 3.0 она входит в состав конфигурации и доступна через Функции для технического специалиста → Обработки (команда включается в настройках программы). Если в вашей конфигурации её нет, откройте файл обработки через Файл → Открыть.
  2. На закладке выгрузки укажите файл правил обмена (.xml).
  3. Задайте период и имя файла данных, куда пойдёт результат.
  4. В дереве правил отметьте, какие объекты выгружать: например, только справочник контрагентов и документы реализации за квартал.
  5. Запустите выгрузку и дождитесь протокола.

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

Вариант 2. Выгрузка между одинаковыми конфигурациями

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

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

ВариантКогда подходитРиски
Универсальный обмен с правиламиРазные конфигурации: БП → УТ, УТ → БПНужны правила под ваши релизы
Выгрузка и загрузка данных XMLОдинаковая конфигурация и релизПерезапись объектов, не переносит между разными структурами
Встроенная синхронизацияПостоянный обмен между базамиНужна настройка узлов, это не разовый файл

Выгрузка через внешнюю обработку

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

Как подключить в Бухгалтерии 3.0, ЗУП 3.1, УТ 11:

  1. Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.
  2. Нажмите «Добавить из файла» и выберите .epf.
  3. Укажите, в каких разделах команда будет видна, и назначьте пользователей.
  4. Запись сохраните — обработка появится в выбранном разделе.

Для разовой выгрузки обработку можно просто открыть через Файл → Открыть, но для этого у пользователя должно быть право на интерактивное открытие внешних обработок.

💡 При открытии файла платформа может показать предупреждение безопасности. Это защита от опасных действий: подтверждайте, только если знаете, откуда обработка. Чужая .epf из интернета выполняет любой код с правами вашего пользователя.

Программная выгрузка в CSV, JSON и Excel

Этот раздел для тех, кто пишет код. Ниже — три рабочих приёма, из которых собирается почти любая выгрузка.

CSV для Excel и внешних систем

Процедура выгружает контрагентов в файл с разделителем «;». Выполняется на сервере.

Процедура ВыгрузитьКонтрагентовВCSV(ПутьКФайлу) Экспорт

	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Контрагенты.Наименование КАК Наименование,
	|	Контрагенты.ИНН КАК ИНН,
	|	Контрагенты.КПП КАК КПП
	|ИЗ
	|	Справочник.Контрагенты КАК Контрагенты
	|ГДЕ
	|	НЕ Контрагенты.ЭтоГруппа
	|	И НЕ Контрагенты.ПометкаУдаления
	|
	|УПОРЯДОЧИТЬ ПО
	|	Наименование";

	Выборка = Запрос.Выполнить().Выбрать();

	Текст = Новый ЗаписьТекста(ПутьКФайлу, КодировкаТекста.UTF8);
	Текст.ЗаписатьСтроку("Наименование;ИНН;КПП");

	Пока Выборка.Следующий() Цикл
		Наименование = СтрЗаменить(Выборка.Наименование, ";", ",");
		Текст.ЗаписатьСтроку(СтрШаблон("%1;%2;%3", Наименование, Выборка.ИНН, Выборка.КПП));
	КонецЦикла;

	Текст.Закрыть();

КонецПроцедуры

Кодировка UTF8 записывает в начало файла метку BOM, поэтому Excel открывает кириллицу без «кракозябр». Точку с запятой внутри наименования заменяем, иначе строка разъедется по колонкам.

JSON для сайта или API

Данные = Новый Массив;
Пока Выборка.Следующий() Цикл
	Элемент = Новый Структура;
	Элемент.Вставить("name", Выборка.Наименование);
	Элемент.Вставить("inn", Выборка.ИНН);
	Данные.Добавить(Элемент);
КонецЦикла;

Запись = Новый ЗаписьJSON;
Запись.ОткрытьФайл(ПутьКФайлу, "UTF-8");
ЗаписатьJSON(Запись, Данные);
Запись.Закрыть();

ЗаписатьJSON понимает структуры, соответствия, массивы, строки, числа, даты и булево. Ссылки на справочники он не сериализует: перед записью превратите их в строку или в уникальный идентификатор через Ссылка.УникальныйИдентификатор().

Excel из кода

Собрали табличный документ — сохраняете одной строкой:

ТабДок.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);

Для XML без правил обмена используйте ЗаписьXML: он пишет файл потоком, элемент за элементом, и не держит весь документ в памяти.

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

Автоматическая выгрузка по расписанию

Если файл нужен каждый день — остатки для сайта, продажи для головного офиса — выгрузку ставят на расписание. Есть два пути.

Регламентное задание

  1. В Конфигураторе (или в расширении) добавьте объект «Регламентное задание».
  2. Укажите метод — экспортную процедуру серверного общего модуля, которая делает выгрузку.
  3. Задайте расписание и отметьте «Использование».
  4. Пользователь может менять расписание без Конфигуратора: в типовых конфигурациях это Администрирование → Обслуживание, ссылка «Регламентные и фоновые задания».

Путь к файлу в задании — это путь на сервере 1С, и у пользователя, от имени которого работает служба сервера, должны быть права на запись в эту папку. Сетевую папку указывайте в формате \\server\share\, а не через букву диска: подключённые диски служба не видит.

В файловой базе регламентные задания выполняет один из открытых клиентских сеансов. Если в нужное время базу никто не запустил, выгрузка не произойдёт.

Планировщик Windows и запуск 1С с параметрами

Для файловых баз надёжнее планировщик заданий Windows. Он запускает 1С с внешней обработкой, которая при открытии делает выгрузку и закрывает программу:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Выгрузка" /P"пароль" /Execute"D:\Obr\Vygruzka.epf" /DisableStartupMessages

Номер версии в пути замените на установленный у вас. Для такого запуска заведите отдельного пользователя с минимальными правами: пароль в bat-файле лежит открытым текстом.

Как выгружать большие объёмы без зависаний

Выгрузка 300 тысяч документов «в лоб» упирается в память и время. Что помогает:

  • 🧩 Порции. Выбирайте ВЫБРАТЬ ПЕРВЫЕ 10000 с отбором Ссылка > &ПоследняяСсылка и сортировкой по ссылке, пишите порцию в файл и переходите к следующей.
  • 🗓 Деление по периодам. Для XML-обмена выгружайте по месяцу или кварталу: один огромный файл тяжело и выгрузить, и загрузить.
  • ⚡ Один запрос вместо обращений через точку. Выборка.Контрагент.ИНН внутри цикла — это отдельное обращение к базе на каждую строку. Получите ИНН в самом запросе.
  • 📝 Потоковая запись. ЗаписьXML и ЗаписьТекста пишут сразу в файл. Сборка всего в одну строку или DOM-дерево съедает память.
  • 🖥 Фоновое задание. Длинную выгрузку запускайте в фоне, чтобы форма не «висела» и пользователь видел прогресс.
  • 🗜 Сжатие. Готовый файл упакуйте через ЗаписьZipФайла: текстовые XML и CSV сжимаются в разы.

Ошибки при выгрузке и как их исправить

Нажмите на симптом, чтобы увидеть причину и решение.

Диагностика: выберите симптом

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

Можно ли выгрузить из 1С сразу всю базу в Excel?
Нет, единой кнопки для этого нет. В Excel выгружают отдельные списки и отчёты. Для полной копии базы используют файл .dt, но он читается только в 1С.
Чем выгрузка в XML отличается от выгрузки в dt?
XML переносит выбранные объекты в другую базу, в том числе с другой конфигурацией. Файл .dt — полный снимок базы вместе с конфигурацией, из него базу восстанавливают целиком.
Как выгрузить платёжные поручения в банк?
В списке платёжных поручений есть встроенная выгрузка в клиент-банк. Она формирует текстовый файл стандарта 1CClientBankExchange, который загружают в банковскую программу. Если банк работает через DirectBank, файл не нужен: документы уходят из 1С напрямую.
Можно ли выгружать данные в веб-клиенте?
Да, но браузер не даёт программе писать на диск напрямую. Файл формируется на сервере и передаётся пользователю как скачивание, поэтому в коде обязательна передача через временное хранилище.
Почему выгрузка в Excel из отчёта отличается от того, что на экране?
Чаще всего в настройках отчёта включены свёрнутые группировки: на экране они раскрыты, а в файл уходит текущая структура. Разверните нужные уровни перед сохранением.