Отчеты и Аналитика · 11 мин
Как выгружать данные из 1С в Excel
Пошаговая инструкция по выгрузке данных из 1С в Excel: табличные документы, отчеты, документы, обработки и COM-обмен. Разбор ошибок и ограничений.
Выгрузка данных из 1С в Excel — одна из самых частых задач бухгалтеров, менеджеров и аналитиков. Данные нужны для сводных таблиц, отчетов руководству, обмена с контрагентами и загрузки в другие системы. 1С предлагает несколько встроенных способов: сохранение табличного документа, выгрузку прямо из отчета или документа, а также программные методы через обработки и COM-соединение.
Выбор способа зависит от задачи: одноразовый отчет проще сохранить кнопкой «Сохранить как», регулярные выгрузки удобнее автоматизировать обработкой, а массовый обмен с Excel-файлами — строить через COM-объект. Ниже разобраны все рабочие варианты с точными действиями, ограничениями и проверкой результата.
Способ 1. Сохранение табличного документа как Excel-файла
Базовый способ, который работает в любой конфигурации 1С:Предприятие 8. Почти любой отчет, печатная форма документа или сформированная ведомость в 1С — это табличный документ, а его можно сохранить в формате Excel без дополнительных настроек.
Порядок действий: сформируйте нужный отчет (например, «Оборотно-сальдовая ведомость» или «Анализ продаж»), затем откройте меню «Файл» → «Сохранить как» (или нажмите Ctrl+Shift+S). В диалоге выберите тип файла «Лист Excel (.xlsx)» или «Лист Excel 97–2003 (.xls)», укажите папку и имя файла. В большинстве конфигураций на панели инструментов отчета есть отдельная кнопка сохранения с иконкой дискеты.
Формат XLSX предпочтительнее: он поддерживает больше строк, лучше сохраняет форматирование и открывается во всех современных версиях Excel. Формат XLS стоит выбирать, только если файл будет открываться на очень старом компьютере или загружаться в систему, которая не понимает XLSX.
- 1Сформируйте отчет или откройте печатную форму документа
- 2Нажмите Файл → Сохранить как или Ctrl+Shift+S
- 3Выберите тип файла «Лист Excel (*.xlsx)»
- 4Укажите папку и имя, нажмите «Сохранить»
- 5Откройте файл в Excel и проверьте данные
Способ 2. Выгрузка списков и табличных частей
Списки справочников (номенклатура, контрагенты, сотрудники) и табличные части документов часто нужны в Excel целиком. В типовых конфигурациях для этого есть команда «Вывести список»: откройте список, нажмите кнопку «Ещё» в командной панели и выберите «Вывести список». В диалоге отметьте нужные колонки, и 1С сформирует табличный документ, который дальше сохраняется в Excel описанным выше способом.
Перед выводом списка настройте отбор и сортировку: если в справочнике номенклатуры 50 тысяч позиций, выгружать все без фильтра долго и неудобно. Установите отбор по группе, поставщику или периоду — тогда в Excel попадут только нужные строки.
В табличных частях документов (например, товары в «Реализации») работает контекстное меню: кликните правой кнопкой по таблице и выберите «Вывести список» или скопируйте строки через Ctrl+C и вставьте в Excel через Ctrl+V. Копирование через буфер подходит для небольших таблиц, но при большом объеме может переносить данные с ошибками в форматах чисел.
Способ 3. Выгрузка из отчетов на СКД
Отчеты на системе компоновки данных (СКД) — это большинство типовых отчетов в «Бухгалтерии», «Управлении торговлей» и ERP. Их главное преимущество: перед выгрузкой можно гибко настроить состав полей, группировки и отборы, а результат сохранить в Excel одной кнопкой.
Чтобы получить «плоскую» таблицу для анализа, отключите итоги и группировки: в настройках отчета уберите лишние группировки и оставьте детальные записи. Тогда в Excel попадет таблица, пригодная для сводных таблиц и фильтров, без объединенных ячеек и многоуровневых шапок, которые мешают обработке.
Обратите внимание: если отчет содержит группировки, в Excel они переносятся с объединенными ячейками и строками итогов. Для печатного вида это удобно, для дальнейшей обработки — нет. В таком случае либо меняйте структуру отчета, либо в Excel используйте «Выделить группу ячеек» и заполнение пустых ячеек значениями выше.
Способ 4. Универсальные обработки и типовые механизмы обмена
Для регулярных выгрузок, когда данных много и структура сложная, ручное сохранение не подходит. В типовых конфигурациях есть встроенные механизмы: например, выгрузка данных в банк-клиент, обмен с торговым оборудованием, выгрузка прайсов. Многие из них формируют файлы в форматах CSV или Excel.
Для произвольных выгрузок используется обработка «Универсальный обмен данными в формате XML» или сторонние обработки выгрузки в Excel. Принцип работы: обработка выполняет запрос к данным 1С и построчно записывает результат в файл. Такие обработки открываются через «Файл» → «Открыть» и требуют прав на доступ к выгружаемым данным.
Если в компании есть программист 1С, оптимальный вариант — внешняя обработка, написанная под конкретную задачу: она формирует файл нужной структуры одним нажатием и исключает ручные ошибки. Для файловых баз обработка запускается напрямую, для клиент-серверных — с учетом того, что файл формируется на сервере или клиенте.
Сравнение способов выгрузки
Подходит для разовых выгрузок отчетов и печатных форм. Ограничение: переносит оформление, объединенные ячейки мешают обработке.
Подходит для справочников и табличных частей с выбором колонок. Ограничение: только простые таблицы без иерархии.
Подходит для регулярных и сложных выгрузок. Ограничение: нужна разработка и права на внешние обработки.
Подходит для массового обмена с готовыми Excel-шаблонами. Ограничение: требует установленного Excel и программирования на встроенном языке.
Способ 5. Программная выгрузка через COM-объект Excel
Когда данные нужно записать в готовый Excel-шаблон с формулами и макетом, используется COM-соединение: 1С запускает Excel как COM-объект и заполняет ячейки программно. Это стандартный прием для выгрузки прайсов, заказов поставщикам и отчетов по форме заказчика.
Типовой фрагмент кода на встроенном языке выглядит так:
Excel = Новый COMОбъект("Excel.Application");
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);
Лист.Cells(1, 1).Value = "Номенклатура";
Лист.Cells(1, 2).Value = "Цена";
// ... заполнение строк из запроса ...
Книга.SaveAs("C:\Выгрузка\Прайс.xlsx");
Excel.Quit();
У этого способа есть ограничения: на компьютере, где выполняется код, должен быть установлен Microsoft Excel; выгрузка больших объемов (десятки тысяч строк) через COM работает медленно; при ошибке в коде процесс Excel может остаться висеть в памяти. Для больших объемов быстрее формировать табличный документ и сохранять его в XLSX штатными средствами платформы, без COM.
Проверка результата и типичные проблемы
После выгрузки откройте файл и сверьте ключевые цифры с отчетом в 1С: итоговую сумму, количество строк, остатки. Самая частая проблема — числа, сохраненные как текст: Excel подчеркивает их зеленым треугольником в углу ячейки, и формулы по ним не считаются. Лечится преобразованием: выделите столбец → «Данные» → «Текст по столбцам» → «Готово», либо умножением на 1 через «Специальную вставку».
Вторая типичная ситуация — «кривые» даты и потеря ведущих нулей в кодах и артикулах. Артикул «001234» после выгрузки может превратиться в число 1234. Чтобы этого избежать, в обработках такие поля выгружают как текст, а при ручном копировании заранее назначают ячейкам текстовый формат.
Если файл не открывается или Excel сообщает о повреждении, чаще всего причина в прерванном сохранении или в том, что файл формировался на сервере 1С и не был полностью передан клиенту. Повторите сохранение; если ошибка повторяется — сохраните табличный документ в формате MXL (родной формат 1С), откройте его заново и сохраните в XLSX отдельным шагом.
Как проверить результат
Совпадает с количеством строк в отчете или списке 1С
Строк меньше — сработал отбор или лимит выгрузки
Итоги в Excel сходятся с итогами отчета в 1С
Расхождения — числа сохранились как текст или потеряны строки
Ведущие нули на месте, формат текстовый
Нули потеряны, значения превратились в числа
Распознаны как даты, сортируются корректно
Даты стали текстом и не фильтруются по периоду
Что выбрать в вашей ситуации
Для разовых задач достаточно сохранения табличного документа — это занимает меньше минуты и не требует никаких настроек. Для еженедельных выгрузок однотипных данных договоритесь с программистом о внешней обработке: вложение окупается уже после нескольких циклов, потому что исключает ручные ошибки и экономит время.
Если выгрузка нужна не человеку, а другой системе (сайт, CRM, складская программа), рассмотрите альтернативы Excel: форматы CSV и XML читаются машинами надежнее, а план обмена или HTTP-сервисы позволяют передавать данные автоматически без файлов вообще.
Как выбрать способ
Что важно запомнить
Разовая выгрузка — это сохранение табличного документа в XLSX; регулярная — внешняя обработка; заполнение шаблонов — COM-объект. Всегда проверяйте итоги, форматы чисел и ведущие нули после выгрузки, а новые обработки тестируйте на копии базы.
Частые вопросы
Почему в Excel числа из 1С не суммируются?
Числа сохранились как текст — обычно из-за разделителей разрядов или нестандартных символов. Выделите столбец, откройте «Данные» → «Текст по столбцам» и нажмите «Готово», либо умножьте диапазон на 1 через «Специальную вставку». Зеленый треугольник в углу ячейки — признак именно этой проблемы.
Как выгрузить из 1С больше 65536 строк?
Сохраняйте в формате XLSX, а не XLS: старый формат ограничен 65536 строками, новый поддерживает более миллиона. Если строк больше и этого лимита, разбивайте выгрузку по периодам или используйте CSV.
Можно ли выгружать данные в Excel автоматически по расписанию?
Да, через регламентное задание: обработка формирует файл и сохраняет его в сетевую папку или отправляет по почте. Такая настройка требует участия программиста 1С и работает в клиент-серверных базах штатно, в файловых — при постоянно запущенном сеансе.
Почему теряются ведущие нули в артикулах и кодах?
Excel воспринимает такие значения как числа и отбрасывает нули слева. При программной выгрузке записывайте эти поля как текст, а при ручной вставке заранее назначьте целевым столбцам текстовый формат.
Можно ли выгрузить данные из 1С без установленного Excel?
Да. Сохранение табличного документа в XLSX выполняется средствами платформы 1С и не требует установленного Excel. Установленный Excel нужен только для COM-выгрузки. Открыть полученный XLSX можно и в бесплатных редакторах — LibreOffice Calc или Google Таблицах.