Отчёт из 1С в таблицу Excel: от кнопки «Сохранить» до автоматической рассылки
Содержание
Чтобы выгрузить отчёт из 1С 8.3 в Excel, сформируйте его, нажмите Ctrl+S (или кнопку с дискетой на панели отчёта), в поле «Тип файла» выберите «Лист Microsoft Excel 2007-…» (*.xlsx) и сохраните. Файл сразу открывается в Excel с числами, итогами и группировками строк.
Типичная ситуация: главбух просит оборотно-сальдовую ведомость по 60 счёту «в Экселе, чтобы покрутить». Сохранить её — минута. А вот получить таблицу, которую можно сортировать, фильтровать и сводить, без объединённых ячеек и чисел-текстом, — уже отдельная настройка. Обе задачи разобраны по шагам.
Способ один для всей платформы 8.3: так работает любой отчёт и любая печатная форма, будь то Бухгалтерия 3.0, ЗУП 3.1 или УТ 11. Различаются только сами отчёты, а не механизм сохранения.
1. Сохранение отчёта 1С в файл Excel через меню
Любой отчёт в 1С выводится в табличный документ. Именно его платформа и умеет записывать в разные форматы, включая Excel.
Пошагово
- Откройте отчёт и нажмите «Сформировать». Дождитесь, пока появятся данные, а не пустой бланк.
- Нажмите
Ctrl+S. Другие пути к тому же окну: кнопка с дискетой на командной панели отчёта или главное меню (значок≡в левом верхнем углу) →Файл→Сохранить как.... - В окне сохранения выберите папку и укажите имя файла.
- В списке «Тип файла» выберите «Лист Microsoft Excel 2007-…» (
*.xlsx). - Нажмите «Сохранить» и откройте файл в Excel.
Если курсор стоит не в отчёте, а в поле настроек, Ctrl+S может не сработать. Щёлкните мышью по самой таблице отчёта и повторите.
Какой формат выбрать
| Формат в окне сохранения | Когда подходит | Ограничения |
|---|---|---|
*.xlsx (Excel 2007 и новее) | основной вариант для любых отчётов | до 1 048 576 строк и 16 384 столбцов на лист |
*.xls (Excel 97) | только для старых программ и сервисов, которые не читают xlsx | не больше 65 536 строк и 256 столбцов |
*.ods | LibreOffice, «МойОфис» | оформление переносится не полностью |
*.mxl | пересылка коллеге, у которого есть 1С | Excel такой файл не откроет |
*.pdf | отправить на печать или контрагенту | редактировать нельзя |
Длинный отчёт в формате xls обрежется на 65 536-й строке без предупреждения, поэтому для анализа продаж, журналов проводок и карточек счетов за год берите только xlsx.
Печатные формы документов
Счёт, акт, накладная или расчётный листок сохраняются тем же способом. Откройте печатную форму из документа и нажмите кнопку с дискетой на её панели. Здесь можно отметить сразу несколько форматов и указать, сохранить файлы в папку или прикрепить к документу.
2. Быстрый перенос отчёта в Excel копированием
Когда нужен не весь отчёт, а кусок — например, итоги по трём контрагентам, — проще скопировать.
- Выделите мышью нужный диапазон ячеек в отчёте. Весь отчёт выделяется
Ctrl+A. - Нажмите
Ctrl+C. - Перейдите в Excel, встаньте в ячейку
A1и нажмитеCtrl+V.
При копировании переносятся значения и часть оформления. Группировки строк (плюсики слева) при этом теряются, а при сохранении в xlsx — остаются.
Списки документов и справочников
Журнал документов
или справочник — не отчёт, кнопки «Сохранить» у списка нет. Для них есть команда Ещё → Вывести список....
- Откройте нужный список и установите отбор, если нужна часть строк.
- Нажмите
Ещё→Вывести список.... - Отметьте колонки, которые нужны в таблице, и нажмите «ОК».
- Список откроется как табличный документ — сохраните его через
Ctrl+Sв xlsx.
В список попадают только колонки, доступные в форме списка. Не хватает нужного реквизита — сначала добавьте колонку через Ещё → Изменить форму..., потом выводите.
3. Настройка отчёта перед выгрузкой в Excel
Отчёт, который красиво выглядит на экране, в Excel часто неудобен. Шапка из объединённых ячеек, отступы иерархии, промежуточные итоги посреди данных мешают сортировке и фильтру. Это лечится настройками отчёта до сохранения, а не правкой в Excel.
Что поменять в настройках
Откройте «Настройки» отчёта и переключитесь в расширенный режим (в отчётах на базе СКД это делается в окне настроек).
- 📌 Структура. Оставьте одну группировку или только детальные записи. Каждая вложенная группировка добавляет строки итогов.
- 📌 Расположение полей группировок. В параметрах вывода установите для него значение «Отдельно». Тогда каждое поле группировки окажется в своей колонке, а не одной колонкой с отступами.
- 📌 Итоги. Отключите общие итоги и итоги по группировкам, если будете считать их в Excel сами.
- 📌 Заголовок и отбор. Выключите вывод заголовка и параметров отчёта, чтобы таблица начиналась с первой строки.
- 📌 Показатели. Уберите колонки, которые не нужны, — в оборотно-сальдовой ведомости это часто развёрнутое сальдо или количественные показатели.
Сохраните этот вариант отчёта под отдельным именем, например «Для Excel». Ваша обычная настройка не пострадает, а выгружать в следующий раз нужно будет в два щелчка.
Если в отчёте нет расширенных настроек
Некоторые регламентированные и специализированные отчёты собраны не на СКД и гибко не настраиваются. Тогда берите универсальный отчёт: в Бухгалтерии 3.0 он находится в разделе Отчеты среди стандартных отчётов. В нём выбирается любой регистр или объект, нужные поля и отборы — и получается плоская таблица.
4. Выгрузка для сводных таблиц: аналог OLAP-куба в Excel
В самой 1С 8.3 нет режима «выгрузить как OLAP-куб». Но задача, ради которой его ищут, — крутить данные в разрезах в Excel, — решается двумя способами.
Способ А. Плоская таблица и сводная в Excel
- В универсальном отчёте или в отчёте на СКД оставьте в структуре только детальные записи.
- Выведите поля-разрезы (контрагент, номенклатура, подразделение, месяц) и поля-суммы.
- Отключите итоги и сохраните в xlsx.
- В 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С | универсальный обмен данными или типовой обмен |
| Ежедневно получать свежие данные в Excel | OData + Power Query или рассылка отчётов |
Для обратного пути — из Excel в 1С — в типовых конфигурациях есть загрузка табличной части из файла. Но это уже другая задача.
6. Ошибки при выгрузке отчёта из 1С в Excel и как их исправить
Большинство сбоев видно сразу после открытия файла. Выберите симптом:
Почему в Excel «плывёт» оформление
Ширина колонок, шрифты и рамки переносятся из табличного документа, но не идеально. Высота строк с длинным текстом (наименования номенклатуры, назначения платежа) иногда обрезается. Выделите строки в Excel и дважды щёлкните по границе заголовков строк — высота подстроится.
Даты из отчёта обычно приходят как даты, но колонка «Период» с названием месяца и года вместо даты может прийти строкой. Для сводной по месяцам выводите в отчёт само поле даты с периодичностью «Месяц», а подпись месяца стройте уже в Excel.
Цвета условного оформления из 1С переносятся как обычная заливка ячеек. Если вы поменяете значение в Excel, цвет сам не обновится.
7. Автоматическая выгрузка отчётов 1С в Excel
Когда один и тот же отчёт нужен каждое утро, ручное сохранение пора заменить.
Без программирования: рассылка отчётов
В типовых конфигурациях на Библиотеке стандартных подсистем есть рассылка отчётов. В Бухгалтерии 3.0 она включается флагом в разделе Администрирование → Печатные формы, отчеты и обработки.
После включения:
- Откройте отчёт с нужным вариантом настроек.
- Создайте из него рассылку (команда находится в меню
Ещёформы отчёта). - Укажите формат вложения — xlsx, получателей и расписание.
- Выберите доставку: по электронной почте, в сетевую папку или на FTP.
Для отправки по расписанию на сервере должны выполняться регламентные задания. В файловой базе они срабатывают, только пока открыт хотя бы один сеанс 1С.
С кодом: внешняя обработка
Если рассылки мало — нужно, например, собрать несколько отчётов в один файл или передать его в другую систему, — пишут внешнюю обработку или расширение. Ядро такой выгрузки для отчёта на СКД:
&НаСервере
Процедура ВыгрузитьОтчетВExcelНаСервере(ПутьКФайлу)
ОтчетОбъект = Отчеты.ОстаткиТоваров.Создать(); // имя отчёта из вашей конфигурации
ТабДок = Новый ТабличныйДокумент;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
ОтчетОбъект.СкомпоноватьРезультат(ТабДок, ДанныеРасшифровки);
ТабДок.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLSX);
КонецПроцедуры
Что учесть:
- 🔹 Процедура выполняется на сервере, значит путь вида
D:\Выгрузка\Остатки.xlsxдолжен существовать на сервере 1С, а не на компьютере пользователя. Для сетевой папки у пользователя, от имени которого работает служба сервера, должны быть права на запись. - 🔹 Отчёт формируется с настройками по умолчанию. Чтобы применить сохранённый вариант, передайте его настройки в компоновщик отчёта до вызова
СкомпоноватьРезультат. - 🔹 Чтобы выгрузка шла сама, оформите вызов как регламентное задание в расширении конфигурации, а не правьте типовую конфигурацию.
- 🔹 Некоторые типовые отчёты (например, оборотно-сальдовая ведомость в Бухгалтерии 3.0) формируются своим кодом, а не одним вызовом СКД. Для них надёжнее рассылка отчётов.