Выгрузка данных из 1С:Предприятие в Excel — одна из самых востребованных операций среди бухгалтеров, аналитиков и менеджеров. Без этого навыка невозможно быстро сформировать отчёты для руководства, перенести справочники в другие системы или просто проанализировать большие массивы данных в удобном формате. Однако даже опытные пользователи 1С сталкиваются с проблемами: то формат ячеек сбивается, то выгружаются не все колонки, то файлы получаются слишком тяжёлыми.
В этой статье мы разберём 5 рабочих способов выгрузки — от простейшего копирования через буфер обмена до автоматизированного экспорта с помощью COM-соединения и 1С:Script. Особое внимание уделим типичным ошибкам (например, когда вместо чисел выгружаются даты) и оптимизации процессов для регулярных задач. Все инструкции актуальны для 1С:Предприятие 8.3 и 8.2 (включая последние релизы 2026 года), а также совместимы с Microsoft Excel 2016–2026 и LibreOffice Calc.
Если вам нужно срочно выгрузить один отчёт — переходите сразу к ручному способу. Для автоматизации повторяющихся задач изучите разделы про COM-соединение и скрипты. А если выгружаемые данные «ломаются» — проверьте блок с решениями ошибок.
1. Ручная выгрузка через буфер обмена (самый быстрый способ)
Это базовый метод, который работает в любой конфигурации 1С без дополнительных настроек. Подходит для разовых задач, когда нужно выгрузить небольшой отчёт или справочник (до 10 000 строк). Главный плюс — не требует прав администратора и навыков программирования.
Алгоритм действий:
- 📋 Откройте в 1С нужный отчёт, справочник или документ (например,
Отчёты → Оборотно-сальдовая ведомость). - 🔍 Настройте отборы и группировки, чтобы в таблице отобразились только необходимые данные.
- 🖱️ Выделите все строки таблицы (кликните на серый треугольник в левом верхнем углу или нажмите
Ctrl+A). - 📋 Скопируйте данные в буфер (
Ctrl+Cили правая кнопка →Копировать). - 📊 Вставьте в Excel (
Ctrl+V).
⚠️ Внимание: При копировании из 1С в Excel часто «съезжают» форматы дат и чисел. Например, номер телефона 89123456789 может преобразоваться в научную нотацию 8,91E+09. Чтобы этого избежать:
⚠️ Внимание: Перед вставкой в Excel выделите пустую область листа → кликните правой кнопкой → выберите
Специальная вставка → Текст. Это сохранит исходный формат данных.
Убедитесь, что в 1С отображаются все нужные колонки (нажмите правой кнопкой на заголовок таблицы → "Настройка списка")
Проверьте, что в Excel включена опция "Показывать все формулы" (если выгружаются расчёты)
Отключите в Excel автоматическое форматирование чисел (Файл → Параметры → Дополнительно → Снимите галочку "Автоматически вставлять десятичную запятую")
Сохраните файл Excel в формате .xlsx, а не .xls, чтобы избежать ограничения на 65 536 строк-->
2. Стандартная выгрузка через «Сохранить как…» (для отчётов)
Многие отчёты в 1С поддерживают прямой экспорт в Excel через меню Файл → Сохранить как…. Этот способ удобнее ручного копирования, так как сохраняет структуру таблицы (объединённые ячейки, цвета, формулы). Однако он работает не для всех справочников и документов — только для отчётов с табличным выводом.
Пошаговая инструкция:
- Сформируйте отчёт в 1С (например,
Анализ счётаилиВедомость по товарам). - Нажмите
Файл → Сохранить как…(илиЕщё → Выгрузитьв новых версиях). - Выберите формат:
- 📑
Excel 2007–2026 (*.xlsx)— для современных версий; - 📑
Excel 97–2003 (*.xls)— если нужен совместимый формат (ограничение 65 536 строк).
- 📑
- Укажите путь для сохранения и нажмите
ОК. - 📊 «ВыгрузкаЗначенийВExcel83» — универсальная обработка для любых таблиц;
- 📈 «SuperExcel8» — поддерживает сводные таблицы и графики;
- 📑 «ВыгрузкаДокументовВExcel» — для пакетной выгрузки документов с вложениями.
🔹 Преимущества метода: сохраняет форматирование, работает без дополнительных настроек.
🔸 Недостатки: не все отчёты поддерживают экспорт; иногда «слетают» формулы.
XLSX (Excel 2007 и новее)
XLS (Excel 97–2003)
CSV (значения, разделённые запятыми)
Другой-->
3. Автоматическая выгрузка через COM-соединение (для программистов)
Если вам нужно регулярно выгружать данные по расписанию (например, ежедневные остатки товаров или ежемесячные обороты), ручные методы не подойдут. В этом случае используйте COM-соединение — технологию, которая позволяет 1С напрямую взаимодействовать с Excel через объектную модель.
Пример кода для выгрузки таблицы документов ПоступлениеТоваров в Excel:
Процедура ВыгрузитьВExcel()
// Создаём объект Excel
Excel = Новый COMОбъект("Excel.Application");
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);
// Загружаем данные из 1С
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПоступлениеТоваров.Номер КАК Номер,
| ПоступлениеТоваров.Дата КАК Дата,
| ПоступлениеТоваров.СуммаДокумента КАК Сумма
|ИЗ
| Документ.ПоступлениеТоваров КАК ПоступлениеТоваров";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
// Заполняем Excel
Лист.Cells(1, 1).Value = "Номер";
Лист.Cells(1, 2).Value = "Дата";
Лист.Cells(1, 3).Value = "Сумма";
Строка = 2;
Пока Выборка.Следующий() Цикл
Лист.Cells(Строка, 1).Value = Выборка.Номер;
Лист.Cells(Строка, 2).Value = Выборка.Дата;
Лист.Cells(Строка, 3).Value = Выборка.Сумма;
Строка = Строка + 1;
КонецЦикла;
// Сохраняем файл
ПутьКФайлу = "C:\Отчёты\Поступления.xlsx";
Книга.SaveAs(ПутьКФайлу);
Excel.Quit();
КонецПроцедуры
⚠️ Внимание: Для работы этого кода на компьютере должен быть установлен Microsoft Excel (не подходит Excel Online или LibreOffice). Также требуются права на запись в папку C:\Отчёты\ (или измените путь в коде).
1. Установлен ли Excel на компьютере (не только просмотрщик).
2. Запущена ли 1С от имени администратора (для доступа к COM-объектам).
3. Разрешены ли макросы в Excel (Файл → Параметры → Центр управления безопасностью).-->
4. Выгрузка через 1С:Script (универсальный способ)
1С:Script — это встроенный язык автоматизации, который позволяет выгружать данные в Excel без использования COM. Преимущество метода: работает даже на сервере 1С, где нет установленного Excel, и поддерживает форматы .xlsx, .csv, .ods.
Пример скрипта для выгрузки справочника Номенклатура в CSV:
Процедура ВыгрузитьНоменклатуруВCSV()
// Формируем запрос
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул,
| Номенклатура.Цена КАК Цена
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
// Создаём объект для записи в файл
ЗаписьТекста = Новый ЗаписьТекста;
ПутьКФайлу = "C:\Отчёты\Номенклатура.csv";
ЗаписьТекста.Открыть(ПутьКФайлу, КодировкаТекста.UTF8);
// Пишем заголовки
ЗаписьТекста.ЗаписатьСтроку("Наименование;Артикул;Цена");
// Пишем данные
Пока Выборка.Следующий() Цикл
Строка = Выборка.Наименование + ";" +
Выборка.Артикул + ";" +
Выборка.Цена;
ЗаписьТекста.ЗаписатьСтроку(Строка);
КонецЦикла;
ЗаписьТекста.Закрыть();
Сообщить("Файл сохранён: " + ПутьКФайлу);
КонецПроцедуры
Критичный нюанс: При выгрузке в CSV разделителем по умолчанию является точка с запятой (;). Если в ваших данных встречается этот символ (например, в описаниях товаров), замените разделитель на | или tab, чтобы избежать ошибок при открытии файла в Excel.
5. Выгрузка через внешние обработки (для нестандартных задач)
Если стандартные методы не подходят (например, нужно выгрузить данные в специфическом формате или с дополнительной логикой), используйте внешние обработки. Их можно скачать с портала 1С-ИТС или написать самостоятельно.
Популярные обработки для выгрузки в Excel:
Как подключить обработку:
- Скачайте файл обработки (
.epfили.erf). - В 1С перейдите в
Файл → Открыть…и выберите скачанный файл. - Следуйте инструкциям обработки (обычно нужно указать источник данных и путь для сохранения).
Где скачать обработки для выгрузки?
Официальные обработки можно найти на портале 1С-ИТС (раздел "Обмен данными → Экспорт в Excel").
Также проверенные решения публикуют на форумах:
- Infostart.ru (раздел "Обработки для 1С")
- Forum.Mista.ru (тема "Экспорт в Excel")
- GitHub (поиск по тегу 1C-to-Excel)
🔹 Важно: Перед использованием обработок от третьих разработчиков проверьте их на тестовой базе — некоторые содержат вредоносный код.
6. Типичные ошибки и их решения
Даже при правильной выгрузке данные в Excel могут отображаться некорректно. Разберём самые распространённые проблемы и способы их исправления.
| Ошибка | Причина | Решение |
|---|---|---|
Дата отображается как число (например, 44197 вместо 01.01.2026) |
Excel интерпретирует дату как количество дней с 1900 года | Выделите колонку → правая кнопка → Формат ячеек → Дата |
Числа преобразуются в научную нотацию (1E+10) |
Excel округляет большие числа | Перед вставкой отформатируйте колонку как Текстовый формат |
Русские буквы заменяются на ???? |
Неверная кодировка при сохранении в CSV |
Используйте КодировкаТекста.UTF8 в скрипте |
| Выгружаются не все строки | Ограничение Excel на 1 048 576 строк (.xlsx) или 65 536 (.xls) |
Разбейте данные на несколько файлов или используйте CSV |
⚠️ Внимание: Если при выгрузке через COM возникает ошибка "Автоматизация не разрешена", проверьте настройки безопасности 1С:
⚠️ Внимание: Перейдите в
Сервис → Параметры → Защитаи убедитесь, что включена опция"Разрешить выполнение небезопасных действий". После изменения настроек перезапустите 1С.
7. Оптимизация выгрузки для больших данных
Если вам нужно выгрузить более 100 000 строк, стандартные методы могут «подвешивать» 1С или Excel. Чтобы ускорить процесс:
- 🔄 Используйте пакетную выгрузку: разбейте данные на части по 50 000 строк и сохраняйте в отдельные файлы.
- 📂 Выгружайте в
CSV: этот формат легчеXLSXи быстрее обрабатывается. - 🛠️ Отключите обновление экрана: в скрипте добавьте строки:
Excel.ScreenUpdating = Ложь; // Отключаем обновление экрана// ... код выгрузки ...
Excel.ScreenUpdating = Истина; // Включаем обратно
- 🗑️ Удаляйте ненужные колонки: выгружайте только те поля, которые действительно нужны для анализа.
Для выгрузки более 1 млн строк используйте 1С:DataExchange или специализированные ETL-инструменты (например, Kettle или SSIS). Прямой экспорт в Excel в таких случаях неэффективен.
FAQ: Частые вопросы по выгрузке из 1С в Excel
Можно ли выгрузить данные из 1С в Excel без установленного Office?
Да, если использовать формат CSV или ODS (для LibreOffice). Также подойдёт выгрузка через 1С:Script или внешние обработки, которые не требуют COM-соединения. Например, обработка «ВыгрузкаЗначенийВExcel83» может сохранять данные в XLSX без установленного Excel (использует собственные библиотеки).
Как выгрузить в Excel данные с иерархией (например, справочник «Номенклатура» с группами)?
Для выгрузки иерархических данных используйте рекурсивный запрос или обработку «ВыгрузкаДереваВExcel». Пример кода для рекурсивного обхода:
Процедура ВыгрузитьИерархию(Элемент, Уровень)
Лист.Cells(Строка, 1).Value = Повтор(" ", Уровень) + Элемент.Наименование;
Строка = Строка + 1;
Для Каждого Подчиненный Из Элемент.Подчиненные Цикл
ВыгрузитьИерархию(Подчиненный, Уровень + 1);
КонецЦикла;
КонецПроцедуры
Почему при выгрузке в Excel суммы отображаются с копейками, а мне нужны целые числа?
Это происходит из-за настроек формата чисел в 1С или Excel. Решения:
- В 1С: в запросе используйте функцию
ОКРУГЛ(Сумма, 0). - В Excel: выделите колонку с суммами → правая кнопка →
Формат ячеек → Числовойс нулем десятичных знаков.
Как автоматизировать выгрузку по расписанию (например, каждый день в 18:00)?
Для этого настройте регламентное задание в 1С:
- Перейдите в
Администрирование → Регламентные задания. - Создайте новое задание, укажите расписание (например,
Ежедневно в 18:00). - В качестве действия выберите вашу процедуру выгрузки (например,
ВыгрузитьВExcel()). - Сохраните и запустите задание.
🔹 Важно: Убедитесь, что на сервере 1С есть права на запись в папку, куда сохраняется файл.
Можно ли выгрузить в Excel данные с картинками (например, фото товаров)?
Да, но стандартными средствами 1С это сделать сложно. Варианты:
- Используйте обработку «ВыгрузкаДокументовВExcelСКартинками» (доступна на Infostart).
- Выгрузите данные в Excel, а картинки сохраните в папку отдельно, затем вставьте их вручную через
Вставка → Рисунок. - Для автоматизации используйте VBA-макросы в Excel, которые будут подтягивать картинки по ссылкам.