Выгрузка из 1С в Excel: от двух кликов до внешней обработки

· 9 мин

Содержание

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

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

Самый быстрый способ: сохранить открытую форму или отчёт

Любой отчёт, печатная форма или табличный документ на экране — это уже готовая таблица 1С (внутренний формат .mxl). Её можно сохранить в Excel напрямую.

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

Если в списке типов файла выбрать Лист Excel 97-2003 (*.xls), файл откроется даже в очень старом Excel, но формат .xls держит не более 65 536 строк. Для больших выгрузок берите .xlsx — его лимит около миллиона строк.

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

Пара практических деталей:

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

Как выгрузить список документов или справочник целиком

Когда нужен не отчёт, а сам список — например, все контрагенты, вся номенклатура или журнал документов за период, — работает команда «Вывести список ».

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

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

Галочки колонок в окне «Вывести список» определяют и состав, и порядок столбцов. Лишние служебные колонки лучше снять сразу — чистить файл в Excel потом дольше.

Пример задачи: нужен список всех контрагентов с ИНН и телефоном для сверки. Откройте Справочники → Контрагенты, снимите отбор по группе (если включён показ по папкам), через Ещё → Вывести список… отметьте колонки Наименование, ИНН, Телефон и выведите в табличный документ. Получится ровная таблица без вложенности — её сразу можно загружать в сводную или отправлять контрагенту.

Второй тип вывода в том же окне — Текстовый документ. Он пригодится, когда файл нужен не для Excel, а для простого текстового импорта; для Excel же почти всегда удобнее табличный документ.

Произвольная выборка: универсальный отчёт и СКД

Если стандартного списка мало — нужны данные из нескольких таблиц, с группировками и итогами, — не обязательно писать обработку. В типовых конфигурациях (Бухгалтерия предприятия 3.0, ЗУП 3.1, Управление торговлей 11) есть Универсальный отчёт.

  • Путь в Бухгалтерии: Отчёты → Стандартные отчёты → Универсальный отчёт.
  • Выберите источник данных: справочник, документ, регистр накопления или регистр сведений .
  • Через Настройки задайте, какие поля вывести в строки и колонки, добавьте отборы и группировки.
  • Сформируйте и сохраните результат в .xlsx тем же Файл → Сохранить как….

Источником для универсального отчёта служат четыре вида таблиц: справочник, документ, регистр накопления (остатки и обороты — склад, взаиморасчёты) и регистр сведений (курсы валют, цены, сведения о сотрудниках). Для анализа движений — например, оборотов по складу — выбирают регистр накопления, а не документ.

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

Универсальный отчёт закрывает большинство задач «достать произвольный срез данных» без программиста. Под капотом он работает на системе компоновки данных (СКД) — том же механизме, на котором строятся типовые отчёты.

Если возможностей универсального отчёта не хватает (нужны сложные соединения таблиц, вычисляемые поля), делают внешний отчёт со своей схемой компоновки данных:

  1. В конфигураторе создают файл внешнего отчёта (.erf) и добавляют в него схему компоновки.
  2. На вкладке Наборы данных пишут запрос к нужным таблицам.
  3. Настраивают ресурсы, группировки и поля вывода.
  4. В режиме 1С:Предприятие отчёт открывают через Файл → Открыть…, формируют и сохраняют в Excel.

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

В каком формате сохранять: xlsx, xls, ods, csv

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

ФорматКогда выбиратьОграничения
.xlsx (Лист Excel 2007)Основной выбор для современного ExcelНет значимых ограничений по строкам
.xls (Лист Excel 97-2003)Старый Excel или программа, не понимающая xlsxНе более 65 536 строк, 256 колонок
.ods (Документ ODF)LibreOffice / OpenOfficeИногда «едет» форматирование
.pdf (Документ PDF)Отправить на просмотр/печать, без правкиТолько чтение, не таблица
.mxl (Табличный документ)Открыть снова в 1СОткрывается только в 1С

CSV отдельной строкой в этом окне обычно нет — его получают пересохранением из Excel (Файл → Сохранить как → CSV (разделители — запятые)) либо через вывод списка в текстовый документ. CSV удобен для загрузки в другие системы, но именно с ним чаще всего возникают проблемы с кодировкой — об этом ниже.

Для обмена с бухгалтером, банком или аудитором берите .xlsx — его без вопросов открывает Excel, Google Таблицы и LibreOffice. PDF выбирайте только если файл не должны править.

Что переносится в файл: колонки, шапка и область печати

