Выгрузка документа из 1С в Excel: все рабочие способы
Содержание
Чтобы вывести документ из 1С в Эксель, откройте его печатную форму, нажмите кнопку с дискетой «Сохранить» и выберите формат Лист Excel 2007-... (*.xlsx). Файл сохранится на диск и откроется в Excel за пару секунд. Это самый быстрый способ, и он подходит в большинстве случаев.
Но у документа в 1С две стороны: то, что видит пользователь, и то, что лежит в базе. Печатную форму выгружают одним кликом, а вот список документов, табличную часть или данные для обработки приходится выводить другими путями. Ниже — все способы от простого к сложному, с рецептами на типичные сбои.
Какой способ выбрать
Сначала определитесь, что именно вам нужно получить. От этого зависит и метод, и результат.
| Что выгружаем | Способ | Что получите |
|---|---|---|
| Готовую печатную форму (счёт, накладную, акт) | Кнопка «Сохранить» в форме | Файл xlsx с оформлением как на экране |
| Фрагмент таблицы или отчёта | Копирование через буфер | Данные в открытой книге Excel |
| Список документов за период | Вывод списка из меню «Ещё» | Таблица со столбцами на выбор |
| Табличную часть документа | Копирование строк или вывод списка | Строки товаров, услуг |
| Массовую выгрузку по расписанию | Код на встроенном языке | Файлы без участия человека |
Если нужен просто «документ для отправки контрагенту», берите печатную форму. Если нужны данные для расчётов и сводных таблиц, берите список или отчёт.
Сохранение печатной формы через кнопку «Сохранить»
Это основной путь для готовых документов: счетов, накладных, актов, счетов-фактур.
- Откройте документ и нажмите кнопку
Печать. Выберите нужную печатную форму. - В открывшемся окне просмотра найдите на панели кнопку с изображением дискеты — «Сохранить».
- В диалоге выберите папку и в списке типов файла укажите формат Excel.
- Задайте имя файла и нажмите «Сохранить».
Форматов в списке несколько. Для Excel нужны два:
- 📗
xlsx— современный формат, открывается в любой версии Excel, начиная с 2007; - 📙
xls— старый формат, нужен только если получатель сидит на очень старом офисе.
Там же вы увидите pdf, ods, html и родной формат mxl. Последний открывается только в 1С, для Excel он бесполезен.
Проверьте разрядность и версию Excel, если файл не открывается. Формат xlsx не откроется в программе, которая не поддерживает его, а переименование расширения не поможет.
Что происходит с оформлением
Табличный документ 1С переносит в Excel объединённые ячейки, рамки, шрифты, ширину столбцов. Картинки (логотип, подпись, печать) тоже сохраняются, если они были в макете.
Бывает, что линии сетки или границы страницы съезжают. Это связано с настройками масштаба печатной формы, о них ниже.
Копирование данных через буфер обмена
Когда нужен кусок таблицы, а не весь документ, проще скопировать его вручную.
- Выделите нужные ячейки в печатной форме или отчёте. Для всей таблицы кликните в левый верхний угол либо нажмите
Ctrl+A. - Нажмите
Ctrl+C. - Откройте Excel и вставьте данные сочетанием
Ctrl+Vв нужную ячейку.
Так работает копирование из табличных документов: печатных форм, отчётов, результатов вывода списка. Обычные поля в карточке документа копируются по одному значению.
Копирование из списков и табличных частей
В формах списков (например, «Реализации товаров и услуг») выделите строки мышью с зажатым Shift и скопируйте. В Excel попадут значения видимых столбцов. Если столбец скрыт в настройках формы, его в буфере не будет.
Для табличной части документа действует тот же приём: выделите строки, Ctrl+C, вставка в Excel. Число и дата при этом придут как текст или как значение, в зависимости от формата ячейки — это нормально и правится в Excel.
Из больших отчётов (десятки тысяч строк) буфер копирует медленно, а иногда зависает. Для таких объёмов используйте сохранение в файл.
Вывод списка документов в Excel
Чтобы выгрузить не один документ, а все за месяц, используйте штатный вывод списка.
- Откройте журнал или список документов и настройте отбор: период, организацию, контрагента.
- В командной панели нажмите
Ещёи выберитеВывести список. - В окне отметьте, какие столбцы нужны, и укажите вывод в табличный документ.
- Нажмите «ОК». Откроется табличный документ со списком.
- Сохраните его кнопкой с дискетой в формате xlsx — как печатную форму.
Если нужны не все записи, а выделенные, выделите строки заранее: вывод в таком случае можно ограничить выбранными.
Преимущество этого метода: вы сами выбираете состав столбцов и получаете «плоскую» таблицу, которую удобно фильтровать и считать. Недостаток: в файл попадает только то, что показано в списке. Реквизиты, которых в списке нет, придётся добавить через настройку списка.
Выгрузка отчётов и табличных частей: что учесть
Отчёты в 1С тоже табличные документы, поэтому сохраняются теми же двумя путями: кнопка «Сохранить» или копирование. Но есть нюансы, которые не видны на примере одного счёта.
Группировки и итоги
В отчёте с группировками строки вложены друг в друга. В Excel они приходят как плоский набор строк с отступами, а итоги стоят отдельными строками. Для сводной таблицы такой вид неудобен.
Что делать:
- 🧹 в настройках отчёта уберите лишние уровни группировки и оставьте детальные записи;
- 📊 отключите итоги, если собираетесь считать сами;
- 🔍 разверните все группировки до выгрузки, иначе скрытые строки не попадут в результат.
Расшифровки и гиперссылки
Ячейки с расшифровкой (двойной щелчок открывает документ) в Excel становятся обычным текстом. Переход к документу из файла не работает , и это нормально: связь живёт только внутри 1С. Если получателю нужен номер документа, убедитесь, что он выведен в отдельный столбец.
Объём и скорость
Отчёт на пять тысяч строк сохраняется за секунды. Выгрузка на сотни тысяч строк может занять минуты, а в старом формате xls упрётся в лимит строк листа. Поэтому для больших объёмов выбирайте xlsx и разбивайте выгрузку по периодам, например по месяцам.
Табличная часть документа
Товары, услуги и другие строки табличной части можно получить двумя способами. Первый — скопировать строки через буфер. Второй — открыть печатную форму, где эта таблица уже оформлена, и сохранить её в xlsx. Второй способ надёжнее: в печатной форме строки не скрыты и порядок столбцов совпадает с документом.
Если вам нужны данные для загрузки обратно в 1С (например, список номенклатуры для заполнения документа), сначала выгрузите образец из документа и держите структуру столбцов без изменений. Менять порядок и названия можно только после того, как загрузка отработает на тестовых данных.
Настройка печати и табличного документа перед выгрузкой
Excel повторяет то, что вы увидели в окне 1С. Поэтому привести форму в порядок лучше до сохранения.
Что проверить:
- 📐 Масштаб и ориентацию. Широкая накладная лучше смотрится в альбомной ориентации. Её задают в параметрах страницы печатной формы.
- 📏 Поля. Слишком узкие поля превращают выгрузку в набор разрозненных кусков.
- 🔢 Область печати. В файл уходит то, что в форме, но не то, что скрыто группировкой.
- 🧩 Заголовки таблицы. Если нужно повторять шапку на каждой странице, включите это в параметрах страницы.
Параметры страницы вызываются из меню печатной формы. Если нужной команды на панели не видно, ищите её в выпадающем меню Ещё или в разделе Файл.
Полезная привычка: сначала нажмите предварительный просмотр, затем сохраняйте. Так вы увидите, где разорвутся страницы.
Программная выгрузка и обработка данных
Если выгрузка нужна регулярно, вручную её не делают. Платформа даёт два пути.
Запись табличного документа в файл
У табличного документа есть метод Записать. Он сохраняет документ сразу в нужный формат, без диалогов.
ТабДок = Новый ТабличныйДокумент;
// ... заполнение ТабДок данными или печатной формой ...
ТабДок.Записать("C:\Выгрузка\Реализации.xlsx", ТипФайлаТабличногоДокумента.XLSX);
На сервере путь должен быть доступен процессу, который запускает код. Для файлового режима это папка на вашем компьютере, для клиент-серверного — папка на сервере. Если нужно отдать файл пользователю, используйте временное хранилище и скачивание на клиенте.
Работа через COM-соединение с Excel
Старый приём: создать объект Excel и заполнять ячейки по одной.
Excel = Новый COMОбъект("Excel.Application");
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);
Лист.Cells(1, 1).Value = "Номер";
Лист.Cells(1, 2).Value = "Сумма";
Книга.SaveAs("C:\Выгрузка\Итоги.xlsx");
Excel.Quit();
У COM есть серьёзные ограничения. Excel должен быть установлен на том компьютере, где работает код. На сервере без интерфейса это обычно неприемлемо. Кроме того, заполнение ячейка за ячейкой медленно: тысяча строк уже ощутима.
Если Excel на машине нет, берите ТабличныйДокумент.Записать. Он не зависит от офиса.
Выгрузка запросом
Когда нужна не печатная форма, а данные, строят запрос и выводят результат в табличный документ. Либо собирают отчёт на системе компоновки данных и сохраняют его в xlsx. Такой отчёт можно запускать по расписанию регламентным заданием и отправлять по почте.
Регламентные задания выполняются на сервере. Следите, чтобы путь записи был доступен учётной записи сервера 1С, а не вашей.
Работа с макетами и шаблонами печатных форм
Если вас не устраивает внешний вид выгрузки, меняйте макет. Макет — это шаблон, из которого собирается печатная форма.
Где он живёт:
- у документов — в разделе
Макетыв конфигураторе, в ветке объекта; - у внешних печатных форм — в самой обработке;
- у регламентных отчётов — в схеме компоновки.
Правка макета идёт в конфигураторе или в режиме подсистемы дополнительных печатных форм. Для типовой конфигурации лучше не менять типовой макет напрямую: при обновлении ваши правки затрутся. Создайте внешнюю печатную форму либо расширение.
Что можно сделать с макетом:
- добавить колонки и поменять порядок;
- зафиксировать ширину столбцов, чтобы в Excel не плыли;
- убрать лишние области, из-за которых ломается печать;
- задать формат чисел в ячейках, чтобы в Excel они сразу были числами.
Перед правкой любого макета сделайте копию базы . Ошибка в макете ломает печать документа у всех пользователей.
Типичные проблемы при экспорте и как их решить
Большинство сбоев повторяется. Вот самые частые.
| Симптом | Причина | Что делать |
|---|---|---|
| В ячейке «####» вместо числа | Узкий столбец в Excel или текстовый формат ячейки | Расширьте столбец, смените формат на числовой |
| Числа слиплись с текстом, не суммируются | Данные пришли как текст | Выделите столбец, преобразуйте в число через смену формата |
| Дата превратилась в набор цифр | Формат ячейки «Общий» | Назначьте формат даты |
| Файл не открывается в Excel | Сохранили в mxl или неверное расширение | Пересохраните как xlsx |
| В выгрузку не попали столбцы | Они скрыты в списке | Включите столбцы в настройке формы |
| Нули в начале номера исчезли | Excel считает значение числом | Задайте текстовый формат до вставки |
Отдельно про кодировку: при выгрузке в текстовые форматы русские буквы иногда превращаются в «кракозябры». Лечится выбором кодировки при сохранении или при открытии файла в Excel через импорт данных.
Если не помогло
- Попробуйте сохранить в другой формат (
ods,html) и открыть файл оттуда. - Выгрузите меньший фрагмент: если мелкий кусок проходит, проблема в объёме.
- Проверьте свободное место на диске и права на запись в выбранную папку.
- Закройте в Excel файл с тем же именем: открытый файл перезаписать нельзя.