Печатная форма, список и табличная часть из 1С в Excel: все способы переноса

· 10 мин

Содержание

Чтобы скопировать документ 1С в Excel, откройте его печатную форму (кнопка Печать), нажмите в окне формы кнопку сохранения с дискетой и выберите формат Лист Microsoft Excel 2007-... (*.xlsx). Получится обычный файл Excel с рамками, шрифтами и объединёнными ячейками, как в 1С. Сам Excel на компьютере для этого не нужен: файл xlsx платформа 1С пишет сама.

Если нужны не бланк, а строки табличной части или список документов, используйте команду Ещё → Вывести список..., а для пары ячеек хватит Ctrl+C и Ctrl+V.

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

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

  • 📄 печатная форма (счёт, ТОРГ-12, УПД, акт) — это табличный документ, его сохраняют в xlsx целиком;
  • 📋 табличная часть документа (товары, услуги, сотрудники) — это таблица на форме, её выводят списком;
  • 🗂️ журнал документов (список счетов за месяц, реализаций, платёжек) — тоже выводится списком.

Сама форма документа с полями «Контрагент», «Договор», «Склад» в Excel не сохраняется. Если нужна шапка вместе с товарами, проще взять печатную форму.

Что вам нужно получить в Excel?

Копирование через буфер обмена: быстро, но с оговорками

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

Из печатной формы

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

Excel вставит данные вместе с оформлением: рамками, шрифтами, объединениями. Ширина колонок при этом обычно сбивается, потому что сетка 1С мельче, чем у Excel.

Нужны только значения, без рамок и объединений? В Excel вместо Ctrl+V используйте Ctrl+Alt+V (специальная вставка) и выберите «Текст» или «Значения». Таблицу после этого удобно сортировать и фильтровать.

Из поля или таблицы на форме

В обычной форме документа Ctrl+C копирует значение текущего поля или текущей ячейки таблицы. Так переносят номер документа, сумму, ИНН, количество в одной строке.

Для десятков строк этот способ не подходит: копировать ячейку за ячейкой долго, а ошибиться легко. Для таблиц переходите к выводу списка из следующего раздела.

Сохранение документа 1С в файл Excel

Это основной способ. Он сохраняет документ целиком, без потери оформления.

Печатная форма → xlsx

  1. Откройте документ, нажмите Печать и выберите форму.
  2. В окне печатной формы нажмите кнопку с дискетой (Сохранить).
  3. Отметьте формат Лист Microsoft Excel 2007-... (*.xlsx).
  4. Выберите, куда сохранить: на компьютер или присоединить файл к документу.
  5. Нажмите Сохранить и укажите папку.

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

Второй путь работает в любом табличном документе, даже в самописных отчётах: откройте главное меню (кнопка с тремя полосками в заголовке окна программы) и выберите Файл → Сохранить как.... В поле «Тип файла» укажите xlsx.

ФорматКогда выбиратьОграничения
.xlsxпочти всегданет
.xls (Excel 97–2003)получатель работает в очень старом Excelфайл больше, лимит 65 536 строк
.mxlфайл откроют снова в 1СExcel такой файл не открывает
.pdfнужно «замороженное» представление без правокредактировать неудобно

Табличная часть и списки документов

  1. Откройте документ и встаньте курсором в таблицу «Товары» (или «Услуги», «Сотрудники»).
  2. Нажмите Ещё над таблицей и выберите Вывести список....
  3. В окне отметьте колонки, которые нужны. Флажок «Только выделенные» выводит только выделенные строки.
  4. Нажмите ОК: откроется табличный документ.
  5. Сохраните его в xlsx через кнопку с дискетой или Файл → Сохранить как....

Журнал документов выводится так же. Сначала установите отбор по периоду, организации или контрагенту, иначе в файл уйдут все документы за годы работы базы.

Команда выводит то, что сейчас видно в колонках. Скрытая колонка не попадёт в файл. Добавьте её в список заранее через Ещё → Изменить форму... или отметьте в окне вывода.

Как подготовить файл к печати в Excel

