Выгрузка из 1С 8.3 в Excel: отчёты, списки, табличные части и автоматизация

· 10 мин

Содержание

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

Типичная ситуация: аудитор просит оборотно-сальдовую ведомость по 60 счёту «в экселе», а руководитель — список номенклатуры с ценами для прайса. Оба запроса решаются за пару минут без программиста. Ниже способы для платформы 1С:Предприятие 8.3 в интерфейсе «Такси»; они одинаково работают в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других типовых конфигурациях, потому что выгрузку обеспечивает сама платформа.

Какой способ выгрузки в Excel выбрать

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

СпособЧто выгружаетКогда удобенОграничения
💾 Сохранить отчёт как xlsxЛюбой сформированный отчёт, печатную формуОСВ, карточка счёта, анализ продаж, ведомостиШапка, итоги и группировки переносятся как есть
📋 Ещё → Вывести список...Список справочника, журнал, табличную часть документаНоменклатура, контрагенты, строки накладнойТолько колонки, которые есть в этом списке
✂️ Буфер обмена (Ctrl+C)Выделенные ячейки или строкиБыстро перенести 10–50 строкЧисла иногда вставляются как текст
⚙️ Внешняя обработка или кодПроизвольный запрос к базеРегулярная выгрузка по расписаниюНужен специалист и права на обработки

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

Сохраняем отчёт 1С в формате Excel

Все отчёты и печатные формы в 1С 8.3 выводятся в табличный документ. Табличный документ платформа умеет записывать в xlsx, xls, ods, pdf, html и другие форматы.

Пошагово

  1. Откройте отчёт, например Отчеты → Стандартные отчеты → Оборотно-сальдовая ведомость в Бухгалтерии 3.0.
  2. Задайте период и отборы, нажмите Сформировать.
  3. Щёлкните по любой ячейке результата, чтобы фокус был на табличном документе, а не на полях шапки.
  4. Откройте главное меню (кнопка с тремя полосками в левом верхнем углу окна) и выберите Файл → Сохранить как. В командной панели многих отчётов есть такая же кнопка с изображением дискеты.
  5. В поле «Тип файла» выберите «Лист Excel 2007-…» (*.xlsx).
  6. Укажите папку и имя файла, нажмите Сохранить.

Если пункт Сохранить как неактивен, проверьте, куда установлен курсор. Команда работает для активного табличного документа: щелчок по ячейке отчёта обычно решает проблему.

xlsx или xls

Старый формат «Лист Excel 97» (*.xls) выбирайте только для очень старых программ. У него предел — 65 536 строк на лист, а у xlsx — 1 048 576. Карточка счёта 51 за год у оживлённой организации легко выходит за первую границу, и хвост просто не попадёт в файл.

Печатные формы

Счёт, накладную или акт выгружают так же. Нажмите Печать, выберите форму, и в окне предпросмотра появится табличный документ. Его сохраняют через Файл → Сохранить как или кнопку сохранения в окне печати. Для отправки контрагенту обычно берут PDF, для правки цен вручную — xlsx.

Как выгрузить из 1С список, журнал или табличную часть в Excel

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

Команда «Вывести список»

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

Тот же приём работает для табличной части внутри документа. Откройте поступление товаров, перейдите на вкладку Товары, нажмите Ещё → Вывести список... над таблицей — и получите все строки накладной с количеством, ценой и суммой.

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

Иерархические справочники

В справочнике с группами «Вывести список » выводит текущий уровень. Чтобы получить все элементы сразу, переключите отображение на список без иерархии. Переключатель видов (иерархический список, список, дерево) есть в меню Ещё формы списка, раздел Режим просмотра.

Универсальный отчёт: выгрузка любых данных из 1С 8 в Excel

Когда нужных колонок нет ни в списке, ни в стандартном отчёте, выручает Универсальный отчёт. Он есть в конфигурациях на Библиотеке стандартных подсистем: Бухгалтерии 3.0, УТ 11, КА 2, ERP. В Бухгалтерии его открывают из раздела Отчеты → Стандартные отчеты → Универсальный отчет.

Отчёт строится по любому объекту базы: справочнику, документу, регистру накоплений или сведений.

Как собрать выгрузку

  1. В шапке отчёта выберите тип объекта, например «Документ», и сам объект, например «Реализация (акты, накладные, УПД)».
  2. Если у документа есть табличные части, выберите, откуда брать данные: из шапки или из таблицы «Товары».
  3. Задайте период.
  4. Нажмите Настройки и переключитесь на расширенный вид.
  5. На вкладке полей отметьте реквизиты: дата, номер, контрагент, номенклатура, количество, сумма.
  6. На вкладке отборов задайте условия, например «Контрагент в группе Розница».
  7. Сформируйте отчёт и сохраните его как xlsx.

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

