Выгружаем данные из 1С в Excel: от списка до встроенного языка

· 9 мин

Содержание

Самый быстрый способ экспортировать данные из 1С в Excel — открыть нужный список, нажать Еще → Вывести список и сохранить результат как файл .xlsx. Отчёт выгружается ещё проще: кнопкой сохранения прямо из формы отчёта. Никаких внешних обработок для разовой задачи не нужно.

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

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

С чего начать: что именно вы выгружаете

Прежде чем жать кнопки, определитесь с типом данных — от этого зависит способ.

  • 📋 Список (справочник, журнал документов , строки табличной части) — плоская таблица строк и колонок. Подходит команда Вывести список.
  • 📊 Отчёт (ОСВ, анализ счёта, ведомость) — оформленный табличный документ с группировками. Сохраняется кнопкой прямо из отчёта.
  • 🧮 Произвольная выборка (данные, которых нет в готовом списке или отчёте) — собирается запросом и выгружается программно или через консоль запросов.
Какой способ экспорта выбрать?

Выгрузка списка командой «Вывести список»

Это основной способ для справочников и журналов. Работает в любом списочном окне.

  1. Откройте нужный список — например, Справочники → Номенклатура или журнал документов.
  2. При необходимости настройте отбор и сортировку: то, что видно на экране, то и попадёт в файл.
  3. Нажмите кнопку Еще (в правой части командной панели списка) → Вывести список.
  4. В открывшемся окне выберите тип — Табличный документ (для Excel) и отметьте колонки, которые нужно выгрузить.
  5. Нажмите ОК. 1С сформирует табличный документ.
  6. Сохраните его: Главное меню → Файл → Сохранить как, в типе файла выберите Лист Excel 2007-... (*.xlsx).

Отбор и группировки, настроенные в списке через Еще → Настроить список, переносятся в выгрузку. Сначала доведите список до нужного вида на экране, потом выгружайте.

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

Тем же способом выгружается табличная часть внутри документа. Откройте документ, встаньте в его табличную часть (строки товаров, услуг) и вызовите Еще → Вывести список над этой таблицей — в файл попадут именно её строки.

Когда строк две-три, обходятся без выгрузки вовсе: выделите нужные строки списка мышью с зажатым Ctrl, скопируйте сочетанием Ctrl + C и вставьте прямо в открытый лист Excel. 1С кладёт в буфер обмена данные с разделителями, и Excel раскладывает их по колонкам.

Доступ к любому списку через «Все функции»

Иногда нужный список не вынесен в интерфейс — например, таблица регистра сведений или служебный справочник. До него добираются через меню «Все функции».

Сначала команду надо включить: Главное меню → Сервис → Параметры (или Настройки), поставить галку Отображать команду «Все функции». После этого в главном меню появится пункт Все функции.

Через Все функции открывается полный перечень объектов конфигурации: справочники, документы, регистры, обработки. Открываете нужную таблицу — и дальше та же команда Еще → Вывести список.

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

Сохранение отчёта с оформлением и группировками

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

  1. Сформируйте отчёт кнопкой Сформировать.
  2. В командной панели отчёта нажмите кнопку сохранения (значок дискеты) либо Главное меню → Файл → Сохранить как.
  3. Выберите формат из списка.

Доступные форматы сохранения табличного документа:

ФорматРасширениеКогда выбрать
Лист Excel 2007 и новее.xlsxОсновной формат для Excel
Лист Excel 97-2003.xlsСтарый Excel или сторонние программы
Таблица OpenDocument.odsLibreOffice, OpenOffice
Документ PDF.pdfПечать и пересылка без правок
Табличный документ.mxlОткрыть обратно в 1С

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

Нужен не Excel, а простой текстовый файл для загрузки в стороннюю программу — выбирайте в команде Вывести список тип Текстовый документ. Колонки разделяются табуляцией, такой файл легко импортируется куда угодно. Сохраняется он через то же Файл → Сохранить как в формат .txt, а при открытии в Excel данные разложатся по столбцам мастером импорта.

Проверка перед выгрузкой отчёта
Выполнено: 0 / 4

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

Когда выгрузка нужна регулярно или данных нет в готовом отчёте, задачу решают встроенным языком. Любой табличный документ сохраняется в 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 для старых форматов или чтением табличного документа методом Прочитать. Это уже не выгрузка, а отдельная тема загрузки.

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

Если данные разбросаны по разным объектам и собрать их списком нельзя, удобна консоль запросов. Это внешняя обработка, которая выполняет текст запроса и показывает результат таблицей.

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

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

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

Для регулярных выгрузок пишут собственную внешнюю обработку с методом Записать из предыдущего раздела. Её удобно подключить в базу через Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки, если в конфигурации включён механизм дополнительных обработок.

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

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

В «1С:Бухгалтерии 3.0» и других конфигурациях на БСП путь такой: Администрирование → Печатные формы, отчёты и обработки → Рассылки отчётов. В рассылке указывают:

  • 📄 какие отчёты включить и с какими настройками;
  • 📁 формат вложения — выберите .xlsx, чтобы получатель открыл файл в Excel;
  • 📧 получателей (email) или сетевой каталог для сохранения;
  • 🕒 расписание — ежедневно, еженедельно, по дням месяца.

Рассылка работает как регламентное задание. На файловой базе она отрабатывает, только когда база запущена, поэтому для стабильной работы по расписанию базу переводят в клиент-серверный режим или держат открытым сеанс.

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

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

Типичные ошибки при экспорте и как их избежать

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

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

Можно ли выгрузить сразу в старый формат .xls?
Да. При сохранении в типе файла выберите «Лист Excel 97-2003 (*.xls)». Но для современных версий Excel предпочтительнее .xlsx: он держит больше строк и колонок.
Как выгрузить данные без доступа к Excel на компьютере?
Сохраните в формат .ods (OpenDocument) — его открывает бесплатный LibreOffice. Либо выгрузите в .pdf, если файл нужен только для просмотра и печати.
Сколько строк можно выгрузить за раз?
Ограничение не в 1С, а в Excel: лист .xlsx вмещает примерно миллион строк. Если выгрузка упирается в этот предел, дробите данные отбором по периодам или группам.
Почему в выгруженном файле вместо кода номенклатуры стоят решётки или E+?
Так Excel показывает слишком длинное число в узкой ячейке или переводит его в экспоненту. Расширьте колонку или заранее задайте ей текстовый формат — данные при этом не теряются.
Можно ли настроить выгрузку, чтобы она шла сама каждый день?
Да, через Рассылки отчётов: укажите отчёт, формат .xlsx, получателя и расписание. На файловой базе рассылка срабатывает только при запущенной программе.