После сохранения бланк в Excel обычно выглядит правильно, но печатается не всегда. Причина в том, что поля, масштаб и ориентация настраиваются в 1С и в Excel по-разному.

Что настроить до сохранения

В окне печатной формы откройте Ещё → Параметры страницы (или найдите команду «Параметры страницы» в главном меню, в разделе «Файл»). Здесь задают:

  • 📐 ориентацию: книжная или альбомная;
  • 📏 поля страницы в миллиметрах;
  • 🔍 масштаб или флажок «По ширине страницы».

Эти параметры переносятся в файл xlsx. Если в 1С бланк печатался на одном листе, в Excel он, как правило, тоже уместится.

Что поправить в самом Excel

  1. Вкладка «Разметка страницы» → «Ориентация» — если широкая ТОРГ-12 уехала на книжный лист.
  2. «Разметка страницы» → «Поля» → «Настраиваемые поля»: отметьте «Горизонтально» в блоке центрирования.
  3. В том же окне на вкладке «Страница» выберите «Разместить не более чем на: 1 стр. в ширину», а поле высоты очистите. Длинный документ разобьётся на страницы только по вертикали.
  4. «Вид» → «Страничный режим» показывает синие линии разрывов. Их можно перетащить мышью.
  5. Для многостраничного списка задайте сквозные строки: «Разметка страницы» → «Печатать заголовки» → поле «Сквозные строки». Шапка таблицы повторится на каждом листе.

Выгрузка документа в Excel кодом и через OLE

Когда одну и ту же выгрузку делают по десять раз в день, ручные клики заменяют кнопкой. Есть два пути: сохранить табличный документ методом Записать или управлять Excel через COM (OLE).

Метод Записать: без установленного Excel

У табличного документа есть метод Записать, второй параметр задаёт тип файла. Код ниже формирует файл на сервере и отдаёт его пользователю. Вызов ФайловаяСистемаКлиент.СохранитьФайл — из Библиотеки стандартных подсистем, она есть в типовых конфигурациях.

&НаСервере
Функция АдресФайлаExcel()
    ТабДок = Новый ТабличныйДокумент;
    // Здесь заполнение: макет печатной формы или вывод отчёта
    ИмяФайла = ПолучитьИмяВременногоФайла("xlsx");
    ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.XLSX);
    Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяФайла), УникальныйИдентификатор);
    УдалитьФайлы(ИмяФайла);
    Возврат Адрес;
КонецФункции

&НаКлиенте
Процедура ВыгрузитьВExcel(Команда)
    ФайловаяСистемаКлиент.СохранитьФайл(Неопределено, АдресФайлаExcel(), "Документ.xlsx");
КонецПроцедуры

Этот вариант работает в тонком клиенте, в веб-клиенте и на сервере под Linux, потому что не трогает Excel.

OLE: когда нужно оформление средствами Excel

Через COM-объект Excel.Application можно открыть готовый файл, подогнать ширину колонок, задать ориентацию и сохранить. Нужны Windows и установленный Excel там, где выполняется код.

Excel = Новый COMОбъект("Excel.Application");
Excel.DisplayAlerts = Ложь;
Книга = Excel.Workbooks.Open("C:\Выгрузка\Документ.xlsx");
Лист = Книга.Worksheets(1);
Лист.Columns("A:Z").AutoFit();
Лист.PageSetup.Orientation = 2; // 2 = альбомная
Лист.PageSetup.Zoom = Ложь;
Лист.PageSetup.FitToPagesWide = 1;
Лист.PageSetup.FitToPagesTall = Ложь;
Книга.Save();
Книга.Close();
Excel.Quit();

Всегда вызывайте Excel.Quit(), в том числе при ошибке (оберните код в Попытка ... Исключение). Иначе в диспетчере задач копятся процессы EXCEL.EXE, и через пару дней сервер начинает тормозить.

Не запускайте OLE-выгрузку на сервере 1С без согласования с администратором. Майкрософт не рекомендует автоматизацию Office в серверных службах: окно с вопросом, которое никто не видит, вешает сеанс.

