Экспорт данных из 1С 8.3 в Excel: 5 рабочих способов
Содержание
Чтобы перевести данные из 1С в Excel, в большинстве случаев хватает двух приёмов: выделить строки списка и нажать Ctrl+C, а затем вставить их в лист Excel, либо открыть нужный отчёт и сохранить его кнопкой Сохранить в формате Лист Excel 2007 (*.xlsx). Это работает в 1С 8.3 с интерфейсом «Такси» — в Бухгалтерии, ЗУП, Управлении торговлей и большинстве типовых конфигураций.
Проблемы начинаются, когда данных много, когда нужны не все колонки или когда кириллица превращается в «кракозябры». Ниже — пять способов выгрузки под разные задачи: от разового копирования пары строк до автоматической записи файла по расписанию. К каждому способу — точные пути меню и границы применимости.
Копирование в буфер и команда «Вывести список»
Самый быстрый способ выгрузить данные из 1С в Excel — через буфер обмена.
- Откройте любой список: справочник, журнал документов , результат отчёта.
- Выделите строки. Одна строка — клик, диапазон —
Shift+клик, весь список —Ctrl+A. - Нажмите
Ctrl+C. - Перейдите в Excel и вставьте
Ctrl+V.
Так копируются колонки ровно в том виде, в каком они видны на экране. Минус — переносятся только отображаемые поля, и для больших списков выделение всего через Ctrl+A иногда работает медленно.
Когда нужно вытащить список целиком и выбрать колонки, используйте штатную команду выгрузки:
- В списке нажмите кнопку
Ещё(в правом верхнем углу формы). - Выберите
Вывести список…. - В открывшемся окне отметьте галочками нужные колонки.
- В поле
Выводить воставьтеТабличный документи нажмитеОК.
1С сформирует отдельный табличный документ со всеми строками списка. Его уже можно сохранить в Excel (как — в следующем разделе).
Команда Вывести список есть почти в каждом списке 1С 8.3: в оборотно-сальдовой ведомости с детализацией, в списке контрагентов, в журнале проводок. Если кнопки Ещё не видно — разверните окно на весь экран, в узком окне часть команд прячется.
Универсальный отчёт: выгрузка любой таблицы базы
Когда в готовых отчётах нет нужного среза, помогает Универсальный отчёт. Он умеет строить таблицу по любому справочнику, документу или регистру и выгружать её в Excel.
Путь в типовых конфигурациях:
| Конфигурация | Путь к универсальному отчёту |
|---|---|
| Бухгалтерия 3.0 | Отчёты → Универсальный отчёт |
| ЗУП 3.1 | Отчётность, справки → Универсальный отчёт |
| Управление торговлей 11 | Отчёты → Универсальный отчёт |
Порядок работы:
- Вверху формы выберите тип источника:
Справочник,Документ,Регистр накопленияилиРегистр сведений. - Рядом укажите конкретный объект — например, справочник
Номенклатураили регистрТовары на складах. - Нажмите
Настройки, задайте группировки (строки), показатели (колонки) и отборы. - Нажмите
Сформировать. - Полученный отчёт сохраните в Excel — через кнопку
Сохранитьна панели.
Универсальный отчёт удобен тем, что настройку можно сохранить (Ещё → Сохранить вариант отчёта) и потом переформировывать выгрузку одним нажатием.
Отборы в универсальном отчёте работают только по полям выбранной таблицы. Если нужное поле лежит в другом объекте (например, реквизит контрагента при выгрузке документов), его сначала добавляют через Настройки → Дополнительные поля, а не ищут в основном списке колонок.
Сохранение отчётов и печатных форм в Excel
Любой сформированный отчёт и любая печатная форма в 1С 8.3 — это табличный документ. А табличный документ сохраняется в Excel напрямую.
Порядок одинаков для оборотки, карточки счёта, печатной формы счёта или акта:
- Сформируйте отчёт или откройте печатную форму (кнопка
Печатьв документе). - Нажмите кнопку
Сохранитьна верхней панели (значок дискеты) либоФайл→Сохранить как…. - В поле
Тип файлавыберите формат:Лист Microsoft Excel 2007 (*.xlsx)— современный формат, рекомендуется;Лист (Microsoft Excel 97) (*.xls)— для старых версий Excel;Таблица OpenDocument (*.ods)— для LibreOffice и OpenOffice.
- Укажите имя и папку, нажмите
Сохранить.
Файл откроется в Excel со всем форматированием: объединённые ячейки, рамки, итоги. Для печатных форм это важно — счёт или акт выгрузятся в том же виде, что и на печати.
Печатная форма выгружается «как картинка» таблицы: формулы в ячейках Excel не появятся, будут только значения. Если нужны живые формулы — считайте их уже в Excel после выгрузки.
Выбрать способ под конкретную задачу поможет короткое дерево решений:
Ctrl+C → Ctrl+V в Excel. Форматирование не нужно — это самый быстрый путь.Ещё → Вывести список → Табличный документ, затем Сохранить в .xlsx.Универсальный отчёт: задайте группировки и показатели, Сформировать, затем Сохранить.Сохранить прямо в форме отчёта → Лист Excel 2007 (*.xlsx).Массовая выгрузка списков и документов
Разовое копирование не годится, когда нужно выгрузить сотни строк регулярно или собрать данные из нескольких объектов.
Группировка и свёртка перед выгрузкой. В универсальном отчёте и в большинстве стандартных отчётов есть настройка группировок. Сверните данные до нужного уровня (например, продажи по месяцам, а не по каждому чеку) — тогда в Excel уедет компактная таблица, а не десятки тысяч строк.
Выгрузка нескольких документов списком. Чтобы получить в Excel реестр документов (номер, дата, контрагент, сумма), не открывайте каждый по отдельности. Откройте журнал документов, через Ещё → Вывести список отметьте нужные реквизиты и выгрузите весь журнал разом. Отбор по периоду и контрагенту задаётся прямо в журнале до вывода списка.
Стандартные выгрузки обмена. Для регулярной передачи данных во внешние системы в типовых конфигурациях есть Администрирование → Синхронизация данных и загрузка/выгрузка через форматы обмена. Это уже не Excel, а структурированные файлы, но если задача — не «посмотреть в таблице», а «передать в другую программу», смотреть надо туда.
Если выгрузка одного и того же отчёта в Excel нужна каждый день или каждую неделю — не копируйте вручную. Такую задачу закрывает внешняя обработка с записью файла по расписанию (последний раздел).
Текстовые файлы и CSV: когда формат Excel не подходит
Иногда принимающей системе нужен не .xlsx, а простой текст или CSV — например, для загрузки в банк-клиент, маркетплейс или стороннюю программу.
Табличный документ сохраняется и в текст:
- Сформируйте таблицу (отчёт, вывод списка).
Файл→Сохранить как….- В типе файла выберите
Текстовый файл (*.txt).
Колонки в таком файле разделяются символами табуляции — такой файл Excel открывает корректно.
Для настоящего CSV (значения через точку с запятой или запятую) надёжнее действовать от Excel:
- Выгрузите данные в
.xlsxлюбым способом выше. - В Excel выберите
Файл→Сохранить как→ типCSV (разделители — запятые). - Excel сам подставит разделитель и кодировку, принятую в системе.
Так вы точно контролируете разделитель и не зависите от того, какие форматы отдаёт конкретный релиз платформы.
CSV не хранит форматирование, формулы и несколько листов — только плоскую таблицу. Длинные числа (например, штрихкоды и расчётные счета) Excel при открытии CSV может показать в виде 1,23E+12. Чтобы этого избежать, открывайте CSV не двойным кликом, а через Данные → Получить данные → Из текстового/CSV-файла и задавайте текстовый формат для таких колонок.
Ошибки кодировки и обрезанные данные при экспорте
Три проблемы встречаются чаще всего. Разберём симптомы и решения.
.xlsx — там кодировка не теряется. Если нужен именно CSV, открывайте его через Данные → Из текстового/CSV-файла и в окне импорта выберите кодировку Юникод (UTF-8) или Кириллица (Windows-1251), пока текст в предпросмотре не станет читаемым..xls (Excel 97) вмещает только 65 536 строк и 256 колонок. Если данных больше — сохраняйте в .xlsx: он держит до 1 048 576 строк. Проверьте, что в типе файла выбран именно Лист Excel 2007, а не Excel 97..xlsx (там тип ячейки сохраняется из 1С), либо импортируйте CSV через Данные → Из текстового/CSV-файла с явным указанием формата колонок.Ещё одна частая мелочь — пустые строки и «шапка» отчёта. При копировании через буфер в Excel попадают и заголовки отчёта, и строки с итогами. Если нужны только данные, выгружайте список командой Вывести список (она отдаёт чистую таблицу) или удаляйте лишние строки уже в Excel.
Если выгрузка стабильно «ломается» на одном и том же отчёте, причина чаще в объёме. Сверните данные группировками в 1С до выгрузки — это снимает и ограничение по строкам, и тормоза при открытии файла.
Автоматизация выгрузки: внешние обработки и запись из кода
Когда одна и та же выгрузка нужна регулярно, её автоматизируют. В 1С 8.3 для этого есть встроенные средства — платить за сторонние программы не нужно.
Внешняя обработка (.epf). Разработчик пишет обработку, которая запросом собирает данные и записывает готовый файл. Обработка подключается через Файл → Открыть… или регистрируется в Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки (пункт доступен, если включён флаг использования дополнительных обработок).
Запись табличного документа из кода. Выгрузка в Excel на встроенном языке делается одной командой записи. Минимальный рабочий пример:
ТабДок = Новый ТабличныйДокумент;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Выборка = Запрос.Выполнить().Выбрать();
Строка = 1;
Пока Выборка.Следующий() Цикл
ТабДок.Область("R" + Строка + "C1").Текст = Выборка.Наименование;
ТабДок.Область("R" + Строка + "C2").Текст = Выборка.Артикул;
Строка = Строка + 1;
КонецЦикла;
ТабДок.Записать("C:\Выгрузка\Номенклатура.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Метод Записать с типом ТипФайлаТабличногоДокумента.XLSX сразу отдаёт готовый файл Excel — конвертация не нужна. Для старого формата используется .XLS97, для текста — .TXT.
Регламентное задание. Чтобы файл создавался сам по расписанию (например, каждую ночь), код выгрузки оформляют как регламентное задание: Администрирование → Обслуживание → Регламентные и фоновые задания. Задание запускается на сервере в фоне и кладёт файл в заранее заданную папку.
Если готового разработчика под рукой нет, а выгрузка несложная — часто достаточно сохранённого варианта универсального отчёта. Настроили один раз, а дальше Сформировать → Сохранить занимает полминуты.
Частые вопросы
Можно ли выгрузить из 1С сразу в готовый .xlsx, а не в .xls?
Тип файла выбирайте Лист Microsoft Excel 2007 (*.xlsx). Формат .xls (Excel 97) оставляйте только для совместимости со старыми программами — он ограничен 65 536 строками.Сохранятся ли в Excel итоги и группировки из отчёта?
Сохранить табличный документ переносит и группировки (их видно как структуру строк в Excel), и итоговые суммы, и форматирование. При простом копировании через буфер переносятся только видимые значения.Почему при открытии CSV из 1С вместо русских букв непонятные символы?
.xlsx, либо открывайте CSV через Данные → Из текстового/CSV-файла и выберите кодировку, при которой текст в предпросмотре читается (обычно UTF-8 или Windows-1251).Как выгрузить не весь справочник, а только отфильтрованные позиции?
Ещё → Вывести список. Команда выгрузит ровно то, что осталось после фильтра.Есть ли ограничение на число строк при выгрузке?
.xls — до 65 536 строк, .xlsx — до 1 048 576. Если строк больше, сверните данные группировками в отчёте перед выгрузкой.