Выгрузка данных из 1С в файл Excel: списки, отчёты, печатные формы и обработки
Содержание
Чтобы выгрузить данные из 1С в файл Excel, сформируйте отчёт или откройте нужный список, затем сохраните результат через Главное меню (☰) → Файл → Сохранить как и выберите тип файла Лист Excel 2007-... (*.xlsx). Для списка справочника или журнала документов сначала выполните Ещё → Вывести список, а уже потом сохраните.
Способ работает в любой типовой конфигурации на платформе 1С 8.3: Бухгалтерии, ЗУП, УТ, ERP. Механизм общий для платформы — табличный документ, который умеет записывать себя в xlsx. Отличаются только детали: что именно вы выгружаете и насколько «чистой» таблица нужна в Excel.
Что выгрузить и в каком виде: подготовка к экспорту
Перед выгрузкой решите, что вам нужно на выходе. От этого зависит способ.
- 📄 Красивый документ для чтения — оборотно-сальдовая ведомость, акт сверки, счёт. Сохраняете отчёт или печатную форму как есть.
- 📊 Сырые данные для анализа — чтобы строить сводные таблицы, фильтровать, считать формулами. Нужна «плоская» таблица: одна строка — одна запись, без итогов и объединённых ячеек.
- 🔁 Регулярная выгрузка — каждый день или неделю один и тот же файл. Тут уже нужна автоматизация.
Что проверить заранее:
- Период и отборы в отчёте. Выгрузка повторяет то, что на экране, — ни больше, ни меньше.
- Состав колонок. Лишние поля проще убрать в 1С, чем потом удалять в Excel.
- Объём. В формате xlsx на листе максимум 1 048 576 строк, в старом xls — 65 536. Карточка счёта 60 за год у крупной организации легко упирается во второе ограничение.
Если файл нужен для сводной таблицы, сразу думайте о структуре: заголовок в одну строку, без пустых строк между блоками, без промежуточных итогов.
Как выгрузить файл Excel из 1С: три штатных способа
Штатные средства закрывают большинство задач без программиста. Ниже — по типу источника данных.
Способ 1. Список справочника или журнал документов
Например, список контрагентов, номенклатуры или журнал поступлений.
- Откройте список, например
Справочники → Контрагенты. - Установите отбор, если нужны не все записи.
- Нажмите
Ещё → Вывести список. - В окне отметьте колонки, которые нужны. Здесь же можно включить вывод только выделенных строк.
- Выберите вывод в табличный документ и нажмите «ОК».
- В открывшейся таблице выполните
☰ → Файл → Сохранить как, тип файла — xlsx.
Колонки в окне вывода берутся из реквизитов объекта, а не только из видимых на форме. Так можно выгрузить, например, ИНН и КПП, даже если в списке их нет.
Способ 2. Отчёт
Подходит для ОСВ, анализа счёта, карточки счёта, отчётов по продажам и любых других.
- Откройте отчёт, задайте период и отборы.
- Нажмите «Сформировать».
- Щёлкните в любом месте результата, чтобы таблица стала активной.
- Нажмите
Ctrl+Sили выполните☰ → Файл → Сохранить как. - Укажите папку, имя файла и тип
Лист Excel 2007-... (*.xlsx).
В отчётах БСП (а это почти все типовые) есть и кнопка сохранения с дискетой на командной панели отчёта. Результат тот же.
Способ 3. Печатная форма
Счёт, акт, ТОРГ-12, УПД, платёжка.
- В документе нажмите «Печать» и выберите форму.
- В окне предварительного просмотра нажмите кнопку сохранения.
- Отметьте формат «Лист Microsoft Excel 2007» и при необходимости другие.
- Выберите: сохранить в папку или прикрепить к документу.
Из этого же окна можно отправить форму по почте сразу во вложении xlsx, если настроена учётная запись.
Быстрый способ: копирование через буфер
Для небольших кусков подойдёт простое копирование. Выделите ячейки в отчёте мышью, нажмите Ctrl+C, в Excel — Ctrl+V. Числа обычно вставляются числами, но оформление переносится не полностью.
| Способ | Когда подходит | Ограничения |
|---|---|---|
| Вывести список | Справочники, журналы документов | Только реквизиты объекта, без расчётов |
| Сохранить отчёт | ОСВ, анализы, карточки | Повторяет оформление отчёта |
| Печатная форма | Первичные документы | Форма для печати, не для анализа |
| Буфер обмена | Несколько строк или ячеек | Ручная работа, теряется часть форматирования |
Форматы файла и настройки при сохранении в Excel
В окне «Сохранить как» платформа предлагает несколько форматов табличного документа. Для Excel важны два.
- ✅ xlsx — основной вариант. Современный формат, большие таблицы, открывается в Excel 2007 и новее, в LibreOffice и в онлайн-редакторах.
- ⚠️ xls — старый формат Excel 97. Ограничение 65 536 строк и 256 колонок. Выбирайте, только если файл требует старая программа.
Остальные варианты в том же списке — mxl (собственный формат 1С), PDF, HTML, ODS, DOCX и текстовые — для Excel не нужны. Хотя ODS тоже откроется в табличном редакторе.
Что происходит с оформлением при записи в xlsx:
- шрифты, рамки и заливка переносятся;
- группировки строк отчёта превращаются в группировки Excel с кнопками «+» и «−»;
- объединённые ячейки остаются объединёнными;
- числа записываются числами, даты — датами, если в 1С они хранились именно так.
Если в отчёте числа выводятся с подписью («1 250,00 руб.») или собраны в строку формулой оформления, Excel получит текст. Суммировать такие ячейки не выйдет, пока не преобразуете их в числа.
Отчёты на СКД: как выгрузить в Excel чистую таблицу
Большинство отчётов в типовых конфигурациях построены на системе компоновки данных (СКД). Их можно перенастроить так, чтобы в Excel попала плоская таблица без лишнего оформления.
Настройка варианта отчёта под выгрузку
- Откройте отчёт и нажмите «Настройки».
- Переключите вид настроек на расширенный, если есть такой переключатель.
- На закладке группировок удалите вложенные группировки, оставьте только детальные записи.
- На закладке полей отметьте только нужные колонки.
- Отключите итоги и заголовок отчёта, если они мешают.
- Сформируйте отчёт и сохраните в xlsx.
После настройки сохраните вариант отчёта под понятным именем, например «Для Excel». В следующий раз не придётся всё повторять.
Универсальный отчёт
Если типового отчёта под задачу нет, используйте «Универсальный отчёт». Он строит таблицу по любому справочнику, документу или регистру.
Как его открыть, если в разделах его не видно:
☰ → Сервис → Параметры— включите флажок отображения команды «Все функции».☰ → Все функции → Отчеты → Универсальный отчет.- Выберите тип и имя объекта, например регистр бухгалтерии .
- Настройте поля и отборы, сформируйте, сохраните в xlsx.
Консоль запросов
Для сложных выборок специалисты используют внешнюю обработку «Консоль запросов». Пишете запрос на языке 1С, получаете результат в виде таблицы и выгружаете её в Excel. Это самый гибкий путь, но нужно знать язык запросов.
Для сводных таблиц Excel убирайте в настройках СКД иерархию номенклатуры и счетов. Иначе в файле появятся строки-группы, которые задвоят суммы при подсчёте.
Автоматическая выгрузка в Excel: обработки и код
Когда один и тот же файл нужен регулярно, ручной экспорт превращается в рутину. Её убирают программно.
Запись табличного документа в файл
Любой табличный документ записывается в xlsx одной строкой кода. Пример для внешней обработки, которая формирует отчёт на СКД и сохраняет его:
Процедура ВыгрузитьОтчетВExcel(СхемаКомпоновки, Настройки, ИмяФайла)
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, Настройки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ТабДок = Новый ТабличныйДокумент;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
КонецПроцедуры
Код выполняется на сервере или в толстом клиенте. В клиент-серверной базе файл появится на диске сервера 1С, а не на компьютере пользователя. Путь вроде \\fileserver\exchange\ostatki.xlsx должен быть доступен учётной записи, от которой работает служба сервера 1С.
Запуск по расписанию
Варианты, от простого к сложному:
- Регламентное задание в расширении конфигурации. Код из примера вызывается по расписанию, файл кладётся в общую папку. Типовую конфигурацию не снимаете с поддержки.
- Запуск 1С из командной строки через планировщик Windows. Ключ
/Executeоткрывает внешнюю обработку сразу после входа:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Выгрузка" /P"пароль" /Execute"D:\obr\vygruzka.epf"
Обработка выгружает файл и завершает сеанс сама. Для такого запуска заведите отдельного пользователя с минимальными правами.
- COM-соединение из внешнего скрипта. Скрипт на PowerShell или Python подключается к базе через
V83.COMConnector, получает данные и пишет Excel сам. Нужен зарегистрированный компонент comcntr.dll той же разрядности.
Не используйте Новый COMОбъект("Excel.Application") на сервере 1С. Это требует установленного Excel на сервере, работает медленно и часто зависает процессами EXCEL.EXE. Метод ТабДок.Записать() пишет xlsx без Excel.
Готовые типовые механизмы
В типовых конфигурациях на БСП есть рассылка отчётов. Она по расписанию формирует выбранные отчёты и отправляет их по почте или кладёт в сетевую папку в формате xlsx. Ищите её в разделе Администрирование → Печатные формы, отчеты и обработки. Программировать ничего не нужно.
Ошибки при выгрузке в Excel и как их устранить
Типичные проблемы и их причины — в интерактивной подсказке:
Ещё одна частая ловушка — даты. Если в отчёте дата выведена как строка («01 октября»), Excel не отсортирует её хронологически. Выводите поле даты как дату, а формат задавайте уже в Excel.
Права на выгрузку в Excel и защита данных
Выгрузка в файл — это вынос данных за пределы базы. Поэтому её можно ограничивать.
На уровне платформы за это отвечает право «Вывод»: вывод на печать, в файл и в буфер обмена. Если у пользователя его нет, кнопка сохранения и копирование работать не будут.
В типовых конфигурациях на БСП права раздают через группы доступа:
- Откройте
Администрирование → Настройки пользователей и прав → Группы доступа. - Найдите группу, в которую входит пользователь, и откройте её профиль.
- Проверьте, есть ли в профиле роль, разрешающая вывод на принтер, в файл и в буфер обмена.
- Уберите её у тех, кому выгрузка не нужна, — например, у операторов, работающих с персональными данными.
Профили групп доступа, поставляемые с конфигурацией, менять нельзя. Скопируйте профиль и правьте копию.
Что ещё сделать для безопасности:
- 🔒 Выгрузки с персональными данными сотрудников и клиентов храните в папках с ограниченным доступом.
- 🔒 Для регламентных выгрузок используйте отдельного пользователя 1С без интерактивного входа и с минимальными ролями.
- 🔒 Пароль в bat-файле — слабое место. Лучше аутентификация Windows для служебной учётной записи.
- 🔒 Отправляя файлы по почте, ставьте пароль на архив, а не на сам xlsx.
Ограничение права на вывод не защищает от фотографии экрана. Это мера против массовой выгрузки, а не абсолютный барьер.