Экспорт из 1С 8.3: отчёты, печатные формы, вложения и автоматическая выгрузка

· 9 мин

Содержание

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

Если выгружать нужно регулярно, большими объёмами или на чужой сервер, ручное сохранение уже не годится. Тогда нужны стандартные обработки выгрузки, код на встроенном языке и автоматический запуск по расписанию. Все способы ниже относятся к платформе 1С:Предприятие 8.3 и интерфейсу «Такси».

Какой способ экспорта из 1С выбрать

Сначала определите, что именно вы выгружаете. От этого зависит инструмент.

Что выгружаемСпособКто справится
Отчёт, оборотку, список«Сохранить как» в Excel/PDFЛюбой пользователь
Печатные формы (счета, акты, ТОРГ-12)Кнопка сохранения в окне печатиЛюбой пользователь
Сканы и вложения документовСписок присоединённых файловЛюбой пользователь
Данные базы целиком или частичноОбработки XML, выгрузка .dtАдминистратор
Файлы для банкаОбмен с клиент-банком (1c_to_kl.txt)Бухгалтер
Регулярная выгрузка на FTP/сайтВнешняя обработка + расписаниеПрограммист 1С

💡 Если файл нужен для другого человека, а не для другой программы, почти всегда хватает PDF. Его не исказит ни Excel, ни разная кодировка.

Как выгрузить отчёт или список из 1С в Excel

Это самый частый сценарий. Порядок одинаковый для БП 3.0, ЗУП 3.1, УТ 11 и других типовых конфигураций.

  1. Сформируйте отчёт с нужными настройками.
  2. Щёлкните мышью по полю табличного документа, чтобы оно стало активным.
  3. Откройте главное меню ☰ → Файл → Сохранить как (или нажмите на значок дискеты в форме отчёта, если он есть).
  4. В поле «Тип файла» выберите Лист Excel 2007-... (*.xlsx).
  5. Укажите папку и имя, нажмите «Сохранить».

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

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

Табличную часть и динамический список можно выгрузить без отчёта:

  • 📋 откройте список (например, «Реализация (акты, накладные)»);
  • 📋 нажмите Ещё → Вывести список…;
  • 📋 отметьте нужные колонки и нажмите «ОК»;
  • 📋 откроется табличный документ — сохраните его через ☰ → Файл → Сохранить как.

Какой формат выбрать

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

Отчёт на 100 000 строк в .xls обрежется. Для больших оборотно-сальдовых ведомостей выбирайте только .xlsx.

Печатные формы и вложения: как выгрузить файлы документов

Печатные формы пакетом

Окно печати в типовых конфигурациях умеет сохранять сразу несколько форм.

  1. Выделите в списке нужные документы (Ctrl или Shift + клик).
  2. Нажмите «Печать» и выберите форму, например «Счёт на оплату».
  3. В открывшемся окне нажмите кнопку сохранения (значок дискеты).
  4. Отметьте форматы: PDF, Excel, Word — можно несколько сразу.
  5. Выберите, куда сохранить: на компьютер в папку или присоединить к документу.
  6. При желании включите упаковку в ZIP-архив.

Так за один проход получаются, скажем, 40 актов в PDF, каждый отдельным файлом.

Присоединённые файлы (сканы, договоры)

В карточке документа или справочника вложения открываются кнопкой со скрепкой. В списке файлов:

  • 📎 выделите нужный файл;
  • 📎 через меню «Ещё» выберите команду сохранения на диск;
  • 📎 укажите папку.

Файл можно открыть и двойным щелчком: 1С положит копию в рабочий каталог пользователя. Но правки в этой копии не попадут в базу, пока вы не завершите редактирование через саму 1С.

Где физически лежат файлы

Это важно для массовой выгрузки. Файлы хранятся двумя способами:

  • 🗄️ в самой информационной базе — тогда их можно достать только через 1С;
  • 🗂️ в томах на диске — это обычная папка на сервере, указанная в настройках.

Режим хранения задаётся в Администрирование → Общие настройки, в группе настроек работы с файлами. Там же список «Тома хранения файлов» с путями.

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

Стандартные обработки и выгрузка данных базы

Когда нужно вынести не документ, а данные, используют инструменты администратора.

ИнструментЧто получитсяДля чего
Конфигуратор: Администрирование → Выгрузить информационную базуФайл .dtПолная копия базы, перенос
Конфигуратор: Конфигурация → Сохранить конфигурацию в файлФайл .cfКопия конфигурации без данных
Обработка «Выгрузка и загрузка данных XML»Файл .xmlПеренос выбранных объектов в базу той же конфигурации
«Универсальный обмен данными в формате XML»Файл .xmlПеренос между разными конфигурациями по правилам

Выгрузка в .dt требует монопольного доступа к базе — заранее попросите всех пользователей выйти.

Обработки XML — внешние (.epf). Их открывают через ☰ → Файл → Открыть или подключают в Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки.

Выгрузка платёжек для банка

В БП 3.0 платёжные поручения выгружаются в формат клиент-банка: Банк и касса → Платёжные поручения, выделить документы и выбрать команду отправки в банк. Получится текстовый файл обмена, по умолчанию 1c_to_kl.txt. Путь к нему задаётся в настройках обмена с банком для конкретного счёта.

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

Сохранение табличного документа кодом

Самый частый приём программиста — сформировать табличный документ и записать его методом Записать:

ТабДок = Новый ТабличныйДокумент;
// ... заполнение макета ...
ТабДок.Записать("D:\Выгрузка\Остатки.xlsx", ТипФайлаТабличногоДокумента.XLSX);

