Отчёт из 1С в таблицу Excel: от кнопки «Сохранить» до автоматической рассылки

· 10 мин

Содержание

Чтобы выгрузить отчёт из 1С 8.3 в Excel, сформируйте его, нажмите Ctrl+S (или кнопку с дискетой на панели отчёта), в поле «Тип файла» выберите «Лист Microsoft Excel 2007-…» (*.xlsx) и сохраните. Файл сразу открывается в Excel с числами, итогами и группировками строк.

Типичная ситуация: главбух просит оборотно-сальдовую ведомость по 60 счёту «в Экселе, чтобы покрутить». Сохранить её — минута. А вот получить таблицу, которую можно сортировать, фильтровать и сводить, без объединённых ячеек и чисел-текстом, — уже отдельная настройка. Обе задачи разобраны по шагам.

Способ один для всей платформы 8.3: так работает любой отчёт и любая печатная форма, будь то Бухгалтерия 3.0, ЗУП 3.1 или УТ 11. Различаются только сами отчёты, а не механизм сохранения.

1. Сохранение отчёта 1С в файл Excel через меню

Любой отчёт в 1С выводится в табличный документ. Именно его платформа и умеет записывать в разные форматы, включая Excel.

Пошагово

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

Если курсор стоит не в отчёте, а в поле настроек, Ctrl+S может не сработать. Щёлкните мышью по самой таблице отчёта и повторите.

Какой формат выбрать

Формат в окне сохраненияКогда подходитОграничения
*.xlsx (Excel 2007 и новее)основной вариант для любых отчётовдо 1 048 576 строк и 16 384 столбцов на лист
*.xls (Excel 97)только для старых программ и сервисов, которые не читают xlsxне больше 65 536 строк и 256 столбцов
*.odsLibreOffice, «МойОфис»оформление переносится не полностью
*.mxlпересылка коллеге, у которого есть 1СExcel такой файл не откроет
*.pdfотправить на печать или контрагентуредактировать нельзя

Длинный отчёт в формате xls обрежется на 65 536-й строке без предупреждения, поэтому для анализа продаж, журналов проводок и карточек счетов за год берите только xlsx.

Печатные формы документов

Счёт, акт, накладная или расчётный листок сохраняются тем же способом. Откройте печатную форму из документа и нажмите кнопку с дискетой на её панели. Здесь можно отметить сразу несколько форматов и указать, сохранить файлы в папку или прикрепить к документу.

2. Быстрый перенос отчёта в Excel копированием

Когда нужен не весь отчёт, а кусок — например, итоги по трём контрагентам, — проще скопировать.

  1. Выделите мышью нужный диапазон ячеек в отчёте. Весь отчёт выделяется Ctrl+A.
  2. Нажмите Ctrl+C.
  3. Перейдите в Excel, встаньте в ячейку A1 и нажмите Ctrl+V.

При копировании переносятся значения и часть оформления. Группировки строк (плюсики слева) при этом теряются, а при сохранении в xlsx — остаются.

Списки документов и справочников

Журнал документов или справочник — не отчёт, кнопки «Сохранить» у списка нет. Для них есть команда Ещё → Вывести список....

  1. Откройте нужный список и установите отбор, если нужна часть строк.
  2. Нажмите Ещё → Вывести список....
  3. Отметьте колонки, которые нужны в таблице, и нажмите «ОК».
  4. Список откроется как табличный документ — сохраните его через Ctrl+S в xlsx.

В список попадают только колонки, доступные в форме списка. Не хватает нужного реквизита — сначала добавьте колонку через Ещё → Изменить форму..., потом выводите.

3. Настройка отчёта перед выгрузкой в Excel

Отчёт, который красиво выглядит на экране, в Excel часто неудобен. Шапка из объединённых ячеек, отступы иерархии, промежуточные итоги посреди данных мешают сортировке и фильтру. Это лечится настройками отчёта до сохранения, а не правкой в Excel.

Что поменять в настройках

Откройте «Настройки» отчёта и переключитесь в расширенный режим (в отчётах на базе СКД это делается в окне настроек).

  • 📌 Структура. Оставьте одну группировку или только детальные записи. Каждая вложенная группировка добавляет строки итогов.
  • 📌 Расположение полей группировок. В параметрах вывода установите для него значение «Отдельно». Тогда каждое поле группировки окажется в своей колонке, а не одной колонкой с отступами.
  • 📌 Итоги. Отключите общие итоги и итоги по группировкам, если будете считать их в Excel сами.
  • 📌 Заголовок и отбор. Выключите вывод заголовка и параметров отчёта, чтобы таблица начиналась с первой строки.
  • 📌 Показатели. Уберите колонки, которые не нужны, — в оборотно-сальдовой ведомости это часто развёрнутое сальдо или количественные показатели.

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

Если в отчёте нет расширенных настроек

Некоторые регламентированные и специализированные отчёты собраны не на СКД и гибко не настраиваются. Тогда берите универсальный отчёт: в Бухгалтерии 3.0 он находится в разделе Отчеты среди стандартных отчётов. В нём выбирается любой регистр или объект, нужные поля и отборы — и получается плоская таблица.

4. Выгрузка для сводных таблиц: аналог OLAP-куба в Excel

В самой 1С 8.3 нет режима «выгрузить как OLAP-куб». Но задача, ради которой его ищут, — крутить данные в разрезах в Excel, — решается двумя способами.

Способ А. Плоская таблица и сводная в Excel

  1. В универсальном отчёте или в отчёте на СКД оставьте в структуре только детальные записи.
  2. Выведите поля-разрезы (контрагент, номенклатура, подразделение, месяц) и поля-суммы.
  3. Отключите итоги и сохраните в xlsx.
  4. В Excel встаньте в таблицу, выберите Вставка → Сводная таблица.

