Как перенести документ из 1С в Excel: 5 проверенных способов с сохранением структуры

· 9 мин

Содержание

Перенести документ или отчёт из 1С в Excel можно за полминуты: откройте печатную форму или отчёт, нажмите «Сохранить» (значок дискеты на панели формы или Ctrl+S) и выберите тип файла «Лист Microsoft Excel 2007-… (*.xlsx)». Так выгружается всё, что 1С показывает в виде таблицы: печатные формы, оборотно-сальдовые ведомости, карточки счетов, журналы.

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

Что проверить перед выгрузкой

Три минуты подготовки экономят час потом.

  • 📌 Сформируйте документ полностью. В отчёте нажмите «Сформировать» и дождитесь итогов. Выгружается то, что на экране.
  • 📌 Разверните группировки. Свёрнутые строки в отчёте уйдут в файл свёрнутыми. Чтобы получить детали, настройте отчёт или разверните уровни кнопкой группировки.
  • 📌 Оцените объём. Формат .xlsx вмещает 1 048 576 строк на лист, старый .xls только 65 536. Список на 200 тысяч строк в .xls не влезет.
  • 📌 Решите, что вам нужно: вид или данные. Печатная форма сохранит оформление, шапку и подписи. Для сводных таблиц и ВПР лучше выгружать простой список без объединённых ячеек.

Если файл пойдёт дальше (контрагенту, в банк, в аудит), сначала выгрузите его себе и откройте в Excel. Лишние столбцы и служебные строки проще убрать до отправки.

Способ 1. Сохранение печатной формы и отчёта через меню

Самый частый случай: вам нужен документ в том виде, в каком его видит бухгалтер.

Выгрузка печатной формы документа

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

Выгрузка отчёта

Порядок тот же: сформировали отчёт, нажали «Сохранить». Если в окне сохранения нет типа Excel, проверьте, что вы сохраняете именно таблицу отчёта, а не настройки.

Какие форматы предлагает 1С

ФорматКогда братьРиск
xlsxДля всего, что потом правят в ExcelОчень широкие формы могут «поехать» по ширине столбцов
xlsСовместимость с древним ПОЛимит 65 536 строк
mxlХранить в родном формате 1СБез 1С не откроется
pdfОтправить «как есть», без правокДанные в таблицу не вытащить
csv / txtПередать данные в другую программуТеряется оформление, возможны проблемы с кодировкой

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

Способ 2. Копирование через буфер обмена

Метод для списков, журналов и табличных частей документов. Быстрый, но без оформления.

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

В 1С копируются только видимые колонки. Хотите больше полей, включите их в настройке списка (команда «Ещё» → «Изменить форму» или «Настроить список», название зависит от формы и версии).

Выгрузка всего списка командой

Для больших списков удобнее команда вывода списка. Её можно найти в меню «Ещё» над таблицей: пункт называется «Вывести список …». 1С предложит выбрать колонки и покажет табличный документ, который сохраняется так же, как отчёт. Преимущество в том, что выводятся все строки списка с учётом отбора, а не только те, что поместились на экране.

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

Что делать с числами-текстом

После вставки суммы иногда становятся текстом и не складываются. Признак: зелёный уголок в ячейке и выравнивание влево. Выделите столбец, в Excel нажмите значок предупреждения и выберите «Преобразовать в число». Если не помогает, замените пробел-разделитель тысяч (это неразрывный пробел, символ 160) через «Найти и заменить» на пустое значение.

Способ 3. Универсальные внешние отчёты и обработки

Когда стандартных форм мало, подключают внешний отчёт или обработку выгрузки. Это файлы .epf и .erf, которые открываются без изменения конфигурации.

Есть два пути подключения:

  • 🔹 Разово. «Файл» → «Открыть», выбрать .epf. Подходит для проверки.
  • 🔹 Постоянно. Подключить в разделе администрирования, где находятся дополнительные отчёты и обработки. Там включается использование внешних обработок, после чего файл регистрируется в справочнике и назначается разделам или документам.

Типовые задачи, для которых их берут:

  • выгрузка табличной части документа сразу по нескольким документам за период;
  • выгрузка справочника с реквизитами, которых нет в списке;
  • выгрузка результата запроса (универсальные обработки «Консоль запросов» показывают результат и сохраняют в Excel).

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

Способ 4. Выгрузка через COM-соединение

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

Попытка
    Excel = Новый COMОбъект("Excel.Application");
Исключение
    Сообщить("Excel не найден: " + ОписаниеОшибки());
    Возврат;
КонецПопытки;

Excel.Visible = Ложь;
Книга = Excel.Workbooks.Add();
Лист = Книга.Worksheets(1);

Лист.Cells(1, 1).Value = "Номер";
Лист.Cells(1, 2).Value = "Сумма";
Лист.Cells(2, 1).Value = "00-000125";
Лист.Cells(2, 2).Value = 15000.50;

Книга.SaveAs("C:\Temp\vygruzka.xlsx");
Книга.Close();
Excel.Quit();

Когда COM не нужен

Самый быстрый способ без Excel: собрать ТабличныйДокумент и записать его метод Записать, указав тип файла XLSX. Он работает на сервере и в веб-клиенте, не требует установленного Excel и не зависит от версии Office.

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

COM оставляйте для случаев, когда нужно править готовый шаблон Excel с макросами или формулами. Для остального хватит Записать.

По скорости COM медленнее на порядки. Запись по ячейке: 10 тысяч строк по пять столбцов ощутимо тормозят. Передавайте данные массивом в диапазон одним вызовом, а не по одной ячейке.

Ограничения COM

  • ❌ Не работает в веб-клиенте и на сервере, где не установлен Excel.
  • ❌ Excel, оставшийся в памяти после ошибки, держит файл. Всегда закрывайте приложение в блоке Исключение.
  • ❌ Требует разрешений: на 64-разрядном клиенте 1С может не найти 32-разрядный Excel (и наоборот).

Способ 5. Автоматическая выгрузка по расписанию

Если нужна ежедневная выгрузка остатков, продаж или дебиторки, настройте её один раз.

Схема работает так:

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

Регламентные задания выполняются на сервере, поэтому Excel там обычно нет. Используйте Записать с типом XLSX, как показано выше, а путь указывайте сетевой (\\server\share\...), а не диск вашего компьютера.

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

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

Перед запуском автовыгрузки
Выполнено: 0 / 5

Какой способ выбрать

Выбор зависит от задачи, а не от привычки.

ЗадачаСпособПочему
Отправить счёт или акт «как есть»Сохранение печатной формыСохраняется оформление и шапка
Забрать список номенклатуры или контрагентовБуфер или «Вывести список»Быстро, одна таблица без оформления
Выгрузить реквизиты, которых нет на формеВнешняя обработкаСвой набор полей и отборов
Собрать данные в готовый шаблон с макросамиCOMЕдинственный способ править живую книгу Excel
Нужен файл каждое утроРегламентное заданиеРаботает без участия человека

Мини-кейс: оборотка на 8 000 строк

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

Когда выгружать в Excel не нужно

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

Типичные проблемы после выгрузки

Здесь только то, чего нет в шагах выше.

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

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

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