Выгрузка печатной формы, отчёта и списка документов из 1С в Excel без потери форматов
Содержание
Чтобы сохранить документ из 1С в Excel, откройте его печатную форму (кнопка Печать) или отчёт и нажмите значок дискеты в командной панели либо Ctrl+S. В окне сохранения выберите тип Лист Microsoft Excel 2007-... (*.xlsx) и укажите папку. Тот же путь доступен через главное меню (кнопка с тремя полосками в левом верхнем углу): Файл → Сохранить как….
Способ работает в 1С 8.3 с интерфейсом «Такси» во всех типовых конфигурациях: Бухгалтерии 3.0, ЗУП 3.1, УТ 11. Это механизм платформы, а не конкретной программы. Установленный Excel на компьютере для этого не нужен: файл .xlsx формирует сама 1С.
Что именно можно выгрузить в Excel и каким способом
Под словами «документ из 1С» обычно понимают одно из трёх. От этого зависит способ.
| Что нужно | Чем выгружать | Что получите в Excel |
|---|---|---|
| Счёт, акт, накладная, УПД | Печатная форма → Сохранить | Копию бланка с объединёнными ячейками |
| Оборотка, анализ счёта, любой отчёт | Кнопка сохранения в форме отчёта | Таблицу с группировками и итогами |
| Журнал документов за период | Ещё → Вывести список… | Плоскую таблицу, удобную для фильтров |
| Сотни тысяч строк | CSV через обработку | Текстовый файл без оформления |
| Пара строк «на скорую руку» | Буфер обмена | Значения без оформления |
💡 Если в Excel вы собираетесь считать, фильтровать и строить сводные, берите не печатную форму, а список или отчёт. Печатная форма сделана для бумаги: в ней много объединённых ячеек, и сортировка по ней почти не работает .
Сохранение печатной формы и отчёта через меню 1С
Печатная форма документа
- Откройте документ, например
Реализация (акт, накладная, УПД). - Нажмите
Печатьи выберите нужную форму. - В окне предварительного просмотра нажмите значок дискеты
Сохранить. - В открывшемся окне отметьте формат
Лист Microsoft Excel 2007 (.xlsx). - Выберите, сохранить файл на компьютер или прикрепить его к документу.
- Нажмите
Сохранитьи укажите папку.
В типовых конфигурациях окно сохранения печатной формы позволяет отметить сразу несколько форматов, например .xlsx и .pdf. Это удобно, когда клиенту нужен PDF, а себе — редактируемая копия.
Отчёт
- Сформируйте отчёт с нужным периодом и отборами.
- Щёлкните мышью по табличной части отчёта, чтобы фокус был на результате, а не на поле периода.
- Нажмите
Ctrl+Sили дискету в командной панели формы отчёта. - Выберите тип файла
.xlsxи сохраните.
Если Ctrl+S ничего не делает или предлагает сохранить настройки, а не таблицу, значит, курсор стоит в поле отбора. Кликните по любой ячейке результата и повторите.
Список документов за период
- Откройте журнал, например
Продажи → Реализация (акты, накладные, УПД). - Установите период и отборы.
- Нажмите
Ещё → Вывести список…. - Отметьте колонки, которые нужны, снимите лишние, нажмите
ОК. - 1С откроет табличный документ. Сохраните его так же, как отчёт.
Этот приём знают не все, а он закрывает половину запросов вида «выгрузить реестр счетов в Excel». В результате получается чистая таблица: одна строка — один документ, без объединённых ячеек.
Формат файла: что выбрать
- ✅
.xlsx— основной вариант. До 1 048 576 строк на листе. - ⚠️
.xls(Excel 97) — только для очень старых программ. Лимит — 65 536 строк, всё, что ниже, обрежется. - 📄
.ods— для LibreOffice и «МойОфис», если Excel нет. - 📎
.mxl— родной формат 1С. Excel его не откроет, но им удобно обмениваться между пользователями 1С.
Как настроить отчёт и макет перед выгрузкой в Excel
Excel получает ровно то, что 1С показала на экране. Поэтому порядок наводят до сохранения, а не после.
Отчёты: убрать лишнее
- 📊 В
Настройкахотчёта оставьте только нужные показатели и группировки. Каждый лишний уровень даёт в Excel отдельные строки промежуточных итогов. - 🧾 Отключите вывод заголовка и параметров отчёта, если таблица пойдёт в обработку. Тогда данные начнутся с первых строк листа, без шапки с названием организации.
- 🔢 Включите детальные записи, если нужна каждая операция, а не итог по группе.
После сохранения в .xlsx группировки строк, как правило, переносятся: слева на листе Excel появляются кнопки «+» и «−». Если они мешают, в Excel выделите строки и выберите на вкладке Данные команду Разгруппировать.
Печатные формы: поправить макет
Если бланк при выгрузке «расползается», правьте его макет, а не каждый готовый файл. В Бухгалтерии 3.0 и ЗУП 3.1 это делается в разделе Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм. Там можно изменить ширину колонок, шрифт, убрать лишние строки. Изменённый макет хранится в базе и переживает обновление, а вернуть исходный можно командой использования стандартного макета.
Перед правкой макета выгрузите его копию в файл: так вы вернётесь к рабочему варианту за минуту.
Параметры страницы
Ориентация листа и масштаб, заданные в 1С через Параметры страницы в окне предварительного просмотра, переходят в файл. Если документ будут печатать из Excel, выставьте их заранее. Иначе широкая оборотка уедет на 3–4 листа по ширине.
Копирование через буфер обмена
Для разовых задач хватает копирования.
- В табличном документе (отчёте, печатной форме) выделите диапазон мышью. Весь лист выделяется
Ctrl+A. - Нажмите
Ctrl+C. - В Excel встаньте в ячейку и нажмите
Ctrl+V.
Из обычного списка документов копирование тоже работает: выделите строки с Shift или Ctrl и нажмите Ctrl+C. В Excel вставятся значения видимых колонок.
Если при вставке съезжает оформление, используйте в Excel Специальная вставка → Значения (Ctrl+Alt+V). Тогда придут только данные.
Главный подвох буфера — числа вставляются как текст. Суммы прижаты к левому краю, СУММ даёт ноль. Причина и лечение — ниже, в разделе про кодировку и разделители.
Большие объёмы: выгрузка в CSV
Табличный документ на 200–300 тысяч строк 1С формирует и сохраняет долго, а иногда упирается в память клиентского компьютера. Для таких объёмов удобнее CSV: обычный текст, где колонки разделены точкой с запятой.
Среди стандартных форматов сохранения табличного документа CSV нет. Его получают двумя путями:
- 🛠 внешней обработкой, которая пишет файл построчно (пример кода ниже);
- 🔄 через типовые механизмы выгрузки, если в вашей конфигурации есть выгрузка в CSV для нужного объекта.
Преимущества CSV:
- файл в разы меньше .xlsx;
- выгрузка идёт построчно, без построения таблицы в памяти;
- открывается в Excel, LibreOffice, загружается в базы данных и BI-системы.
Минус один: в CSV нет форматирования, формул и нескольких листов. Это чистые данные.
Если CSV нужен разово, а обработки нет, есть обходной путь. Сформируйте отчёт или список частями, например помесячно, и сохраните каждую часть в .xlsx. Потом объедините листы в Excel через Данные → Получить данные → Из файла → Из папки. Для 12 файлов по 30 тысяч строк это быстрее, чем ждать один гигантский табличный документ.
Перед тем как отдавать большой файл дальше, проверьте три вещи:
- 🔢 число строк в Excel совпадает с количеством записей в 1С (счётчик видно внизу листа при выделении колонки);
- 💰 итог по колонке суммы равен итогу отчёта в 1С;
- 📅 даты распознаны как даты, а не как текст — они прижаты к правому краю ячейки.
Кодировка, разделители и числа-текст: как починить
Кракозябры вместо кириллицы
Excel при двойном клике открывает CSV в кодировке, которую считает системной. Файл в UTF-8 без метки BOM превращается в набор символов вида Продажа.
Как исправить:
- В Excel откройте вкладку
Данные → Из текстового/CSV-файла. - Выберите файл.
- В поле
Источник файлаукажите65001: Юникод (UTF-8)или1251: Кириллица (Windows). - Проверьте предпросмотр и нажмите
Загрузить.
Чтобы проблема не возникала вовсе, пишите CSV в UTF-8 с меткой BOM. Объект ЗаписьТекста с кодировкой КодировкаТекста.UTF8 добавляет эту метку сам.
Всё в одной колонке
Русская версия Excel ждёт разделитель ;, потому что запятая занята под дробную часть. Если файл разделён запятыми, все данные лягут в колонку A. Решение: выгружать с ; или при импорте указать разделитель вручную.
Суммы не суммируются
1С выводит числа с разделителем разрядов — неразрывным пробелом (символ с кодом 160). Excel не считает строку 125 400,00 числом.
Лечится за минуту:
- Выделите колонку с суммами.
- Нажмите
Ctrl+H. - В поле «Найти» введите неразрывный пробел: удерживая
Alt, наберите0160на цифровой клавиатуре. - Поле «Заменить на» оставьте пустым и нажмите
Заменить все.
После замены суммы прижмутся вправо, и формулы заработают. Если в ячейках есть «руб.» или «р.», уберите их той же заменой.
Даты стали текстом или «съехали»
Если дата пришла как 01.03.2025 0:00:00, Excel может не распознать её. Выделите колонку, выберите Данные → Текст по столбцам и на третьем шаге укажите формат даты ДМГ.
Автоматическая выгрузка в Excel обработками и рассылками
Когда один и тот же отчёт нужен каждую неделю, руками его сохранять незачем.
Рассылка отчётов
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) есть рассылка отчётов. Её включают в разделе Администрирование → Печатные формы, отчеты и обработки. В настройке рассылки выбирают отчёт, формат вложения (в том числе .xlsx), расписание и адресатов или сетевую папку. Работает по регламентному заданию, поэтому для файловой базы 1С должна быть запущена в момент рассылки.
Внешняя обработка
Если нужна выгрузка нестандартного набора данных, пишут внешнюю обработку (.epf). Подключают её через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки.
Сохранить табличный документ в .xlsx из кода можно одной строкой:
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
Для больших объёмов — построчная запись в CSV. Пример выгружает проведённые реализации в Бухгалтерии 3.0:
&НаСервере
Процедура ВыгрузитьРеализацииВCSV(ИмяФайла)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Док.Дата КАК Дата,
| Док.Номер КАК Номер,
| ПРЕДСТАВЛЕНИЕ(Док.Контрагент) КАК Контрагент,
| Док.СуммаДокумента КАК Сумма
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Док
|ГДЕ
| Док.Проведен
|УПОРЯДОЧИТЬ ПО
| Дата";
Выборка = Запрос.Выполнить().Выбрать();
Запись = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8);
Запись.ЗаписатьСтроку("Дата;Номер;Контрагент;Сумма");
Пока Выборка.Следующий() Цикл
Запись.ЗаписатьСтроку(СтрШаблон("%1;%2;%3;%4",
Формат(Выборка.Дата, "ДФ=dd.MM.yyyy"),
Выборка.Номер,
СтрЗаменить(Выборка.Контрагент, ";", ","),
Формат(Выборка.Сумма, "ЧРД=,; ЧГ=0; ЧН=0")));
КонецЦикла;
Запись.Закрыть();
КонецПроцедуры
Три детали, на которых чаще всего спотыкаются:
- 🔣
ЧГ=0в формате суммы убирает разделитель разрядов. Без него Excel снова получит текст вместо числа. - ✂️ Точку с запятой в названии контрагента заменяем на запятую, иначе строка «разъедется» на лишнюю колонку.
- 🖥 Процедура выполняется на сервере, и
ИмяФайла— это путь на сервере 1С. В клиент-серверной базе файл окажется на сервере, а не на вашем компьютере. Чтобы отдать его пользователю, запишите файл во временное хранилище и получите на клиенте методомНачатьПолучениеФайлаССервераили его аналогом в вашей версии платформы.