Дальше разрезы перетаскиваются мышью: строки — контрагенты, столбцы — месяцы, значения — сумма. Это и есть многомерный анализ, ради которого обычно вспоминают OLAP.

Способ Б. Живое подключение Excel к базе через OData

Если отчёт нужен каждый день, файл можно не пересохранять. Платформа 8.3 поддерживает стандартный интерфейс OData: Excel через Power Query (Данные → Получить данные → из канала OData) читает регистры и справочники напрямую.

Что для этого нужно:

  • ✅ база опубликована на веб-сервере (IIS или Apache);
  • ✅ в базе включён стандартный интерфейс OData и выбран состав объектов (в Бухгалтерии 3.0 настройка находится в разделе Администрирование, в группе синхронизации данных);
  • ✅ заведён отдельный пользователь с правами только на чтение нужных объектов.

Публикация базы в интернете без HTTPS и без отдельного пользователя открывает учётные данные посторонним. Такую настройку делает администратор, а не бухгалтер в одиночку.

5. Универсальный обмен данными и выгрузка в Excel: что есть что

Обработку «Универсальный обмен данными в формате XML» часто путают с выгрузкой в таблицу. Она формирует XML-файл для переноса данных между базами 1С. Excel такой файл откроет, но вы получите дерево тегов, а не отчёт.

ЗадачаЧем делать
Получить отчёт в таблицесохранение табличного документа в xlsx
Выгрузить справочник или журналЕщё → Вывести список... → сохранить
Выгрузить произвольный набор полей из регистрауниверсальный отчёт → xlsx
Перенести данные в другую базу 1Суниверсальный обмен данными или типовой обмен
Ежедневно получать свежие данные в ExcelOData + Power Query или рассылка отчётов

Для обратного пути — из Excel в 1С — в типовых конфигурациях есть загрузка табличной части из файла. Но это уже другая задача.

6. Ошибки при выгрузке отчёта из 1С в Excel и как их исправить

Большинство сбоев видно сразу после открытия файла. Выберите симптом:

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

Почему в Excel «плывёт» оформление

Ширина колонок, шрифты и рамки переносятся из табличного документа, но не идеально. Высота строк с длинным текстом (наименования номенклатуры, назначения платежа) иногда обрезается. Выделите строки в Excel и дважды щёлкните по границе заголовков строк — высота подстроится.

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

Цвета условного оформления из 1С переносятся как обычная заливка ячеек. Если вы поменяете значение в Excel, цвет сам не обновится.

7. Автоматическая выгрузка отчётов 1С в Excel

Когда один и тот же отчёт нужен каждое утро, ручное сохранение пора заменить.

Без программирования: рассылка отчётов

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

После включения:

  1. Откройте отчёт с нужным вариантом настроек.
  2. Создайте из него рассылку (команда находится в меню Ещё формы отчёта).
  3. Укажите формат вложения — xlsx, получателей и расписание.
  4. Выберите доставку: по электронной почте, в сетевую папку или на FTP.

Для отправки по расписанию на сервере должны выполняться регламентные задания. В файловой базе они срабатывают, только пока открыт хотя бы один сеанс 1С.

С кодом: внешняя обработка

Если рассылки мало — нужно, например, собрать несколько отчётов в один файл или передать его в другую систему, — пишут внешнюю обработку или расширение. Ядро такой выгрузки для отчёта на СКД:

&НаСервере
Процедура ВыгрузитьОтчетВExcelНаСервере(ПутьКФайлу)

    ОтчетОбъект = Отчеты.ОстаткиТоваров.Создать(); // имя отчёта из вашей конфигурации
    ТабДок = Новый ТабличныйДокумент;
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;

    ОтчетОбъект.СкомпоноватьРезультат(ТабДок, ДанныеРасшифровки);
    ТабДок.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);

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

Что учесть:

  • 🔹 Процедура выполняется на сервере, значит путь вида D:\Выгрузка\Остатки.xlsx должен существовать на сервере 1С, а не на компьютере пользователя. Для сетевой папки у пользователя, от имени которого работает служба сервера, должны быть права на запись.
  • 🔹 Отчёт формируется с настройками по умолчанию. Чтобы применить сохранённый вариант, передайте его настройки в компоновщик отчёта до вызова СкомпоноватьРезультат.
  • 🔹 Чтобы выгрузка шла сама, оформите вызов как регламентное задание в расширении конфигурации, а не правьте типовую конфигурацию.
  • 🔹 Некоторые типовые отчёты (например, оборотно-сальдовая ведомость в Бухгалтерии 3.0) формируются своим кодом, а не одним вызовом СКД. Для них надёжнее рассылка отчётов.

Частые вопросы

Можно ли выгрузить отчёт в Excel с расшифровками?
Нет. Расшифровка (двойной щелчок по сумме) работает только внутри 1С. В Excel попадают значения ячеек, без связи с документами.
Почему при сохранении нет варианта xlsx?
Значит, сохраняется не табличный документ, а, например, текстовый или HTML-документ. Это бывает у отдельных обработок. Скопируйте содержимое через буфер обмена или выведите данные списком.
Нужен ли установленный Excel, чтобы сохранить отчёт в xlsx?
Нет. Платформа 1С записывает xlsx сама. Excel или другой табличный редактор нужен только чтобы открыть файл.
Как выгрузить в Excel отчёт с несколькими вкладками?
Отчёт 1С — это один лист. Сохраните каждый отчёт отдельно, а в Excel перенесите листы в одну книгу через «Переместить или скопировать». Собрать книгу из нескольких листов автоматически можно только программно.
Сохраняются ли в Excel формулы?
Нет, только рассчитанные значения. Итоги по колонкам в Excel придётся пересчитать формулами, если вы собираетесь менять данные.