Если правок в конфигурации делать нельзя, кнопку добавляют расширением конфигурации или делают внешнюю обработку . Тогда обновления типовой конфигурации её не затрут.

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

Файл xlsx из 1С проблем с кодировкой не даёт. Сложности начинаются при копировании через буфер и при сохранении в текстовые форматы.

Суммы не складываются: число стало текстом

1С отделяет тысячи неразрывным пробелом. Excel видит «12 500,00» как текст: формула СУММ возвращает 0, а в углу ячейки появляется зелёный треугольник.

Как исправить:

  1. Выделите колонку и нажмите Ctrl+H.
  2. В поле «Найти» введите неразрывный пробел: удерживайте Alt и наберите 0160 на цифровой клавиатуре.
  3. Поле «Заменить на» оставьте пустым, нажмите «Заменить все».

Если после этого числа всё ещё текст, проверьте разделитель дробной части. При английских региональных настройках Windows Excel ждёт точку, а 1С ставит запятую. Замените запятую на точку той же командой или поменяйте разделитель в параметрах Excel.

Длинные номера и коды

  • 🔢 Расчётный счёт (20 цифр) Excel превращает в 4,07028E+19 и обнуляет последние цифры. Он хранит только 15 значащих разрядов.
  • 0️⃣ Коды с ведущими нулями («00045») теряют нули.
  • 📅 Номера вида «1-2» превращаются в дату.

Перед вставкой задайте колонке формат «Текстовый» (Ctrl+1 → «Число» → «Текстовый») и вставляйте через специальную вставку как текст. Сохранение в xlsx этих проблем обычно не создаёт: ячейка уходит в файл как строка.

Кракозябры в CSV и TXT

Текстовый файл, открытый двойным щелчком, Excel читает в кодировке Windows. Файл в UTF-8 без метки превращается в набор символов вроде «РЎС‡РµС‚».

Откройте его иначе: «Данные» → «Из текстового/CSV-файла» и в поле «Источник файла» выберите 65001: Юникод (UTF-8) или 1251: кириллица (Windows). Разделителем укажите табуляцию или точку с запятой.

Символы <, >, &, кавычки и переносы строк внутри ячеек xlsx переносит без потерь. При вставке через буфер перенос строки в наименовании иногда разбивает одну строку на две: тогда сохраняйте файлом.

Веб-клиент и тонкий клиент: чем отличается перенос

Внешне окна одинаковые, но возможности разные.

ДействиеТонкий клиентВеб-клиент
Сохранение печатной формы в xlsxдиалог Windows «Сохранить как»файл скачивается через браузер
Ctrl+C / Ctrl+Vработает, переносится оформлениеработает, результат зависит от браузера
Вывод спискаестьесть
COM/OLE на стороне клиентаесть в Windowsнет

Особенности веб-клиента:

  • 🌐 Файл уходит в папку загрузок браузера. Если ничего не скачалось, проверьте, не заблокировал ли браузер всплывающие окна и загрузки для адреса базы.
  • 🧩 Для части операций с файлами браузер попросит установить расширение для работы с 1С:Предприятием. Сохранение в xlsx через скачивание работает и без него.
  • 📋 Браузер может запросить разрешение на доступ к буферу обмена. Если копирование не срабатывает, сохраните файл: результат будет тот же.

В тонком клиенте на Linux и macOS сохранение в xlsx работает так же, как в Windows, а COM-автоматизации нет. Для выгрузки кодом используйте метод Записать.

Частые ошибки при переносе в Excel

  • ❌ Сохраняют в .mxl по привычке и не могут открыть файл в Excel. Это родной формат 1С, Excel его не читает.
  • ❌ Выгружают журнал без отбора. Файл на 300 000 строк формируется минутами и не открывается в старом Excel.
  • ❌ Правят цифры в выгруженном бланке и отправляют клиенту. Документ в базе остался прежним, и при сверке суммы не сойдутся. Исправляйте в 1С и выгружайте заново.
  • ❌ Копируют документ в 1С (команда «Скопировать») вместо выгрузки в Excel. Это создаёт новый документ в базе. Если его провести, движения задвоятся. Случайную копию пометьте на удаление.

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

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