Путь в коде, выполняемом на сервере, — это путь на компьютере сервера 1С, а не на ПК пользователя. В клиент-серверной базе файл окажется на сервере, и права нужны у пользователя, от имени которого работает служба (по умолчанию USR1CV8).

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

В конфигурациях на БСП двоичные данные вложения отдаёт программный интерфейс подсистемы работы с файлами:

ДвоичныеДанные = РаботаСФайлами.ДвоичныеДанныеФайла(ПрисоединенныйФайл);
ДвоичныеДанные.Записать("D:\Выгрузка\" + ПрисоединенныйФайл.Наименование
    + "." + ПрисоединенныйФайл.Расширение);

Так обходят служебные имена в томах: имя и расширение берутся из реквизитов файла.

Внешние источники данных и ADO

Объект метаданных «Внешние источники данных» подключает таблицы другой СУБД через ODBC. Его чаще используют для чтения чужих таблиц. Для записи в сторонние базы на практике обычно берут ADO через Новый COMОбъект("ADODB.Connection") — это работает только под Windows.

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

Передача файлов по FTP и HTTP

Отправка на FTP

В платформе есть объект FTPСоединение. Минимальный пример:

Соединение = Новый FTPСоединение("ftp.example.ru", 21, "user", "password",
    , Истина); // Истина — пассивный режим
Соединение.Записать("D:\Выгрузка\Остатки.xlsx", "/upload/Остатки.xlsx");

Пассивный режим включайте почти всегда: без него соединение через NAT и межсетевые экраны обрывается на передаче данных.

Отправка по HTTP

Для веб-сервисов и сайтов используют HTTPСоединение и HTTPЗапрос:

Соединение = Новый HTTPСоединение("api.example.ru", 443, , , ,
    30, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/upload");
Запрос.УстановитьТелоИзДвоичныхДанных(Новый ДвоичныеДанные("D:\Выгрузка\Остатки.xlsx"));
Ответ = Соединение.ОтправитьДляОбработки(Запрос);
Если Ответ.КодСостояния <> 200 Тогда
    ВызватьИсключение "Сервер вернул код " + Формат(Ответ.КодСостояния, "ЧГ=0");
КонецЕсли;

Обратная схема — HTTP-сервис в самой 1С. Тогда внешняя система сама забирает файл по адресу публикации базы на веб-сервере. Это требует публикации базы и правки конфигурации или расширения.

Логины и пароли FTP не храните в тексте обработки. Вынесите их в константу или безопасное хранилище — иначе их увидит любой, кто откроет .epf.

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

Ручная выгрузка каждый вечер — первое, что хочется автоматизировать. Рабочих вариантов три.

1. Дополнительная обработка с расписанием (без правки конфигурации)

В конфигурациях на БСП внешнюю обработку можно зарегистрировать как дополнительную и задать ей расписание.

  1. Обработка должна содержать функцию СведенияОВнешнейОбработке() и команду с типом использования «Вызов серверного метода».
  2. Добавьте её в Администрирование → Печатные формы, отчёты и обработки → Дополнительные отчёты и обработки.
  3. В карточке на вкладке команд настройте расписание для этой команды.

Конфигурация остаётся на поддержке — это главный плюс.

2. Регламентное задание в расширении

Программист добавляет регламентное задание в расширение конфигурации . Расписание меняется в Администрирование → Обслуживание → Регламентные и фоновые задания.

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

3. Планировщик Windows и параметр /Execute

Для файловой базы надёжнее запуск из планировщика заданий Windows:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Bases\Buh" /N "Выгрузка" /P "пароль" /Execute "D:\Scripts\Vygruzka.epf" /DisableStartupMessages

Обработка выполняет выгрузку при открытии формы и в конце закрывает сеанс командой ЗавершитьРаботуСистемы(Ложь). Для этого заведите отдельного пользователя 1С с минимальными правами.

Как автоматизировать выгрузку в вашем случае?

Ошибки при выгрузке файлов из 1С и как их исправить

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

Частые ошибки и как их избежать

  • ❌ Числа в Excel стали текстом. В отчёте стоит формат с пробелами-разделителями. После выгрузки примените в Excel «Текст по столбцам» или выгружайте в .mxl и переоткрывайте.
  • ❌ Перезапись старого файла. Обработка пишет каждый день в один и тот же Остатки.xlsx. Добавляйте дату в имя: Формат(ТекущаяДата(), "ДФ=yyyyMMdd").
  • ❌ Выгрузка под администратором. Регулярное задание с полными правами — риск. Создайте отдельного пользователя только с нужными правами чтения.

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

Можно ли выгрузить из 1С сразу все присоединённые файлы?
Штатной кнопки массовой выгрузки всех вложений базы в типовых конфигурациях нет. Решается внешней обработкой, которая обходит справочники присоединённых файлов и записывает двоичные данные с исходными именами.
Чем открыть файл .mxl без 1С?
Бесплатной программой «1С:Предприятие — Работа с файлами», её можно скачать с сайта разработчика платформы. Либо попросите пересохранить файл в xlsx или PDF.
Почему выгрузка в Excel идёт очень долго?
Табличный документ на сотни тысяч строк платформа формирует в памяти. Сократите период или отбор, отключите группировки и итоги — выгрузка ускорится в разы.
Как выгрузить файлы из облачной 1С (1С:Фреш)?
Отчёты и печатные формы сохраняются так же, через «Сохранить как». Выгрузка всей базы делается в личном кабинете сервиса, а не через Конфигуратор.
Сохраняются ли подписи и печати в PDF из 1С?
Да, если в карточке организации загружены факсимиле и в форме печати включён вывод подписей и печати. Тогда PDF выйдет с ними.