Выгрузка данных из 1С в Excel: отчёты, списки и таблицы
Содержание
Сформированный отчёт или открытый список в 1С 8.3 сохраняется в Excel через Главное меню → Файл → Сохранить как, где в поле типа файла выбирают Лист Excel 2007-…(*.xlsx). Это работает для любого табличного документа: оборотно-сальдовой ведомости, карточки счёта, УПД, списка номенклатуры или контрагентов.
Способов на самом деле несколько, и они не взаимозаменяемы. Отчёт удобнее сохранять целиком через меню, список справочника — командой «Вывести список », а пару ячеек проще скопировать через буфер обмена. Ниже — все рабочие варианты для платформы 8.3 с интерфейсом «Такси», с точными путями, выбором формата и разбором ошибок, из-за которых файл открывается пустым или с «кашей» вместо чисел.
Сохранение сформированного отчёта в файл
Любой отчёт в 1С — это табличный документ. Пока он не сформирован, сохранять нечего, поэтому сначала нажмите Сформировать (Ctrl+Enter), а уже потом выгружайте.
Порядок действий:
- Сформируйте отчёт — например,
Отчёты → Оборотно-сальдовая ведомость. - Откройте
Главное меню → Файл → Сохранить как(главное меню — это кнопка со значком в левом верхнем углу окна программы, рядом с кнопками навигации). - В окне сохранения выберите папку и в поле
Тип файлаукажитеЛист Excel 2007-…(*.xlsx). - Задайте имя файла и нажмите
Сохранить.
На командной панели сформированного отчёта обычно есть кнопка с изображением дискеты — это тот же Сохранить как. Если навести курсор, во всплывающей подсказке будет написано «Сохранить».
Так сохраняется и печатная форма документа. Откройте, например, счёт или УПД, нажмите Печать, а на появившемся табличном документе — Сохранить как. Форма ляжет в Excel один в один с разметкой, объединёнными ячейками и рамками.
Перед выгрузкой убедитесь, что отчёт действительно сформирован. Если сохранить пустую форму, в файле будут только шапка и настройки — данных не будет.
Выгрузка списка справочника или документов
Список номенклатуры, контрагентов, документов за период в Excel выгружается не через Сохранить как, а отдельной командой — списки это не отчёты.
- Откройте нужный список — например,
Справочники → Номенклатураили журнал документов . - При необходимости настройте отбор (по складу, периоду, группе) — в файл попадёт то, что видно на экране с учётом отбора.
- Нажмите
Ещё → Вывести список. - В открывшемся окне выберите
Выводить в: табличный документи отметьте галочками колонки, которые нужны в файле. - Нажмите
ОК— сформируется табличный документ. - Сохраните его через
Главное меню → Файл → Сохранить какв формат*.xlsx(как в предыдущем разделе).
В файл попадают только видимые в списке колонки. Если нужен, скажем, ИНН контрагента или артикул номенклатуры, сначала выведите эти колонки на экран через Ещё → Изменить форму (или настройку списка), а потом выводите список.
Для аналитики по документам за период чаще удобнее не выгружать журнал, а построить Отчёты → Универсальный отчёт: там можно вывести реквизиты и суммы в нужных разрезах, а затем сохранить результат в Excel тем же способом. В универсальном отчёте выбирают тип источника (документ, справочник, регистр), объект и в настройках задают строки, колонки и отборы — на выходе получается такой же табличный документ, готовый к сохранению.
Если список очень большой (десятки тысяч строк), вывод списка может работать заметно дольше самого отчёта. Для разовой массовой выгрузки надёжнее сузить период или отбор, а для регулярной — использовать программную запись из кода (ниже).
Копирование через буфер обмена
Когда нужны не весь отчёт, а несколько строк или одна колонка, быстрее работать через буфер обмена — без промежуточного файла.
Из табличного документа (отчёта, печатной формы):
- выделите мышью нужные ячейки;
- нажмите
Ctrl+C; - перейдите в открытый лист Excel и нажмите
Ctrl+V.
Из списка справочника или документов:
- выделите строки (
Ctrl+A— все, либо с зажатымCtrl/Shift— выборочно); - нажмите
Ctrl+C; - вставьте в Excel через
Ctrl+V.
Из списка копируются значения видимых колонок с разделением по столбцам. Это самый быстрый способ перенести небольшой фрагмент, но форматирование (цвета, объединённые ячейки, формулы итогов) при копировании не переносится — в Excel попадают только значения.
Буфер удобен и для обратной задачи — взять одно-два значения из Excel и вставить в поле 1С. А вот переносить через буфер сотни строк не стоит: большой фрагмент вставляется медленно и чаще «съезжает» по столбцам, чем аккуратная выгрузка через Сохранить как.
Если после вставки длинные числа (коды, штрихкоды, ИНН) превратились в экспоненту вида 4,6E+12, заранее задайте в Excel для этих столбцов текстовый формат и только потом вставляйте.
Какой формат выбрать: XLSX, XLS, MXL или CSV
В окне Сохранить как 1С предлагает больше десятка форматов. Для выгрузки в Excel имеют значение четыре.
| Формат | Когда выбирать | Ограничения |
|---|---|---|
Лист Excel 2007 (*.xlsx) | По умолчанию для современного Excel | До ~1 млн строк, нужен Excel 2007 и новее |
Лист Excel 95/97 (*.xls) | Для очень старого Excel | Не более 65 536 строк — лишнее обрежется |
Табличный документ (*.mxl) | Чтобы снова открыть в 1С | Excel такой файл не откроет |
CSV с разделителями (*.csv) | Для импорта в другие программы | Теряется форматирование, важна кодировка |
Рекомендация простая: для Excel выбирайте xlsx. Старый xls берите, только если файл будут открывать в Excel 2003 — иначе вы рискуете потерять строки сверх лимита без предупреждения.
Про кодировку стоит помнить при выгрузке в CSV. Если принимающая программа ждёт Windows-1251, а файл сохранён в UTF-8 (или наоборот), кириллица откроется нечитаемыми символами. Формат xlsx этой проблемы лишён — кодировка внутри него фиксированная, поэтому для обычного переноса в Excel он надёжнее CSV.
Отдельно про mxl: это внутренний формат табличного документа 1С. Он полностью сохраняет разметку и расшифровки, но открывается только в 1С. Выбирайте его, если файл позже снова понадобится загрузить или распечатать из
программы, а не редактировать в Excel.
Что сохраняется в Excel, а что теряется
Табличный документ 1С и лист Excel устроены по-разному, поэтому при выгрузке в xlsx часть элементов переносится, а часть — нет. Это заранее снимает половину вопросов «почему в файле не так, как на экране».
Переносится:
- 📊 значения ячеек, их объединение, рамки, заливка и шрифты;
- 🧱 группировки строк и колонок (плюсики на отчёте) — в Excel они становятся структурой: строки так же сворачиваются и разворачиваются;
- 🖼 картинки и логотипы из печатных форм, шапки и подвалы.
Не переносится или меняется:
- расшифровки 1С (двойной клик по ячейке с переходом в документ) — в Excel это просто текст, перехода нет;
- итоги, которые в отчёте пересчитываются динамически, — в Excel попадают готовыми числами, без формул;
- защита «только просмотр»: если табличный документ был защищён, в Excel ограничение не переносится, файл редактируется свободно.
Если в отчёте есть группировки и вы хотите видеть в Excel только итоги, сверните лишние уровни на экране перед выгрузкой — структура в файле повторит то, что было развёрнуто.
Числа и даты 1С отдаёт в их естественных типах, поэтому в Excel они сразу считаются как числа и даты. Проблемы начинаются только с «числами, которые на самом деле коды» — ИНН, артикулами, штрихкодами: их Excel тоже примет за числа и округлит или свернёт в экспоненту. Про это — в разделе об ошибках.
Выгрузка из кода и внешними обработками
Когда выгрузку нужно повторять регулярно или собирать данные сложнее, чем даёт готовый отчёт, помогает программная запись табличного документа или внешняя обработка.
Табличный документ записывается в файл одним методом:
ТабДок = Отчет.СформироватьТабличныйДокумент();
ТабДок.Записать("C:\Выгрузка\otchet.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Доступны типы XLSX, XLS97 (старый Excel), ODS (OpenOffice/LibreOffice) и MXL. Этот код можно оформить как внешнюю обработку
и запускать вручную или по расписанию регламентным заданием — тогда файл будет формироваться без участия пользователя.
Для разовой выборки по произвольным данным удобна консоль запросов (внешняя обработка): результат запроса выводится в табличный документ, а дальше сохраняется в xlsx обычным способом.
Если в организации используют не Microsoft Excel, а LibreOffice или «Р7-Офис», выгружайте в xlsx — его открывают все современные табличные редакторы. Формат ODS (тип ТипФайлаТабличногоДокумента.ODS) берите только когда принимающая сторона прямо просит именно его.
Регламентное задание выполняется на сервере, и путь C:\Выгрузка\… будет указывать на диск сервера, а не вашего компьютера. Для выгрузки в сетевую папку используйте UNC-путь вида \\server\share\..., к которому у учётной записи сервера 1С есть доступ на запись.
Если нужна не выгрузка, а наоборот — загрузка данных из Excel
в 1С, в типовых «Бухгалтерии предприятия» и «Управлении торговлей» для этого есть встроенная обработка загрузки из табличного документа (её ищут через Сервис или подбор обработок по слову «загрузка»). Это уже обратная задача, но путает её с выгрузкой часто.
Если выгрузка идёт с ошибками
Чаще всего проблема не в 1С, а в том, как Excel интерпретирует уже выгруженные данные. Разберём, что делать в типичных ситуациях.
В веб-клиенте и тонком клиенте через браузер файл не «сохраняется на диск сервера», а скачивается браузером в папку загрузок — проверяйте настройки загрузки браузера, если файл «пропал».
Частые вопросы
Можно ли выгрузить несколько отчётов в один файл Excel с разными листами?
Сохранить как кладёт один табличный документ в один файл (один лист). Чтобы собрать несколько листов, сохраните каждый отчёт отдельным файлом и объедините листы уже в Excel, либо соберите нужные данные одним табличным документом из кода.Чем .mxl отличается от .xlsx?
mxl — внутренний формат табличного документа 1С, он открывается только в 1С и полностью сохраняет разметку и расшифровки. xlsx — формат Excel, его откроет любой табличный редактор, но часть внутренней «магии» 1С (расшифровки по ячейкам) в нём теряется.Как выгрузить так, чтобы длинные коды не превращались в числа?
Сохранить как в xlsx 1С старается сохранить представление, но для гарантии текстовый формат ячеек в Excel решает проблему всегда.Куда сохраняется файл, если я работаю через браузер?
Можно ли настроить автоматическую выгрузку по расписанию?
Записать в заданную папку. Учтите, что задание работает на сервере, поэтому путь должен быть доступен серверу 1С на запись.