Как сделать выгрузку из 1С 8.3: все способы

· 10 мин

Содержание

Самый быстрый способ выгрузить данные из 1С — открыть нужный отчёт или список и нажать Главное меню (≡) → Файл → Сохранить как, выбрав формат Excel. Для любого списка документов или справочника работает команда Еще → Вывести список: она превращает список в табличный документ, который тут же сохраняется в файл.

Это подходит для разовой задачи «достать данные и отдать в Excel». Но выгрузка из 1С — это не только Excel. Если данные нужно регулярно передавать в другую программу, базу данных или на сайт, в ход идут обмен через XML и JSON, прямое подключение к информационной базе по ODBC и REST, типовые обработки и регламентные задания.

Ниже — каждый способ с точными путями меню, границами применимости и разбором частых ошибок. Начните с виджета: он подскажет формат под вашу задачу.

Куда и как часто нужно выгружать данные?

Выгрузка в Excel, ODS и другие табличные форматы

Это основной сценарий для бухгалтера и экономиста. Выгрузить можно практически любое: отчёт, список документов, справочник, результат запроса.

Отчёт или печатная форма. Сформируйте отчёт, затем Главное меню (≡) → Файл → Сохранить как. В окне сохранения выберите тип файла:

  • 📊 .xlsx — лист Excel (современный формат, открывается везде);
  • 📄 .xls — старый формат Excel 97-2003;
  • 📑 .ods — таблица OpenOffice/LibreOffice;
  • 📋 .mxl — табличный документ 1С (откроется только в 1С);
  • 🖨 .pdf — для печати и отправки;
  • 🌐 .html — для вставки на страницу.

Список документов или справочника. Откройте список, затем Еще → Вывести список. Система предложит выбрать колонки и тип результата — выберите «Табличный документ». Полученную таблицу сохраните так же, через Файл → Сохранить как.

Если нужны не все колонки, перед выводом настройте видимость граф через Еще → Изменить форму — в файл попадут только видимые колонки.

Произвольная выборка через консоль отчётов. Когда стандартного отчёта нет, помогает обработка «Консоль запросов» или «Универсальный отчёт» (Отчёты → Универсальный отчёт). Вы выбираете таблицу (например, «Продажи», «Остатки товаров»), задаёте отбор и группировки, формируете — и выгружаете результат в Excel тем же способом.

Какой формат выбрать. Для отправки человеку — .xlsx: он открывается без вопросов и сохраняет оформление. Для загрузки в другую программу, которая принимает текст, — .csv или .txt с явным указанием кодировки UTF-8. Для печати и подписи — .pdf. Формат .mxl оставляйте только для передачи внутри 1С, за её пределами он бесполезен.

Перед выгрузкой больших списков уберите лишние колонки и задайте отбор по периоду — иначе файл на сотни тысяч строк будет формироваться минутами и может не открыться в Excel.

Обмен через XML: универсальный формат для других программ

XML — формат для переноса данных между базами 1С и в сторонние системы, которые умеют его читать. В отличие от Excel, XML сохраняет структуру объектов: реквизиты, ссылки, табличные части.

Типовая выгрузка в XML. В большинстве конфигураций на управляемых формах есть обработка «Выгрузка и загрузка данных XML» (поставляется на диске ИТС и доступна как внешняя обработка .epf). Порядок такой:

  1. Откройте обработку: Файл → Открыть → выберите файл обработки.
  2. На вкладке выгрузки отметьте типы данных (справочники, документы) и период.
  3. Задайте путь к файлу-приёмнику и запустите выгрузку.
  4. В приёмнике откройте ту же обработку и выполните загрузку из этого файла.

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

JSON вместо XML. Платформа умеет писать и читать JSON (функции ЗаписатьJSON, ПрочитатьJSON в встроенном языке). Готовой кнопки «выгрузить в JSON» в типовых конфигурациях обычно нет — JSON формируют в коде обработки или отдают через REST-интерфейс (о нём ниже). JSON удобен, когда данные принимает веб-сервис или скрипт на другом языке.

Совместимость версий. XML-выгрузка одной конфигурации не загрузится в другую без сопоставления объектов — у разных конфигураций разная структура. Перенос «из коробки» работает между одинаковыми конфигурациями близких релизов. Для переноса между разными продуктами (например, из одной учётной системы в другую) применяют отдельный инструмент сопоставления правил обмена.

Выгруженный XML содержит ссылки на объекты по внутренним идентификаторам (GUID). При загрузке в другую базу эти объекты должны существовать или выгружаться вместе — иначе получите «битые» ссылки.

Прямой доступ к базе: ODBC, внешнее соединение и REST

Иногда данные нужны не файлом, а «вживую» — чтобы сторонняя программа читала их сама. Здесь важно понимать: напрямую обращаться SQL-запросами к таблицам SQL-базы 1С не следует. Структура таблиц закрыта, недокументирована и меняется с релизами. Чтение в обход платформы нарушает лицензионное соглашение и ломается при первом же обновлении.

Легальных способов получить данные «на лету» три:

  • 🔌 Внешнее соединение (COM). Объект V83.COMConnector подключается к базе как обычный пользователь и выполняет запросы через встроенный язык. Работает на Windows, удобно для автоматизации на том же сервере.
  • 🌐 REST-интерфейс (OData). Автоматический REST-сервис платформы отдаёт справочники, документы и регистры по HTTP в формате JSON или XML. Любая программа (сайт, CRM, Power BI) читает их по стандартному протоколу OData.
  • 🧩 Веб-сервисы (SOAP). Когда нужна своя логика выгрузки — пишется веб-сервис, который отдаёт именно то, что требуется.

