Выгрузка отчётов и списков из 1С в файл Excel: способы, форматы, ошибки

· 9 мин

Содержание

Чтобы сохранить книгу Excel из 1С, сформируйте отчёт, нажмите на панели отчёта кнопку с дискетой «Сохранить» (или Ctrl+S) и в поле «Тип файла» выберите Лист Microsoft Excel 2007-... (*.xlsx). Для списка документов или справочника сначала выполните Ещё → Вывести список..., а уже получившуюся таблицу сохраните тем же способом. Способ общий для платформы 8.3 и одинаково работает в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на интерфейсе «Такси».

Типичная ситуация: главбух просит оборотно-сальдовую ведомость по 60 счёту «в Экселе», чтобы отфильтровать поставщиков с сальдо больше 100 000 ₽. Пять минут — и файл готов. Сложности начинаются, когда в книге пропадают ведущие нули в кодах, суммы не складываются, а выгружать нужно каждый понедельник. Для каждого из этих случаев есть своё решение.

Штатные способы сохранить данные 1С в Excel

У платформы 1С 8.3 есть один универсальный объект для вывода таблиц — табличный документ. Отчёты, печатные формы и «выведенные» списки — это он. А табличный документ платформа умеет записывать в Excel сама, без обработок и надстроек.

Отчёт или печатная форма

  1. Откройте отчёт, задайте период и отборы, нажмите Сформировать.
  2. Нажмите кнопку с дискетой на панели над таблицей или Ctrl+S. Если кнопки не видно, она есть в меню Ещё.
  3. В окне сохранения укажите папку и имя файла.
  4. В поле «Тип файла» выберите Лист Microsoft Excel 2007-... (*.xlsx).
  5. Нажмите Сохранить.

Печатные формы (счёт, акт, ТОРГ-12, расчётный листок) сохраняются так же. В форме печати кнопка сохранения тоже изображена дискетой, и в ней можно сразу выбрать формат.

Список документов, справочник, регистр

Журнал документов или справочник контрагентов — это динамический список, а не табличный документ. Его сохраняют в два шага:

  1. В списке настройте отбор и колонки, которые нужны в файле.
  2. Выполните Ещё → Вывести список....
  3. В окне вывода отметьте нужные колонки, оставьте «Выводить в: Табличный документ» и нажмите ОК.
  4. В открывшейся таблице нажмите Ctrl+S и выберите формат xlsx.

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

Быстрый путь через буфер обмена

Когда нужен кусок отчёта, а не весь файл, проще скопировать:

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

Числа и даты при этом обычно вставляются как значения, а оформление переносится частично. Для больших отчётов на десятки тысяч строк надёжнее сохранить файл : буфер на таких объёмах работает медленно.

Какой формат файла выбрать при сохранении

В списке «Тип файла» несколько вариантов. Под Excel подходят не все одинаково.

ФорматКогда выбиратьОграничения
*.xlsx (Excel 2007 и новее)Почти всегдаДо 1 048 576 строк на лист
*.xls (Excel 97)Получатель работает в очень старом ExcelДо 65 536 строк, больше не поместится
*.odsПолучатель работает в LibreOfficeВ Excel открывается, но оформление может съехать
*.csv, *.txtЗагрузка в другую программу, банк-клиент, скриптНет оформления, есть риск ошибки кодировки
*.pdfФайл только для чтения и печатиТаблицу не отфильтровать

Если в оборотке за год получилось больше 65 536 строк, а сохраняли в xls, хвост таблицы просто не попадёт в файл. Проверьте последнюю строку книги, прежде чем отправлять её дальше.

Как подготовить отчёт, чтобы книга Excel была удобной

Что видно на экране 1С, то и уходит в файл. Поэтому настраивать лучше отчёт, а не готовую книгу.

Группировки и итоги

Свёрнутые группировки (плюсики слева) сохраняются в Excel как структура: книга откроется с теми же уровнями, которые можно разворачивать кнопками 1, 2, 3 над номерами строк. Для фильтрации и сводных таблиц это неудобно. Перед сохранением:

  • 📌 в настройках отчёта уберите лишние уровни группировки или разверните все группы;
  • 📌 оставьте один уровень детализации, если дальше будете строить сводную таблицу;
  • 📌 отключите промежуточные итоги, если их всё равно посчитает Excel.

Шапка, отборы и пустые колонки

Многие отчёты выводят над таблицей заголовок, период и список отборов. Для печати это полезно, для анализа мешает: автофильтр Excel не поймёт, где начинается таблица. В настройках большинства стандартных отчётов есть флажки, отвечающие за вывод заголовка и отборов, — снимите их перед сохранением.

Объединённые ячейки

Шапки отчётов часто собраны из объединённых ячеек. В Excel они ломают сортировку и автофильтр. Если книгу будут обрабатывать, после открытия выделите шапку и снимите объединение кнопкой Главная → Объединить и поместить в центре.

Кракозябры, числа-текст и пропавшие нули: разбор проблем

