Выгрузка данных из 1С на лист Excel: отчёты, списки и печатные формы
Содержание
Лист Excel из 1С получают тремя путями: сохраняют готовый отчёт или печатную форму командой Файл → Сохранить как, копируют выделенный фрагмент через буфер обмена или выводят список справочника, документов или журнала в табличный документ командой Ещё → Вывести список. Для регулярных выгрузок пишут обработку с кодом на встроенном языке.
Какой способ выбрать, зависит от задачи. Нужен весь отчёт с форматированием, берите сохранение в файл. Нужна пара столбцов для быстрой сверки, хватит буфера. Нужна выборка из справочника, идите через вывод списка. Ниже все варианты по очереди, с настройками и типичными сбоями.
Какой способ выбрать
| Способ | Когда подходит | Что теряется |
|---|---|---|
| Сохранить как xlsx | Отчёт, печатная форма, любой табличный документ | Почти ничего: форматирование, объединённые ячейки, ширина колонок |
| Буфер обмена | Фрагмент таблицы, несколько строк и столбцов | Часть оформления; из списков копируется только видимое |
| Вывести список | Справочники, журналы документов, любые списки | Колонки, которые скрыты или не выбраны в диалоге |
| Обработка с кодом | Регулярные выгрузки по расписанию или по кнопке | Ничего, но нужен программист |
Сохранение отчёта или печатной формы в файл Excel
Это основной способ. Он работает с любым табличным документом: оборотно-сальдовой ведомостью, карточкой счёта, счётом-фактурой, накладной.
Шаги в тонком клиенте
- Сформируйте отчёт или откройте печатную форму документа кнопкой
Печать. - Откройте меню
Файлв верхней панели (или нажмите значок дискеты, если он есть в вашем интерфейсе). - Выберите
Сохранить как.... - В окне выбора файла укажите папку и имя.
- В списке
Тип файлавыберитеЛист Microsoft Excel 2007-... (*.xlsx). - Нажмите
Сохранитьи откройте файл двойным щелчком.
Есть и старый формат Лист Microsoft Excel 97-2003 (*.xls). Он нужен только тем, кто сдаёт файлы в системы, которые не читают xlsx. В остальных случаях берите xlsx: он легче и без ограничения в 65 536 строк на лист.
Excel на компьютере для сохранения не нужен. 1С сама пишет файл xlsx. Excel понадобится, только когда вы захотите его открыть и править.
Если работаете через веб-клиент
В браузере команда Сохранить как тоже есть, но файл попадёт в папку загрузок браузера. Окно выбора папки появится только если браузер настроен спрашивать место сохранения. Если файла нет в «Загрузках», проверьте, не заблокировал ли браузер скачивание для адреса вашей базы.
Что получится с форматированием
- 📐 Объединённые ячейки, границы, заливка и шрифты переносятся.
- 📏 Ширина колонок сохраняется как в отчёте, а высота строк подбирается Excel.
- 🔢 Числа приходят числами, если в ячейке именно число. Текстовые ячейки останутся текстом.
- 🖨 Настройки печати (поля, ориентация, масштаб) переносятся, поэтому файл обычно печатается так же, как из 1С.
Буфер обмена: быстрый перенос без файла
Если файл создавать лень, выделите нужные ячейки в отчёте мышью, нажмите Ctrl+C и вставьте в открытый Excel через Ctrl+V. Это самый быстрый путь для небольших фрагментов.
Выделять можно:
- одну ячейку или диапазон;
- несколько столбцов, зажав левую кнопку мыши по заголовкам;
- целые строки, щёлкая по номерам слева.
Для выделения всей таблицы в табличном документе используйте Ctrl+A.
Из списков (справочников, журналов) тоже можно копировать: выделите строки с Shift или Ctrl и нажмите Ctrl+C. В буфер попадёт то, что видно в колонках на экране. Скрытые колонки не копируются, поэтому сначала включите нужные через Ещё → Изменить форму... или кнопку настройки списка.
Из веб-клиента копирование через буфер зависит от браузера и его прав на доступ к буферу. Если вставка пустая, разрешите сайту доступ к буферу обмена или сохраните отчёт в файл.
Вывод списка из справочника или журнала в табличный документ
Допустим, нужен перечень контрагентов с ИНН или реестр документов за месяц. Отчёт для этого строить незачем: список выводится сам.
- Откройте нужный список: справочник
Контрагенты, журнал документов , любой другой. - При необходимости отберите строки отбором или поиском. Выводится то, что отобрано.
- Нажмите
Ещё → Вывести список...(в старом оформлении —Все действия → Вывести список...). - В окне выберите, куда выводить:
Табличный документдля Excel. - Отметьте колонки, которые нужны в итоге.
- Нажмите
ОК.
Откроется табличный документ. Дальше действуйте как в первом способе: Файл → Сохранить как... и тип xlsx.
Вывод списка удобен тем, что выбирает колонки независимо от экрана. Можно включить поля, которые на форме списка не показаны, если они доступны в диалоге.
Если список большой, отберите его заранее. Выгрузка всего справочника в несколько тысяч строк займёт заметно больше времени, чем выборка по группе или виду.
Печатные формы и макеты: чтобы вид совпадал с оригиналом
Печатные формы собираются из макетов, и после выгрузки в Excel они выглядят так же, как на экране. Но есть нюансы.
Формирование и сохранение
- Откройте документ и нажмите
Печать. - Выберите нужную форму: накладную, акт, счёт.
- Дождитесь появления окна предварительного просмотра.
- Сохраните командой
Файл → Сохранить как...в xlsx.
Если печатных форм несколько, их можно сформировать одну за другой. Каждая откроется в своём окне, а сохранять придётся отдельно.
Подпись, печать и картинки
Логотипы, подписи и факсимиле в печатной форме обычно хранятся как картинки. В xlsx они переносятся, но размещаются поверх ячеек и могут сдвинуться при изменении ширины колонок. После выгрузки не двигайте колонки, если важно сохранить расположение.
Установка параметров страницы
Перед сохранением откройте Файл → Параметры страницы (или Предварительный просмотр) и проверьте масштаб и ориентацию. Они уйдут в файл вместе с данными. Одна лишняя колонка, выходящая за поле, превратит печать в два листа.
Настройка параметров выгрузки
У выгрузки в Excel мало настроек, но они определяют, насколько удобно будет работать с файлом.
Тип файла и версия
В списке типов при сохранении есть xlsx, xls и другие форматы (например, PDF, HTML, текстовые файлы). Для дальнейшей работы с цифрами нужен xlsx. Для рассылки «только посмотреть» лучше PDF.
Отчёты: убрать лишнее до выгрузки
Если вы выгружаете отчёт на компоновке данных (оборотно-сальдовая, анализ счёта), включите в настройках только нужные поля и группировки. Лишние строки с итогами Excel не отфильтрует, их придётся удалять руками.
Хорошо работают две установки:
- ✅ Отключить группировки, которые не нужны в таблице, оставив плоский вид.
- ✅ Включить в вывод конечные поля, например номер и дату документа, а не только заголовки групп.
Плоская таблица для сводной
Для сводной таблицы Excel нужен список без итоговых строк и объединённых ячеек. Уберите в настройках отчёта все итоги и повторите значения группировок в каждой строке, если такая опция доступна в вашем отчёте. Тогда сводная соберётся без ручной подготовки.
Программная выгрузка через внешнюю обработку
Если выгружать приходится каждый день, нажимать кнопки надоест. Тогда пишут обработку: она берёт данные запросом и записывает файл.
Базовая запись табличного документа
Допустим, у вас есть табличный документ ТабДок с данными. Записать его в xlsx можно одной строкой:
ТабДок.Записать("C:\Выгрузка\Отчет.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Если нужен xls:
ТабДок.Записать("C:\Выгрузка\Отчет.xls", ТипФайлаТабличногоДокумента.XLS);
Путь, по которому пишет клиент, должен существовать и быть доступен для записи пользователю, под которым запущен клиент. На сервере путь означает папку на самом сервере, и это другое место.
Из запроса в табличный документ
Типовая схема: запрос, затем вывод строк в табличный документ.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Контрагенты.Наименование КАК Наименование,
| Контрагенты.ИНН КАК ИНН
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
Выборка = Запрос.Выполнить().Выбрать();
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область("R1C1").Текст = "Наименование";
ТабДок.Область("R1C2").Текст = "ИНН";
Строка = 2;
Пока Выборка.Следующий() Цикл
ТабДок.Область(Строка, 1).Текст = Выборка.Наименование;
ТабДок.Область(Строка, 2).Текст = Выборка.ИНН;
Строка = Строка + 1;
КонецЦикла;
ТабДок.Записать("C:\Выгрузка\Контрагенты.xlsx", ТипФайлаТабличногоДокумента.XLSX);
Код рабочий для простого случая. Для больших объёмов лучше формировать табличный документ через области макета, а не по ячейкам: так быстрее.
Как подключить обработку
Внешнюю обработку
(файл .epf) можно открыть через Файл → Открыть, если у пользователя есть право на это. Для регулярной работы её регистрируют в дополнительных отчётах и обработках: раздел Администрирование, группа настроек печатных форм, отчётов и обработок. Так обработка появится в меню и будет доступна без поиска файла.
Перед подключением чужой обработки проверьте код. Внешняя обработка выполняется с правами пользователя и может читать и менять данные.
Как проверить файл после выгрузки
Откройте xlsx и пробегите глазами по трём вещам. Первое: итог по колонке в Excel (выделите столбец и посмотрите сумму в строке состояния) должен совпасть с итогом в отчёте 1С. Второе: количество строк в файле должно соответствовать списку на экране. Третье: даты и суммы должны выглядеть как даты и суммы, а не как текст.
Если суммы расходятся на копейки, проверьте, не обрезал ли отчёт знаки после запятой при выводе. Если строк в файле меньше, чем в 1С, вспомните об отборе: список выводится с тем отбором, который включён в форме.
Типичные проблемы при выгрузке
Большинство сбоев повторяется из раза в раз. Вот самые частые, с причинами и решениями.
\ / : * ? " < > |). Закройте файл в Excel и повторите.Объединённые ячейки в Excel мешают сортировке и фильтрам. Если файл нужен для анализа, а не для печати, лучше сразу выбрать в отчёте плоский вид без объединений или после выгрузки выделить лист и снять объединение через Объединить и поместить в центре.
Частые вопросы
Нужно ли ставить Excel на компьютер, чтобы выгрузить данные из 1С?
Можно ли выгрузить в Excel сразу несколько отчётов на разные листы?
Почему файл xlsx из 1С открывается в режиме защищённого просмотра?
Как выгрузить список контрагентов с реквизитами, которых нет в форме списка?
Вывести список и отметьте нужные поля в диалоге. Если нужного поля там нет, постройте отчёт по справочнику и добавьте реквизит в настройки отчёта.