Выгрузка данных из 1С в файл Excel: списки, отчёты, печатные формы и обработки

· 10 мин

Содержание

Чтобы выгрузить данные из 1С в файл Excel, сформируйте отчёт или откройте нужный список, затем сохраните результат через Главное меню (☰) → Файл → Сохранить как и выберите тип файла Лист Excel 2007-... (*.xlsx). Для списка справочника или журнала документов сначала выполните Ещё → Вывести список, а уже потом сохраните.

Способ работает в любой типовой конфигурации на платформе 1С 8.3: Бухгалтерии, ЗУП, УТ, ERP. Механизм общий для платформы — табличный документ, который умеет записывать себя в xlsx. Отличаются только детали: что именно вы выгружаете и насколько «чистой» таблица нужна в Excel.

Что выгрузить и в каком виде: подготовка к экспорту

Перед выгрузкой решите, что вам нужно на выходе. От этого зависит способ.

  • 📄 Красивый документ для чтения — оборотно-сальдовая ведомость, акт сверки, счёт. Сохраняете отчёт или печатную форму как есть.
  • 📊 Сырые данные для анализа — чтобы строить сводные таблицы, фильтровать, считать формулами. Нужна «плоская» таблица: одна строка — одна запись, без итогов и объединённых ячеек.
  • 🔁 Регулярная выгрузка — каждый день или неделю один и тот же файл. Тут уже нужна автоматизация.

Что проверить заранее:

  1. Период и отборы в отчёте. Выгрузка повторяет то, что на экране, — ни больше, ни меньше.
  2. Состав колонок. Лишние поля проще убрать в 1С, чем потом удалять в Excel.
  3. Объём. В формате xlsx на листе максимум 1 048 576 строк, в старом xls — 65 536. Карточка счёта 60 за год у крупной организации легко упирается во второе ограничение.

Если файл нужен для сводной таблицы, сразу думайте о структуре: заголовок в одну строку, без пустых строк между блоками, без промежуточных итогов.

Как выгрузить файл Excel из 1С: три штатных способа

Штатные средства закрывают большинство задач без программиста. Ниже — по типу источника данных.

Способ 1. Список справочника или журнал документов

Например, список контрагентов, номенклатуры или журнал поступлений.

  1. Откройте список, например Справочники → Контрагенты.
  2. Установите отбор, если нужны не все записи.
  3. Нажмите Ещё → Вывести список.
  4. В окне отметьте колонки, которые нужны. Здесь же можно включить вывод только выделенных строк.
  5. Выберите вывод в табличный документ и нажмите «ОК».
  6. В открывшейся таблице выполните ☰ → Файл → Сохранить как, тип файла — xlsx.

Колонки в окне вывода берутся из реквизитов объекта, а не только из видимых на форме. Так можно выгрузить, например, ИНН и КПП, даже если в списке их нет.

Способ 2. Отчёт

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

  1. Откройте отчёт, задайте период и отборы.
  2. Нажмите «Сформировать».
  3. Щёлкните в любом месте результата, чтобы таблица стала активной.
  4. Нажмите Ctrl+S или выполните ☰ → Файл → Сохранить как.
  5. Укажите папку, имя файла и тип Лист Excel 2007-... (*.xlsx).

В отчётах БСП (а это почти все типовые) есть и кнопка сохранения с дискетой на командной панели отчёта. Результат тот же.

Способ 3. Печатная форма

Счёт, акт, ТОРГ-12, УПД, платёжка.

  1. В документе нажмите «Печать» и выберите форму.
  2. В окне предварительного просмотра нажмите кнопку сохранения.
  3. Отметьте формат «Лист Microsoft Excel 2007» и при необходимости другие.
  4. Выберите: сохранить в папку или прикрепить к документу.

Из этого же окна можно отправить форму по почте сразу во вложении 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 попала плоская таблица без лишнего оформления.

Настройка варианта отчёта под выгрузку

  1. Откройте отчёт и нажмите «Настройки».
  2. Переключите вид настроек на расширенный, если есть такой переключатель.
  3. На закладке группировок удалите вложенные группировки, оставьте только детальные записи.
  4. На закладке полей отметьте только нужные колонки.
  5. Отключите итоги и заголовок отчёта, если они мешают.
  6. Сформируйте отчёт и сохраните в xlsx.

После настройки сохраните вариант отчёта под понятным именем, например «Для Excel». В следующий раз не придётся всё повторять.

Универсальный отчёт

Если типового отчёта под задачу нет, используйте «Универсальный отчёт». Он строит таблицу по любому справочнику, документу или регистру.

Как его открыть, если в разделах его не видно:

  1. ☰ → Сервис → Параметры — включите флажок отображения команды «Все функции».
  2. ☰ → Все функции → Отчеты → Универсальный отчет.
  3. Выберите тип и имя объекта, например регистр бухгалтерии .
  4. Настройте поля и отборы, сформируйте, сохраните в xlsx.

Консоль запросов

Для сложных выборок специалисты используют внешнюю обработку «Консоль запросов». Пишете запрос на языке 1С, получаете результат в виде таблицы и выгружаете её в Excel. Это самый гибкий путь, но нужно знать язык запросов.

Для сводных таблиц Excel убирайте в настройках СКД иерархию номенклатуры и счетов. Иначе в файле появятся строки-группы, которые задвоят суммы при подсчёте.