Формат xlsx хранит текст в Юникоде, поэтому при обычном сохранении отчёта кириллица не ломается. Иероглифы и знаки «Ð¡Ñ‡Ñ‘Ñ‚» появляются почти всегда при работе с CSV и TXT: 1С записала файл в одной кодировке, а Excel открыл его в другой.

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

Длинные числа, например номера банковских карт или счетов из 20 цифр, Excel хранит с точностью до 15 знаков. Если такой столбец превратился в число, последние цифры заменятся нулями без предупреждения. Держите такие поля текстом.

Сложная выгрузка в Excel: внешняя обработка и код

Штатного сохранения хватает, пока нужен один отчёт на один лист. Если требуется выгрузка произвольной выборки, несколько листов или формулы в ячейках, пишут внешнюю обработку (файл .epf). Её подключают через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки или открывают через Файл → Открыть в главном меню, если у пользователя есть на это права.

Вариант 1: запрос → табличный документ → файл

Самый надёжный способ работает и на клиенте, и на сервере, Excel на компьютере для него не нужен:

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

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

    Выборка = Запрос.Выполнить().Выбрать();

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

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

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

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

ИНН здесь записывается как текст, поэтому ведущие нули не потеряются. Для числовых колонок в реальной обработке задают ячейке числовое значение, а не строку, иначе получите проблему «числа-текст» из раздела выше.

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

Вариант 2: управление Excel через COM

Когда нужны формулы, несколько листов или условное форматирование, обработка может управлять самим Excel через COM-объект Excel.Application. У этого способа жёсткие условия:

  • 🖥️ на компьютере, где выполняется код, установлен Microsoft Excel;
  • 🖥️ код работает на клиенте под Windows, в веб-клиенте и на Linux он не запустится;
  • 🐢 запись ячеек по одной медленная: на 50 000 строк уйдут минуты.

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

Выгрузка отчётов в Excel по расписанию

Если один и тот же отчёт нужен каждую неделю, вручную его можно не сохранять.

Рассылка отчётов

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

  1. Какие отчёты и с какими настройками формировать.
  2. Формат вложения — выберите Excel 2007 (xlsx).
  3. Куда доставлять: в папку, в сетевой каталог или по электронной почте.
  4. Расписание: например, каждый понедельник в 07:00.

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

В клиент-серверной базе сетевой каталог для рассылки указывают в формате \\server\share, и права на запись нужны учётной записи, под которой работает служба сервера 1С, а не пользователю.

Своё регламентное задание

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

Безопасность данных в выгруженных файлах Excel

Книга Excel, сохранённая из 1С, живёт уже без прав доступа программы. Расчётная ведомость из ЗУП, отправленная по почте, — это персональные данные сотрудников за пределами защищённой базы. Работа с ними подпадает под 152-ФЗ «О персональных данных».

Что стоит настроить:

  • 🔒 Право «Вывод». В 1С есть отдельное право, которое разрешает печать, сохранение в файл и копирование в буфер. Администратор может отключить его для ролей, которым выгружать данные не нужно. Без него пользователь видит отчёт на экране, но сохранить его не может.
  • 🔒 Пароль на книгу. Сама 1С при сохранении пароль не ставит. Зашифруйте файл в Excel: Файл → Сведения → Защита книги → Зашифровать с использованием пароля. Пароль передавайте другим каналом, не в том же письме.
  • 🔒 Папки рассылок. Каталог, куда регламентное задание складывает отчёты, должен быть доступен только тем, кому они предназначены.
  • 🔒 Временные файлы. Если в окне печати нажать «Открыть в Excel» вместо сохранения, копия может остаться во временной папке пользователя. На общих компьютерах это утечка.

Не отправляйте выгрузки с паспортными данными и зарплатами сотрудников в незашифрованном виде через личную почту и мессенджеры.

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

Можно ли сохранить из 1С сразу несколько листов в одну книгу Excel?
Штатное сохранение пишет один табличный документ на один лист. Чтобы получить несколько листов, сохраните отчёты отдельными файлами и соберите их в Excel через перемещение листов или напишите обработку с управлением Excel через COM.
Как сохранить отчёт в Excel из веб-клиента 1С?
Так же: кнопка с дискетой, выбор формата xlsx. Файл скачается через браузер в папку загрузок, если браузер не спросит другое место.
Почему кнопка сохранения в отчёте неактивна?
Чаще всего у пользователя нет права «Вывод». Проверьте его профиль группы доступа или роли у администратора базы.
Сохраняются ли в Excel расшифровки отчёта?
Нет. Расшифровка работает только внутри 1С. В книге останутся значения ячеек и оформление, двойной щелчок по сумме в Excel ничего не откроет.
Можно ли выгрузить в Excel всю базу 1С целиком?
Нет, и это не нужно. Резервную копию делают выгрузкой в .dt, а в Excel сохраняют конкретные отчёты и списки.

Источники

  • Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»