В Excel уходит не «база», а именно сформированный табличный документ — то, что видно на экране, вместе с оформлением.

  • Группировки строк. Если в отчёте свёрнуты группы (плюсики слева), в Excel они переносятся как группировки строк — там тоже можно сворачивать и разворачивать.
  • Шапка таблицы. Повторение заголовка на каждой странице задаётся в настройках печати 1С и влияет на печать, а не на то, как данные лягут в ячейки Excel.
  • Объединённые ячейки и формат чисел. Переносятся, поэтому иногда в Excel приходится разъединять ячейки, чтобы включить автофильтр.

Перед выгрузкой удобно настроить вид таблицы через Главное меню → Вид → панели табличного документа: скрыть сетку, зафиксировать шапку. Параметры страницы (Файл → Параметры страницы…) задают поля, ориентацию и масштаб — они важны, если файл пойдёт на печать, а не в дальнейшую обработку.

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

Автоматизация: внешняя обработка и выгрузка по расписанию

Когда одну и ту же выгрузку делают каждый день или неделю, ручные клики заменяют внешней обработкой (.epf).

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

// ТабДок — заполненный табличный документ типа ТабличныйДокумент
ТабДок.Записать("C:\Export\vygruzka.xlsx", ТипФайлаТабличногоДокумента.XLSX);

Такую обработку можно повесить на регламентное задание (Администрирование → Обслуживание → Регламентные и фоновые задания в типовых конфигурациях), чтобы файл формировался в заданное время без участия пользователя.

Запись файла по фиксированному пути (C:\Export\…) на сервере работает только если у сервера 1С есть доступ к этой папке. В клиент-серверном варианте путь должен указывать на каталог, видимый именно серверу приложений, а не рабочей станции.

Для разовой выгрузки обработку запускают вручную через Файл → Открыть…. Отдельный плюс программного подхода — можно собрать в один файл несколько листов или объединить данные из разных таблиц, чего интерфейсными способами не сделать за один проход.

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

Кракозябры и пропавшие нули: кодировка и спецсимволы

Если вместо русских букв в файле «Ã¿Ã®Ã¬» или вопросики, проблема почти всегда в CSV, а не в 1С. Формат .xlsx хранит текст в Unicode, и с ним таких сбоев не бывает — поэтому первый совет при кракозябрах: сохраняйте не в CSV, а в xlsx.

Если CSV всё же обязателен (требует принимающая система):

  • Excel открывает CSV в неверной кодировке. 1С и Windows часто пишут CSV в Windows-1251, а Excel ждёт UTF-8 (или наоборот). Не открывайте файл двойным кликом, а импортируйте: в Excel Данные → Получить данные → Из текстового/CSV-файла и там явно выберите кодировку, в которой читаются буквы.
  • Пропали ведущие нули в кодах, артикулах, табельных номерах, ИНН. Excel считает их числами и срезает нули. При импорте через Данные задайте этим колонкам тип Текст, тогда 007 останется 007.
  • Длинные числа превратились в 1,23E+11. Та же причина: Excel видит число. Лечится заданием текстового формата колонки до вставки данных.

Самая надёжная схема без возни с кодировкой: выгрузить из 1С сразу в .xlsx. CSV оставляйте только там, где его явно требует другая программа.

Отдельно про спецсимволы: перенос строки внутри ячейки, кавычки и точки с запятой в CSV могут «ломать» разбивку на колонки. В .xlsx этого не происходит — ещё один довод в его пользу.

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

Можно ли выгрузить в Excel всю базу 1С целиком?
Одним файлом — нет, Excel для этого не предназначен. Базу выгружают по частям: отдельно справочники, отдельно документы, отдельно отчёты. Для полного переноса данных используют другие механизмы (выгрузка в XML, обмен), а не Excel.
Почему при сохранении списка часть строк не попала в файл?
Скорее всего, в списке стоял отбор (по организации, периоду, статусу) или формат .xls обрезал всё, что за пределами 65 536 строк. Снимите лишние отборы и сохраняйте в .xlsx.
Как выгрузить только видимые колонки, без служебных?
Через Ещё → Вывести список… снимите галочки с ненужных колонок перед выводом. В файл попадут только отмеченные столбцы в заданном порядке.
Сохранил в Excel, но формулы и итоги не пересчитываются.
В Excel переносятся значения, а не формулы 1С. Итоги выгружаются как готовые числа. Если нужен живой пересчёт, стройте сводную таблицу или формулы уже в Excel поверх выгруженных данных.
Нужны ли права администратора, чтобы выгружать данные?
Нет. Сохранение отчётов и вывод списков доступны обычному пользователю в рамках его прав на просмотр данных. Ограничить выгрузку может только отдельная настройка ролей.