Отчеты и Аналитика · 10 мин
Как в 1С сделать таблицу Excel: все рабочие способы
Как в 1С сделать таблицу Excel: способы выгрузки отчётов и списков в XLSX, сохранение табличных документов, вывод через макет в конфигураторе и типичные ошибки.
Под «сделать таблицу Excel в 1С» обычно понимают одну из трёх задач: выгрузить готовый отчёт или список в файл Excel, сохранить табличный документ в формате XLSX либо программно сформировать таблицу и записать её на диск. Все три сценария выполняются штатными средствами платформы, без установки дополнительного ПО, хотя наличие самого Excel на компьютере не обязательно — 1С умеет сохранять файлы формата XLSX самостоятельно.
Выбор способа зависит от исходных данных. Если нужен результат отчёта — достаточно кнопки сохранения. Если требуется список справочника или документов — используется команда «Вывести список». Если таблицу нужно формировать регулярно по своим правилам — применяется макет табличного документа и встроенный язык. Ниже разобран каждый вариант с точными действиями и проверкой результата.
Сохранение готового отчёта в Excel
Самый частый сценарий — пользователь сформировал отчёт (оборотно-сальдовую ведомость, анализ продаж, карточку счёта) и хочет получить его в виде файла Excel. Для этого не нужны никакие настройки: любой табличный документ в 1С сохраняется в XLSX напрямую.
Порядок действий: сформируйте отчёт кнопкой «Сформировать», затем откройте меню «Файл» и выберите «Сохранить как» (в управляемых формах — кнопка с дискетой или пункт «Сохранить копию»). В диалоге укажите тип файла «Лист Excel (.xlsx)» или «Лист Excel 97–2003 (.xls)», задайте имя и папку. Файл появится на диске и откроется в Excel, LibreOffice или Google Таблицах.
Обратите внимание: в файл попадает именно то, что видно на экране, включая группировки, шапку и итоги. Если отчёт свёрнут до уровня групп, детальные строки в Excel не попадут — разверните нужные уровни перед сохранением.
- 1Сформируйте отчёт и разверните нужные группировки
- 2Откройте «Файл → Сохранить как» или нажмите кнопку сохранения
- 3Выберите тип файла «Лист Excel (*.xlsx)»
- 4Укажите папку и имя файла, подтвердите сохранение
- 5Откройте файл и проверьте шапку, итоги и формат чисел
Выгрузка списка справочника или документов
Когда нужна таблица из списка — номенклатуры, контрагентов, заказов за период, — используется команда «Вывести список». Она доступна в большинстве типовых конфигураций через меню «Ещё» в форме списка.
Откройте нужный список, установите отборы и сортировку, затем нажмите «Ещё → Вывести список». В появившемся окне отметьте колонки, которые должны попасть в таблицу, и подтвердите. 1С сформирует табличный документ, который дальше сохраняется в Excel описанным выше способом. Это удобно, когда нужна «плоская» таблица без группировок и итогов.
Если команды «Вывести список» нет — её мог отключить администратор в настройках прав или формы. В этом случае список можно скопировать вручную: выделить строки, нажать Ctrl+C и вставить в Excel, либо попросить администратора включить команду вывода.
Сохранение табличного документа из любой формы
Табличный документ — универсальный формат представления данных в 1С. Печатные формы документов, результаты отчётов, расшифровки — всё это табличные документы, и каждый из них сохраняется в Excel одинаково.
Откройте печатную форму или отчёт, затем используйте «Файл → Сохранить» или сочетание Ctrl+S, если фокус стоит на табличном документе. В типовых конфигурациях на базе БСП доступна также кнопка «Сохранить» прямо в командной панели печатной формы. Доступные форматы: XLSX, XLS, MXL (родной формат 1С), PDF, HTML, ODS.
Формат MXL стоит выбирать только для обмена между пользователями 1С — Excel его не открывает. Для передачи данных «наружу» всегда используйте XLSX: он сохраняет объединённые ячейки, границы, цвета и шрифты, хотя сложная вёрстка (диаграммы, вложенные картинки) может переноситься с искажениями.
Программное формирование таблицы Excel через макет
Для регулярных выгрузок — например, ежедневного прайса или файла для загрузки на сайт — ручное сохранение неудобно. Задача решается в конфигураторе: создаётся макет табличного документа, он заполняется данными и записывается в файл методом платформы.
Логика такая: в макете задаются области (шапка, строка, подвал), в коде эти области выводятся в цикле по результату запроса, затем итоговый табличный документ записывается на диск с указанием типа файла. Платформа сама формирует корректный XLSX — библиотеки Excel или COM-объекты для этого не нужны.
ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Прайс");
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ТабДок.Вывести(ОбластьШапка);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Наименование = Выборка.Наименование;
ОбластьСтрока.Параметры.Цена = Выборка.Цена;
ТабДок.Вывести(ОбластьСтрока);
КонецЦикла;
ТабДок.Записать("C:\Выгрузки\Прайс.xlsx", ТипФайлаТабличногоДокумента.XLSX);Ключевой момент — метод Записать() с параметром ТипФайлаТабличногоДокумента.XLSX. Если указать путь без расширения или с неверным типом, файл может не открыться в Excel. На сервере 1С запись выполняется от имени пользователя службы агента, поэтому у этого пользователя должны быть права на целевую папку.
Сравнение способов и выбор подходящего
Разные способы отличаются по трудозатратам, гибкости и требованиям к правам. Ниже — сопоставление, которое помогает выбрать вариант под конкретную задачу.
| Способ | Когда подходит | Ограничения |
|---|---|---|
| Сохранить как XLSX из отчёта | Разовая выгрузка готового отчёта | Выгружается только видимый результат |
| Ещё → Вывести список | Плоская таблица из списка с отбором | Команду могут отключить в правах |
| Копирование через буфер | Несколько строк, срочно | Теряются форматы, нет скрытых колонок |
| Макет + Записать() | Регулярные выгрузки по расписанию | Нужны права разработчика |
| COM-объект Excel | Сложное форматирование, формулы | Требует установленный Office, медленно |
Для разовых задач всегда начинайте с штатного сохранения — это занимает меньше минуты. К разработке макета переходите только тогда, когда одну и ту же таблицу приходится собирать регулярно или когда нужен строго заданный шаблон с формулами и оформлением.
Как выбрать действие
Проверка результата и типичные ошибки
После выгрузки откройте файл и сверьте несколько контрольных точек. Это занимает минуту, но избавляет от ситуации, когда получатель файла обнаруживает битые данные раньше вас.
Проверьте: совпадает ли количество строк с данными в 1С, не превратились ли числа в текст (признак — зелёные треугольники в углах ячеек и невозможность посчитать сумму), корректно ли отображаются даты, целы ли итоговые строки. Если в отчёте были группировки, убедитесь, что все нужные уровни попали в файл.
Как проверить результат
Совпадает с количеством в 1С с учётом шапки
Строк меньше — свёрнуты группировки или сработал отбор
Excel считает по ним СУММ без ошибок
Числа сохранены как текст, сумма равна нулю
Отображаются в привычном формате и сортируются
Даты стали текстом или числами вида 45000
Итоговые суммы совпадают с отчётом в 1С
Итоги отсутствуют или расходятся с источником
Ограничения и альтернативы
Штатная выгрузка в XLSX не переносит формулы — в файл попадают только значения. Если получатель должен видеть расчёт «живьём», варианта два: формировать файл через COM-объект Excel с записью формул или заполнять заранее подготовленный шаблон XLSX, где формулы уже вставлены, а 1С подставляет лишь исходные данные.
Для очень больших объёмов (сотни тысяч строк) табличный документ — не лучший инструмент: он держит всё в памяти и формируется медленно. В таких случаях выгрузку делают порциями или используют обмен через CSV/TXT с последующим открытием в Excel. CSV лишён оформления, но открывается мгновенно и не ограничен объёмом практически ничем.
Ещё одна альтернатива — внешние обработки выгрузки, которые публикуются на профильных ресурсах. Перед использованием чужой обработки проверьте её код: обработка имеет полный доступ к базе, поэтому источник должен быть доверенным.
Что важно запомнить
Разовую таблицу делайте через «Сохранить как → XLSX», список — через «Вывести список», регулярную выгрузку — макетом и методом Записать(). После выгрузки всегда проверяйте строки, числа и итоги, а для больших объёмов используйте CSV вместо табличного документа.
Частые вопросы
Нужно ли устанавливать Excel, чтобы 1С сохраняла файлы XLSX?
Нет. Платформа 1С записывает XLSX собственными средствами, установленный Microsoft Office не требуется. Excel понадобится только чтобы открыть и просмотреть результат, либо для работы через COM-объект.
Почему в Excel числа стали текстом и не считается сумма?
Чаще всего причина в том, что в отчёте или макете значение выведено как строка — например, с неразрывными пробелами в разрядах или через функцию Формат() с текстовым результатом. Проверьте тип параметра в макете: для сумм должен выводиться числовой тип, а форматирование задаваться свойством ячейки, а не преобразованием в строку.
Как выгрузить в Excel только часть колонок списка?
В команде «Ещё → Вывести список» перед формированием таблицы открывается окно выбора полей — снимите флажки с лишних колонок. Если такой команды нет, удалите ненужные колонки уже в Excel после выгрузки.
Можно ли настроить автоматическую выгрузку таблицы по расписанию?
Да, через регламентное задание на сервере: процедура формирует табличный документ и записывает его методом Записать() в сетевую папку или отправляет по почте. Потребуются права разработчика и права на запись у пользователя службы агента 1С.
Почему Excel сообщает, что формат файла не соответствует расширению?
Это происходит, когда файл записан в одном формате, а расширение указано другое — например, тип XLSX, а имя заканчивается на .xls. Убедитесь, что расширение в имени файла совпадает с типом, переданным в метод Записать() или выбранным в диалоге сохранения.
Что делать, если таблица слишком большая и 1С зависает при сохранении?
Разбейте выгрузку на несколько файлов по периодам или подразделениям, либо переключитесь на формат CSV — он формируется потоково и не требует удержания всей таблицы в памяти. Также проверьте, не выгружаете ли вы лишние колонки, которые можно отсечь на этапе запроса.