Как включить REST-интерфейс. Публикация делается в Конфигураторе: Администрирование → Публикация на веб-сервере. На вкладке OData отметьте состав выгружаемых объектов («Состав стандартного интерфейса OData»), опубликуйте базу на веб-сервере (Apache или IIS). После этого данные доступны по адресу вида http://сервер/база/odata/standard.odata/.

Для подключения BI-систем (Power BI, Yandex DataLens) REST-интерфейс — самый аккуратный путь: не нужно выгружать файлы, отчёт сам тянет свежие данные.

Доступ по REST и COM работает под конкретным пользователем 1С. Заведите отдельного пользователя с правами только на чтение нужных объектов — так вы не отдадите наружу лишнее.

Внешние обработки и печатные формы

Когда штатных средств не хватает, выгрузку оформляют внешней обработкой — файлом .epf, который открывается через Файл → Открыть без изменения конфигурации.

Внешняя обработка полезна, если:

  • нужен нестандартный формат файла (выгрузка в банк-клиент, в формат конкретного партнёра);
  • выгрузку запускают регулярно и хочется кнопку «одним нажатием»;
  • данные надо предварительно пересчитать или отфильтровать по сложному условию.

Печатные формы как источник выгрузки. Любая печатная форма в 1С — это табличный документ. Сформируйте счёт, акт, накладную (кнопка Печать), затем в окне печати — Сохранить как → Excel или PDF. Так выгружают первичку для отправки контрагенту без отдельной обработки.

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

Если обработки нет, а формат нестандартный — задачу обычно решает программист: пишет обработку под ваш шаблон выгрузки. Это дешевле и безопаснее, чем дорабатывать типовую конфигурацию .

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

Чтобы выгрузка шла сама — ночью или раз в час — её запускают регламентным заданием. Это механизм платформы, который выполняет код по расписанию без участия пользователя.

Общий порядок:

  1. Выгрузку оформляют процедурой в общем модуле или во внешней обработке.
  2. Создают регламентное задание и привязывают к нему эту процедуру.
  3. Задают расписание: периодичность, время, дни недели.

Список заданий открывается через Все функции → Стандартные → Регламентные и фоновые задания (в клиент-серверном варианте расписание исполняет сервер, в файловом — должен быть запущен сеанс или отдельный процесс для фоновых заданий).

Где это уже встроено. В типовых конфигурациях есть подсистема обмена данными с готовыми настройками расписания. Ищите её в разделе Администрирование или НСИ и администрирование → пункт про синхронизацию или обмен данными. Там выгрузка по плану обмена настраивается мышкой, без программирования.

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

При настройке проверьте три вещи: процедура выгрузки отработала вручную без ошибок; у пользователя подключения есть права на нужные объекты и на путь приёмника; для файловой базы запущен процесс фоновых заданий, иначе задание просто не стартует. Полезно добавить уведомление на почту об ошибке — тогда вы узнаете о сбое выгрузки сразу, а не через неделю.

Выгрузка всей базы в файл для переноса

Отдельная задача — выгрузить не отдельные данные, а базу целиком: для переезда на другой сервер или архива. Для этого служит выгрузка в файл .dt.

В Конфигураторе: Администрирование → Выгрузить информационную базу → укажите путь к файлу .dt. Обратная операция — Загрузить информационную базу.

Важные ограничения:

  • Выгрузка .dt требует монопольного доступа — все пользователи должны выйти из базы.
  • Для больших баз (десятки гигабайт) .dt работает медленно; для регулярных копий клиент-серверной базы используют штатные средства СУБД (резервное копирование SQL Server или PostgreSQL).
  • Загружать .dt можно только в базу той же или более новой версии платформы.

.dt переносит данные вместе с конфигурацией. Если нужно перенести только данные в уже настроенную базу — это задача обмена через XML, а не выгрузки .dt.

Частые ошибки при выгрузке и как их обойти

Разберём типовые ситуации, с которыми сталкиваются при выгрузке из 1С.

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

Большинство проблем сводится к двум причинам: выбран неподходящий формат (Excel вместо обмена для больших данных) или не переданы связанные объекты. Если выгрузка стабильно падает на одном и том же месте — сохраните текст ошибки целиком, по нему причина определяется быстрее всего.

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

Можно ли выгрузить из 1С сразу несколько отчётов в один файл Excel?
Штатно каждый отчёт сохраняется отдельным файлом. Чтобы собрать всё в одну книгу Excel с несколькими листами, выгружайте отчёты по одному и объединяйте листы уже в Excel, либо используйте внешнюю обработку, которая формирует один табличный документ из нескольких.
Чем выгрузка отличается от синхронизации данных?
Выгрузка — это разовая или по расписанию передача данных в файл или приёмник. Синхронизация (через план обмена) работает в обе стороны и передаёт только изменения, поддерживая две базы в актуальном состоянии.
Нужна ли лицензия разработчика, чтобы настроить выгрузку?
Для типовых средств — выгрузки в Excel, обмена по XML, публикации REST — нет. Конфигуратор для публикации и регламентных заданий доступен в обычной поставке. Отдельная разработка внешней обработки под нестандартный формат — это работа программиста, но прав на неё хватает штатных.
Сохранятся ли при выгрузке в XML присоединённые файлы и картинки?
Присоединённые файлы хранятся отдельно (в томах или в базе) и в обычную выгрузку объектов не входят. Для их переноса настраивают выгрузку тома с файлами отдельно либо используют полный перенос базы.
Как выгрузить данные, если нет подходящего отчёта?
Воспользуйтесь универсальным отчётом (Отчёты → Универсальный отчёт): выберите нужную таблицу, задайте отбор и группировки, сформируйте и сохраните результат в Excel. Для сложной выборки подойдёт консоль запросов.