Экспорт данных из 1С 8.3: от кнопки «Сохранить» до автоматической выгрузки
Содержание
Любой отчёт или список в 1С 8.3 выгружается в файл кнопкой «Сохранить» (значок дискеты) или через Ещё → Сохранить как: выбираете формат — Excel, PDF, Word, ODS, HTML — и папку. Для печатных форм документов та же кнопка есть в окне печати, а для переноса данных между базами служит обработка «Универсальный обмен данными в формате XML».
Частое заблуждение — что «выгрузить файлы из 1С» можно только через программиста. На деле отчёты, списки и печатные формы выгружаются стандартными командами без единой строки кода. Код нужен в двух случаях: когда выгрузка повторяется по расписанию и когда объём не помещается в табличный документ.
Какой способ выгрузки выбрать под задачу
Сначала определите, что именно вы выгружаете и куда это пойдёт дальше. От этого зависит формат и инструмент.
| Что нужно | Формат | Инструмент |
|---|---|---|
| Отчёт для руководителя, сверка | XLSX, PDF | Кнопка «Сохранить» в отчёте |
| Список справочника или журнала | XLSX | Ещё → Вывести список… |
| Счёт, акт, накладная для контрагента | «Сохранить» в форме печати | |
| Перенос данных в другую базу 1С | XML | Универсальный обмен данными в формате XML |
| Загрузка в стороннюю систему, сайт | CSV, TXT | Внешняя обработка |
| Полная копия базы | DT | Конфигуратор, выгрузка информационной базы |
| Вложения к документам (сканы, договоры) | Исходный файл | Команда «Файлы» в карточке документа |
Если файл потом будут обрабатывать формулами — берите XLSX. Если его будут только читать или подписывать — PDF. Если его загрузит другая программа — спросите у её разработчиков формат и кодировку до выгрузки, а не после.
Учтите режим работы. В тонком клиенте файл сохраняется на ваш компьютер через стандартный диалог. В веб-клиенте его скачивает браузер — в папку загрузок или по запросу, в зависимости от настроек браузера.
Выгрузка отчётов и списков в Excel
Отчёт в файл
- Сформируйте отчёт с нужным периодом и отборами.
- Нажмите значок дискеты на панели отчёта. Если его не видно —
Ещё → Сохранить как. - В поле типа файла выберите «Лист Microsoft Excel 2007-…» (
.xlsx). - Укажите имя и папку, нажмите «Сохранить».
Формат .xls (Excel 97) тоже доступен, но в нём жёсткий потолок — 65 536 строк. Для .xlsx предел около 1 млн строк. Выбирайте .xls только если получатель сидит на очень старом офисе.
Табличный документ 1С сохраняется и в другие форматы:
- 📄
.pdf— фиксированный вид, удобно отправлять; - 📝
.docx— если отчёт нужно вставить в письмо или служебную записку; - 🌐
.html— для публикации на внутреннем портале; - 📦
.mxl— родной формат 1С, открывается только в 1С или бесплатной программе «1С:Предприятие — Работа с файлами»; - 📃
.txt— голый текст без оформления.
Список справочника или журнала
Выгрузить список номенклатуры, контрагентов или журнал документов можно без отчёта:
- Откройте список, настройте отбор (например, только нужная группа).
- В командной панели нажмите
Ещё → Вывести список…. - Отметьте колонки, которые нужны в файле. Флажок «Только выделенные» выгрузит лишь отмеченные строки.
- 1С откроет табличный документ — сохраните его кнопкой с дискетой в
.xlsx.
Колонки, которых нет в списке, сначала добавьте через Ещё → Изменить форму… или Ещё → Настроить список. Тогда «Вывести список» их тоже подхватит.
Когда нужен не отчёт, а «плоская» таблица
Отчёты на СКД сохраняются с группировками, итогами и объединёнными ячейками. Сортировать и фильтровать такой файл в Excel неудобно. Решение — перестроить отчёт перед выгрузкой:
- откройте
Настройкиотчёта (кнопка «Настройки» в форме, расширенный режим); - уберите группировки или оставьте одну группировку «Детальные записи»;
- отключите общие итоги.
Получится обычная таблица «одна строка — одна запись», с которой Excel работает без ручной чистки.
Сохранение печатных форм документов в PDF
Счёт, акт, УПД или накладную не нужно печатать на виртуальный принтер. В формах типовых конфигураций (БП 3.0, УТ 11, ЗУП 3.1) выгрузка встроена:
- Откройте документ и нажмите «Печать», выберите форму.
- В окне печати нажмите значок дискеты «Сохранить».
- Отметьте формат — PDF, а при необходимости ещё XLSX или DOCX.
- Выберите: сохранить в папку на компьютере или прикрепить к документу как файл.
- Флажок упаковки в ZIP пригодится, когда выгружаете сразу несколько форм.
Так можно выгрузить и пачку документов. Выделите в журнале несколько счетов (Ctrl или Shift + клик), нажмите «Печать» — все формы откроются в одном окне и сохранятся одним действием.
В том же окне печати есть команда отправки по электронной почте. Она сама сохраняет форму в выбранный формат и прикладывает к письму, если в программе настроена учётная запись почты.
Файлы, прикреплённые к документам
Сканы, договоры и фото, прикреплённые к документу, лежат не в отчётах, а в присоединённых файлах. Откройте документ, нажмите кнопку со скрепкой или команду «Файлы», выделите файл и сохраните его на диск через команду сохранения в командной панели списка файлов. Файл выгрузится в исходном виде — тот же PDF или JPG, что когда-то загружали.
Выгрузка данных в XML для переноса между базами
Когда данные нужно перенести в другую базу 1С — например, справочник номенклатуры из УТ в Бухгалтерию, — табличный файл не подходит. Связи между объектами в Excel теряются. Для этого используют XML.
Универсальный обмен данными в формате XML
Это обработка из комплекта «Конвертация данных ». Она выгружает данные по правилам обмена — файлу XML, где описано, какой объект источника превращается в какой объект приёмника.
- Найдите обработку. В БП 3.0 и других конфигурациях на БСП она доступна через «Все функции»: включите их в
Сервис и настройки → Параметры, затем откройтеВсе функции → Обработки. Если её там нет — откройте файл обработки черезФайл → Открытькак внешнюю. - На вкладке «Выгрузка данных» укажите файл правил обмена.
- Задайте период и отметьте объекты, которые выгружаются.
- Укажите имя файла данных и нажмите «Выгрузить данные».
- В базе-приёмнике откройте ту же обработку, вкладку «Загрузка данных», укажите файл и загрузите.
Перед загрузкой в рабочую базу сделайте её резервную копию: правила могут перезаписать существующие элементы, а откатить загрузку одной кнопкой нельзя.
Без правил: выгрузка между одинаковыми конфигурациями
Если обе базы на одной конфигурации одного релиза, правила не нужны. Для этого есть обработка «Выгрузка и загрузка данных XML» — она переносит выбранные объекты как есть, вместе со ссылками. Подходит, чтобы вытащить часть справочников или документов из копии базы.
Правила для разных конфигураций под типовые переходы (например, со старых релизов на новые) публикуются вместе с обновлениями. Под нестандартную пару баз правила пишет специалист в «Конвертации данных».
Полная выгрузка базы в файл .dt
Если нужна вся база целиком — для переноса на другой компьютер или в техподдержку, — используйте выгрузку информационной базы:
- в конфигураторе:
Администрирование → Выгрузить информационную базу…; - из командной строки:
1cv8.exe DESIGNER /F "D:\Base" /N "Admin" /P "pass" /DumpIB "D:\backup\base.dt".
Запускайте выгрузку, когда в базе никто не работает : так копия гарантированно отразит одно согласованное состояние данных.
Большие объёмы данных: что тормозит и как обойти
Отчёт на 300 тысяч строк формируется минутами, а при сохранении клиент 1С может упасть с ошибкой нехватки памяти. Табличный документ держит всё в оперативной памяти вместе с оформлением.
Что помогает:
- ✂️ Дробите по периодам. Вместо года — 12 выгрузок по месяцу. Каждая проходит быстро, склеить файлы потом проще, чем ждать час.
- 🎯 Сужайте отборы. Организация, склад, группа номенклатуры. Чем меньше строк, тем меньше памяти.
- 🧹 Убирайте лишние колонки и итоги. Каждая колонка с форматированием умножает размер документа.
- 💻 Используйте 64-битный клиент. 32-битный клиент упирается в 2–4 ГБ адресного пространства, 64-битный использует всю доступную память.
- 📃 Пишите в CSV, а не в XLSX. Для сотен тысяч строк правильнее выгружать данные запросом прямо в текстовый файл, минуя табличный документ. Как — в следующем разделе.
| Объём | Рекомендация |
|---|---|
| До 50 тыс. строк | Обычное сохранение отчёта в XLSX |
| 50–500 тыс. строк | Дробление по периодам или отборам |
| Больше 500 тыс. строк | Выгрузка обработкой в CSV |
В клиент-серверной базе тяжёлые выгрузки лучше выполнять на сервере: запрос и запись файла идут там, а клиенту возвращается только готовый результат. Но тогда помните, что файл ляжет на диск сервера, а не на ваш компьютер.
Автоматизация выгрузки внешней обработкой
Когда один и тот же файл нужен каждый день — остатки для сайта, прайс для партнёров, — ручная выгрузка превращается в рутину. Её заменяет внешняя обработка.
Пример: остатки номенклатуры в CSV
Ниже — процедура для модуля обработки. Она выбирает номенклатуру запросом и пишет её в CSV с разделителем «;» — его Excel в русской локали понимает без настройки.
Функция ПолеCSV(Значение)
Стр = Строка(Значение);
Возврат """" + СтрЗаменить(Стр, """", """""") + """";
КонецФункции
Процедура ВыгрузитьНоменклатуру(ИмяФайла) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Код КАК Код,
| Номенклатура.Наименование КАК Наименование,
| Номенклатура.Артикул КАК Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа
| И НЕ Номенклатура.ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Запись = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.UTF8);
Запись.ЗаписатьСтроку("Код;Наименование;Артикул");
Пока Выборка.Следующий() Цикл
Запись.ЗаписатьСтроку(СтрШаблон("%1;%2;%3",
ПолеCSV(Выборка.Код),
ПолеCSV(Выборка.Наименование),
ПолеCSV(Выборка.Артикул)));
КонецЦикла;
Запись.Закрыть();
КонецПроцедуры
Функция ПолеCSV берёт каждое значение в кавычки и удваивает кавычки внутри. Без неё наименование вроде Болт М8; оцинк. разломает строку на лишние колонки.
ЗаписьТекста с кодировкой UTF8 пишет файл с меткой BOM — по ней Excel понимает кодировку и показывает кириллицу правильно.
Как запускать по расписанию
Есть два рабочих пути:
- Дополнительная обработка в базе. В БП 3.0 и УТ 11 внешние обработки регистрируются в
Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Для обработки, у которой в модуле описана серверная команда, в карточке можно задать расписание — 1С будет запускать её сама как регламентное задание. - Планировщик Windows. Задание запускает 1С с ключом
/Execute, который открывает обработку при старте:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Base" /N "Exchange" /P "pass" /Execute "D:\epf\vygruzka.epf"
Во втором случае обработка должна сама выполнить выгрузку при открытии формы и завершить сеанс. Под это заведите отдельного пользователя с минимальными правами — только на чтение нужных объектов.
Пароль в bat-файле лежит открытым текстом. Ограничьте доступ к папке со скриптом и не используйте учётную запись администратора базы.
Типовые проблемы при экспорте и их решение
Отдельно про PDF. Если в сохранённой печатной форме съехала таблица или пропали буквы, проверьте шрифт макета. Формы рассчитаны на Arial, и если на компьютере стоит урезанный набор шрифтов, PDF собирается с заменой. Установка стандартных шрифтов Windows обычно решает проблему.