Выгружаем данные из 1С в Excel: от списка до встроенного языка
Содержание
Самый быстрый способ экспортировать данные
из 1С в Excel — открыть нужный список, нажать Еще → Вывести список и сохранить результат как файл .xlsx. Отчёт выгружается ещё проще: кнопкой сохранения прямо из формы отчёта. Никаких внешних обработок для разовой задачи не нужно.
Выгрузка из 1С в Excel устроена одинаково почти во всех конфигурациях на платформе 8.3 с интерфейсом «Такси»: справочники, журналы документов, остатки регистров, готовые отчёты — всё это превращается в таблицу Excel в пару кликов. Разница только в том, что именно вы выгружаете: плоский список, оформленный отчёт или результат собственного запроса.
Способов экспорта несколько: ручное сохранение списка, выгрузка оформленного отчёта, программная запись встроенным языком и автоматические рассылки по расписанию. Выбор зависит от того, разовая это задача или регулярная, и от того, важно ли сохранить оформление.
С чего начать: что именно вы выгружаете
Прежде чем жать кнопки, определитесь с типом данных — от этого зависит способ.
- 📋 Список (справочник, журнал документов
, строки табличной части) — плоская таблица строк и колонок. Подходит команда
Вывести список. - 📊 Отчёт (ОСВ, анализ счёта, ведомость) — оформленный табличный документ с группировками. Сохраняется кнопкой прямо из отчёта.
- 🧮 Произвольная выборка (данные, которых нет в готовом списке или отчёте) — собирается запросом и выгружается программно или через консоль запросов.
Еще → Вывести список. Быстро, без программирования, можно отобрать колонки.Выгрузка списка командой «Вывести список»
Это основной способ для справочников и журналов. Работает в любом списочном окне.
- Откройте нужный список — например,
Справочники → Номенклатураили журнал документов. - При необходимости настройте отбор и сортировку: то, что видно на экране, то и попадёт в файл.
- Нажмите кнопку
Еще(в правой части командной панели списка) →Вывести список. - В открывшемся окне выберите тип — Табличный документ (для Excel) и отметьте колонки, которые нужно выгрузить.
- Нажмите
ОК. 1С сформирует табличный документ. - Сохраните его:
Главное меню → Файл → Сохранить как, в типе файла выберитеЛист Excel 2007-... (*.xlsx).
Отбор и группировки, настроенные в списке через Еще → Настроить список, переносятся в выгрузку. Сначала доведите список до нужного вида на экране, потом выгружайте.
Если в списке больше колонок, чем нужно, не выгружайте всё подряд — лишние поля затрудняют дальнейшую обработку в Excel. В окне Вывести список снимите галочки с ненужных колонок.
Тем же способом выгружается табличная часть внутри документа. Откройте документ, встаньте в его табличную часть (строки товаров, услуг) и вызовите Еще → Вывести список над этой таблицей — в файл попадут именно её строки.
Когда строк две-три, обходятся без выгрузки вовсе: выделите нужные строки списка мышью с зажатым Ctrl, скопируйте сочетанием Ctrl + C и вставьте прямо в открытый лист Excel. 1С кладёт в буфер обмена данные с разделителями, и Excel раскладывает их по колонкам.
Доступ к любому списку через «Все функции»
Иногда нужный список не вынесен в интерфейс — например, таблица регистра сведений или служебный справочник. До него добираются через меню «Все функции».
Сначала команду надо включить: Главное меню → Сервис → Параметры (или Настройки), поставить галку Отображать команду «Все функции». После этого в главном меню появится пункт Все функции.
Через Все функции открывается полный перечень объектов конфигурации: справочники, документы, регистры, обработки. Открываете нужную таблицу — и дальше та же команда Еще → Вывести список.
«Все функции» показывает служебные данные без привычных форм и отборов. Выгружайте отсюда, только когда понимаете структуру объекта, иначе в Excel попадут технические поля.
Сохранение отчёта с оформлением и группировками
Отчёты (оборотно-сальдовая ведомость, анализ счёта, карточка счёта) уже представляют собой готовый табличный документ. Их не нужно выгружать через «Вывести список » — достаточно сохранить саму форму отчёта.
- Сформируйте отчёт кнопкой
Сформировать. - В командной панели отчёта нажмите кнопку сохранения (значок дискеты) либо
Главное меню → Файл → Сохранить как. - Выберите формат из списка.
Доступные форматы сохранения табличного документа:
| Формат | Расширение | Когда выбрать |
|---|---|---|
| Лист Excel 2007 и новее | .xlsx | Основной формат для Excel |
| Лист Excel 97-2003 | .xls | Старый Excel или сторонние программы |
| Таблица OpenDocument | .ods | LibreOffice, OpenOffice |
| Документ PDF | .pdf | Печать и пересылка без правок |
| Табличный документ | .mxl | Открыть обратно в 1С |
При сохранении в .xlsx группировки (плюсики для сворачивания строк), объединённые ячейки и числовые форматы переносятся в Excel. Это главное отличие от выгрузки плоского списка: структура и оформление отчёта сохраняются, с ними удобно работать дальше.
Нужен не Excel, а простой текстовый файл для загрузки в стороннюю программу — выбирайте в команде Вывести список тип Текстовый документ. Колонки разделяются табуляцией, такой файл легко импортируется куда угодно. Сохраняется он через то же Файл → Сохранить как в формат .txt, а при открытии в Excel данные разложатся по столбцам мастером импорта.
Экспорт встроенным языком: табличный документ в код
Когда выгрузка нужна регулярно или данных нет в готовом отчёте, задачу решают встроенным языком. Любой табличный документ сохраняется в Excel методом Записать.
Готовый документ (сформированный отчёт, печатная форма) выгружается одной строкой:
ТабДок.Записать("C:\Выгрузка\Отчет.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Если таблицу надо собрать из результата запроса, заполните ячейки по номерам строк и колонок. Область задаётся четырьмя границами — верхняя строка, левая колонка, нижняя строка, правая колонка:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1, 1, 1, 1).Текст = "Номенклатура";
ТабДок.Область(1, 2, 1, 2).Текст = "Остаток";
Выборка = Запрос.Выполнить().Выбрать();
Стр = 2;
Пока Выборка.Следующий() Цикл
ТабДок.Область(Стр, 1, Стр, 1).Текст = Выборка.Номенклатура;
ТабДок.Область(Стр, 2, Стр, 2).Текст = Выборка.Остаток;
Стр = Стр + 1;
КонецЦикла;
ТабДок.Записать("C:\Выгрузка\Остатки.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Формат файла задаётся вторым параметром метода Записать: ТипФайлаТабличногоДокумента.XLSX для современного Excel, .XLS97 — для старого формата, .ODS — для OpenDocument, .PDF — для печатной версии. Имя файла при этом должно соответствовать выбранному расширению.
На клиент-серверной базе метод Записать с путём к диску отрабатывает на сервере, а не на компьютере пользователя. Чтобы отдать файл пользователю веб-клиента, записывают во временный каталог сервера, а затем передают клиенту через ПоместитьФайл.
Обратная задача — загрузка данных из Excel
в 1С — решается через объект ПостроительDOM для старых форматов или чтением табличного документа методом Прочитать. Это уже не выгрузка, а отдельная тема загрузки.
Внешние обработки и консоль запросов для разовой выборки
Если данные разбросаны по разным объектам и собрать их списком нельзя, удобна консоль запросов. Это внешняя обработка, которая выполняет текст запроса и показывает результат таблицей.
- Откройте консоль запросов:
Главное меню → Файл → Открыть, выберите файл обработки.epf. - Напишите или вставьте текст запроса, нажмите выполнить.
- Результат отображается как табличный документ — сохраните его
Файл → Сохранить какв.xlsx.
Консоль запросов не входит в типовые поставки — её берут из состава инструментов разработчика или из библиотеки стандартных обработок. Запускать внешние обработки в рабочей базе разрешайте только проверенные файлы из надёжного источника: обработка выполняет произвольный код.
Текст запроса в консоли можно сохранить в файл и переиспользовать — это удобно, когда одну и ту же выборку приходится делать периодически вручную. Для разовых аналитических срезов консоль запросов остаётся самым гибким инструментом: она достаёт данные из любых таблиц, которых нет ни в одном готовом отчёте.
Для регулярных выгрузок пишут собственную внешнюю обработку
с методом Записать из предыдущего раздела. Её удобно подключить в базу через Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки, если в конфигурации включён механизм дополнительных обработок.
Автоматическая выгрузка по расписанию
Чтобы файл формировался сам и уходил, например, на почту руководителю каждое утро, используют механизм рассылки отчётов.
В «1С:Бухгалтерии 3.0» и других конфигурациях на БСП путь такой: Администрирование → Печатные формы, отчёты и обработки → Рассылки отчётов. В рассылке указывают:
- 📄 какие отчёты включить и с какими настройками;
- 📁 формат вложения — выберите
.xlsx, чтобы получатель открыл файл в Excel; - 📧 получателей (email) или сетевой каталог для сохранения;
- 🕒 расписание — ежедневно, еженедельно, по дням месяца.
Рассылка работает как регламентное задание. На файловой базе она отрабатывает, только когда база запущена, поэтому для стабильной работы по расписанию базу переводят в клиент-серверный режим или держат открытым сеанс.
Одной рассылкой можно слать несколько отчётов разным адресатам с разной периодичностью — каждая настройка хранится отдельной строкой. Тяжёлые отчёты лучше ставить на ночные часы, чтобы формирование не нагружало базу в рабочее время: массовое построение данных параллельно с работой пользователей заметно тормозит систему.
Если нужен не почтовый отчёт, а просто выгрузка в сетевую папку, в настройках рассылки вместо email укажите каталог — 1С будет складывать туда готовые файлы Excel по расписанию.
Типичные ошибки при экспорте и как их избежать
Еще → Настроить список до выгрузки, а в окне Вывести список отметьте только нужные поля.Вывести список оформление не хранит. Если нужны свёртки и итоги — сохраняйте сам отчёт в .xlsx, а не выгружайте список строк.Еще. Если списка нет в интерфейсе вообще — включите Все функции в параметрах и откройте объект оттуда..xlsx, а не в текстовый файл — там числа сохраняются как числа.Частые вопросы
Можно ли выгрузить сразу в старый формат .xls?
.xlsx: он держит больше строк и колонок.Как выгрузить данные без доступа к Excel на компьютере?
.ods (OpenDocument) — его открывает бесплатный LibreOffice. Либо выгрузите в .pdf, если файл нужен только для просмотра и печати.Сколько строк можно выгрузить за раз?
.xlsx вмещает примерно миллион строк. Если выгрузка упирается в этот предел, дробите данные отбором по периодам или группам.Почему в выгруженном файле вместо кода номенклатуры стоят решётки или E+?
Можно ли настроить выгрузку, чтобы она шла сама каждый день?
Рассылки отчётов: укажите отчёт, формат .xlsx, получателя и расписание. На файловой базе рассылка срабатывает только при запущенной программе.