Копирование через буфер обмена

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

Из отчёта

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

Из списка или табличной части

Выделите строки в списке (Shift или Ctrl для нескольких строк) и нажмите Ctrl+C. Платформа копирует строки как текст с разделителем-табуляцией, поэтому Excel разложит значения по колонкам. В динамическом списке справочника копируются только загруженные на экран строки, так что для полного списка надёжнее Вывести список....

Если после вставки суммы прижаты к левому краю и не складываются, это текст, а не числа. Как это лечится — в разделе про форматирование ниже.

Настраиваем поля и колонки перед выгрузкой

Половина правок в Excel исчезает, если подготовить отчёт ещё в 1С. Excel получает ровно то, что видно на экране, вместе с шапкой, отступами и группировками.

Что настроить в отчёте

  • 📌 Состав колонок. В Настройках уберите лишние поля и показатели. Для ОСВ это, например, развёрнутое сальдо, если оно не нужно.
  • 📌 Группировки. Для сводной таблицы оставьте одну группировку «Детальные записи». Многоуровневые группировки дают строки-заголовки, которые мешают фильтру Excel.
  • 📌 Итоги. Отключите промежуточные и общие итоги, если суммы будут считаться в Excel. Иначе при суммировании колонки итоги попадут в результат дважды.
  • 📌 Шапка и параметры. В расширенных настройках можно отключить вывод заголовка и отборов, чтобы таблица начиналась с первой строки.
  • 📌 Сортировка. Задайте её в 1С: порядок сохранится в файле.

Сохраняем вариант отчёта

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

Отчёт готов к выгрузке в Excel
Выполнено: 0 / 6

Кракозябры, числа-текст и объединённые ячейки: правим файл после выгрузки

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

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

Даты и коды

Коды номенклатуры с ведущими нулями («00045») Excel превращает в число 45. Если коды важны, перед вставкой из буфера задайте колонке текстовый формат. При сохранении в xlsx через Сохранить как 1С обычно передаёт тип ячейки сама, и проблемы нет.

Автоматическая выгрузка данных из 1С в Excel внешней обработкой

Когда один и тот же файл нужен каждый день — остатки для сайта, продажи для коммерческого директора, — ручное сохранение надоедает. Выгрузку автоматизируют внешней обработкой или расширением с регламентным заданием.

Как подключить готовую обработку

  • 🔧 Разово. Через главное меню Файл → Открыть выберите файл .epf. Пользователю нужно право на интерактивное открытие внешних обработок, иначе платформа выдаст предупреждение о безопасности.
  • 🔧 Постоянно. Зарегистрируйте обработку в Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Так она будет доступна пользователям из раздела без поиска файла.

Запускайте только обработки из проверенного источника. Внешняя обработка выполняется с правами пользователя и может изменить или удалить данные. Перед первым запуском в рабочей базе проверьте её на копии.

Пример кода выгрузки в xlsx

Основа любой такой обработки — запрос к базе и запись табличного документа методом Записать с типом ТипФайлаТабличногоДокумента.XLSX. Пример выводит коды и наименования номенклатуры:

&НаСервере
Процедура ВыгрузитьНоменклатуруНаСервере(ИмяФайла)

	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	Номенклатура.Код КАК Код,
	|	Номенклатура.Наименование КАК Наименование
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	НЕ Номенклатура.ЭтоГруппа
	|УПОРЯДОЧИТЬ ПО
	|	Наименование";

	ТабДок = Новый ТабличныйДокумент;
	ТабДок.Область(1, 1, 1, 1).Текст = "Код";
	ТабДок.Область(1, 2, 1, 2).Текст = "Наименование";

	НомерСтроки = 1;
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		НомерСтроки = НомерСтроки + 1;
		ТабДок.Область(НомерСтроки, 1, НомерСтроки, 1).Текст = Выборка.Код;
		ТабДок.Область(НомерСтроки, 2, НомерСтроки, 2).Текст = Выборка.Наименование;
	КонецЦикла;

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

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

Код выполняется на сервере, поэтому ИмяФайла — путь на компьютере, где работает сервер 1С. В файловой базе это компьютер пользователя, в клиент-серверной — сервер приложений, и папка должна быть доступна учётной записи, от имени которой запущена служба 1С. Для ежедневной выгрузки этот же код помещают в процедуру регламентного задания внутри расширения конфигурации .

Когда обработка не нужна

Если выгрузка — это просто типовой отчёт с фиксированными настройками, начните с сохранённого варианта отчёта. В конфигурациях на БСП отчёт можно ещё и разослать по расписанию: ищите команду рассылки в меню Ещё формы отчёта. Код понадобится, когда нужен строгий формат колонок под чужую программу.

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

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