Автоматическая выгрузка в Excel: обработки и код

Когда один и тот же файл нужен регулярно, ручной экспорт превращается в рутину. Её убирают программно.

Запись табличного документа в файл

Любой табличный документ записывается в xlsx одной строкой кода. Пример для внешней обработки, которая формирует отчёт на СКД и сохраняет его:

Процедура ВыгрузитьОтчетВExcel(СхемаКомпоновки, Настройки, ИмяФайла)

    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновки, Настройки);

    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

    ТабДок = Новый ТабличныйДокумент;
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДок);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);

    ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);

КонецПроцедуры

Код выполняется на сервере или в толстом клиенте. В клиент-серверной базе файл появится на диске сервера 1С, а не на компьютере пользователя. Путь вроде \\fileserver\exchange\ostatki.xlsx должен быть доступен учётной записи, от которой работает служба сервера 1С.

Запуск по расписанию

Варианты, от простого к сложному:

  1. Регламентное задание в расширении конфигурации. Код из примера вызывается по расписанию, файл кладётся в общую папку. Типовую конфигурацию не снимаете с поддержки.
  2. Запуск 1С из командной строки через планировщик Windows. Ключ /Execute открывает внешнюю обработку сразу после входа:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Выгрузка" /P"пароль" /Execute"D:\obr\vygruzka.epf"

Обработка выгружает файл и завершает сеанс сама. Для такого запуска заведите отдельного пользователя с минимальными правами.

  1. COM-соединение из внешнего скрипта. Скрипт на PowerShell или Python подключается к базе через V83.COMConnector, получает данные и пишет Excel сам. Нужен зарегистрированный компонент comcntr.dll той же разрядности.

Не используйте Новый COMОбъект("Excel.Application") на сервере 1С. Это требует установленного Excel на сервере, работает медленно и часто зависает процессами EXCEL.EXE. Метод ТабДок.Записать() пишет xlsx без Excel.

Готовые типовые механизмы

В типовых конфигурациях на БСП есть рассылка отчётов. Она по расписанию формирует выбранные отчёты и отправляет их по почте или кладёт в сетевую папку в формате xlsx. Ищите её в разделе Администрирование → Печатные формы, отчеты и обработки. Программировать ничего не нужно.

Ошибки при выгрузке в Excel и как их устранить

Типичные проблемы и их причины — в интерактивной подсказке:

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

Ещё одна частая ловушка — даты. Если в отчёте дата выведена как строка («01 октября»), Excel не отсортирует её хронологически. Выводите поле даты как дату, а формат задавайте уже в Excel.

Права на выгрузку в Excel и защита данных

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

На уровне платформы за это отвечает право «Вывод»: вывод на печать, в файл и в буфер обмена. Если у пользователя его нет, кнопка сохранения и копирование работать не будут.

В типовых конфигурациях на БСП права раздают через группы доступа:

  1. Откройте Администрирование → Настройки пользователей и прав → Группы доступа.
  2. Найдите группу, в которую входит пользователь, и откройте её профиль.
  3. Проверьте, есть ли в профиле роль, разрешающая вывод на принтер, в файл и в буфер обмена.
  4. Уберите её у тех, кому выгрузка не нужна, — например, у операторов, работающих с персональными данными.

Профили групп доступа, поставляемые с конфигурацией, менять нельзя. Скопируйте профиль и правьте копию.

Что ещё сделать для безопасности:

  • 🔒 Выгрузки с персональными данными сотрудников и клиентов храните в папках с ограниченным доступом.
  • 🔒 Для регламентных выгрузок используйте отдельного пользователя 1С без интерактивного входа и с минимальными ролями.
  • 🔒 Пароль в bat-файле — слабое место. Лучше аутентификация Windows для служебной учётной записи.
  • 🔒 Отправляя файлы по почте, ставьте пароль на архив, а не на сам xlsx.

Ограничение права на вывод не защищает от фотографии экрана. Это мера против массовой выгрузки, а не абсолютный барьер.

Частые вопросы о выгрузке из 1С в Excel

Можно ли наоборот — загрузить данные из Excel в 1С?
Да. Во многих табличных частях типовых конфигураций есть команда загрузки из файла: например, в товарах документа поступления. Для массовой загрузки справочников есть типовая обработка загрузки данных из табличного документа.
Почему выгруженный файл открывается с группировками и плюсами слева?
Так в Excel переносятся группировки отчёта 1С. Чтобы получить плоскую таблицу, уберите группировки в настройках отчёта перед сохранением.
Можно ли выгрузить сразу несколько отчётов в одну книгу Excel на разные листы?
Штатно — нет, каждый отчёт сохраняется отдельным файлом. Собрать листы в одну книгу можно в Excel вручную или обработкой, которая пишет файл через сторонние средства.
Нужно ли устанавливать Excel на компьютер, чтобы сохранить файл из 1С?
Нет. Платформа сама формирует xlsx. Excel нужен только для того, чтобы открыть файл, а его можно заменить LibreOffice или онлайн-редактором.
Сохраняется ли выгрузка, если закрыть 1С сразу после сохранения?
Да. Файл записан на диск в момент нажатия «Сохранить», с сеансом 1С он больше не связан.