Экспорт справочника контрагентов из 1С 8.3: все рабочие способы

· 9 мин

Содержание

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

Ниже — четыре рабочих метода для 1С 8.3 (Бухгалтерия 3.0, УТ 11, ЗУП 3.1 и других конфигураций на платформе «Такси»), от двух кликов мышью до выгрузки по расписанию. Контрагенты лежат в разделе Справочники → Контрагенты; открывать карточки для экспорта не нужно, работаем со списком целиком.

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

Вывод списка контрагентов в Excel прямо из формы

Самый быстрый способ, когда данные нужны человеку, а не программе. Открываете список контрагентов и выгружаете его в таблицу.

  1. Откройте Справочники → Контрагенты.
  2. При необходимости отфильтруйте список: по группе, по признаку «Покупатель/Поставщик», по любому столбцу через Еще → Настроить список.
  3. Нажмите Еще (меню в правом верхнем углу командной панели) → Вывести список.
  4. В окне выбора отметьте колонки, которые должны попасть в выгрузку: Наименование, ИНН, КПП, Полное наименование и т. д.
  5. Выберите тип вывода Табличный документ и нажмите ОК.

Сформированный табличный документ сохраните в Excel: Главное меню → Файл → Сохранить как, тип файла — Лист Excel 2007 (*.xlsx). Поддерживаются также форматы .ods (OpenOffice/LibreOffice), .mxl (родной формат 1С) и .pdf.

Если нужны только видимые на экране столбцы, проще выделить строки в списке (Ctrl+A), скопировать (Ctrl+C) и вставить в открытый лист Excel. Форматирование не перенесётся, но значения встанут по колонкам.

Состав колонок в окне Вывести список не ограничен тем, что видно в форме: там предлагаются все реквизиты справочника, включая Полное наименование, Код, Страна регистрации, Юридическое/физическое лицо. Отмечайте только нужные — лишние столбцы замусорят файл. Порядок колонок в выгрузке совпадает с порядком в этом окне, перетащите строки, если важна последовательность.

Если вместо Табличный документ выбрать Текстовый документ, получится список с разделителями-табуляциями — он тоже вставляется в Excel, но без границ и заголовков. Для печати или отправки в PDF удобнее табличный вариант.

Минус метода — в выгрузку попадают только те реквизиты, что есть колонками в списке. Банковские счета, контактные лица и адреса так не получить: они хранятся в подчинённых справочниках и регистрах. Для них нужен запрос или обработка.

Выгрузка контрагентов в XML для переноса в другую базу

Когда контрагентов надо перенести в другую информационную базу той же конфигурации (например, из рабочей базы в чистую или при объединении фирм), подходит типовая обработка выгрузки в XML.

Называется она «Выгрузка и загрузка данных XML» (файл ВыгрузкаЗагрузкаДанныхXML.epf). Она не входит в саму конфигурацию — её берут из комплекта поставки типовых обработок, который идёт вместе с конфигурацией.

Порядок действий:

  1. Откройте обработку через Файл → Открыть и укажите файл .epf.
  2. На вкладке выгрузки отметьте флажком Справочник.Контрагенты.
  3. Добавьте отбор, если нужны не все контрагенты (по группе, по дате создания).
  4. Укажите имя файла выгрузки и запустите выгрузку.

На выходе — файл .xml со всеми реквизитами и ссылками. Загружают его этой же обработкой в режиме загрузки уже в базе-приёмнике: открываете обработку, переключаетесь на вкладку загрузки, указываете файл и запускаете. Обработка сама создаёт недостающие объекты и обновляет существующие по идентификатору.

Вместе с контрагентом по ссылкам подтянутся и связанные объекты — договоры, банковские счета, контактные лица, — если обработка настроена выгружать объекты «по ссылкам». Это главное преимущество XML перед выводом списка: переносится не плоская таблица, а весь куст данных контрагента.

XML-выгрузка переносит объекты по внутренним идентификаторам. Загружать её можно только в базу идентичной конфигурации и релиза. В стороннюю программу или в конфигурацию другого типа такой файл не встанет — там он нечитаем.

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

Сторонние и универсальные обработки выгрузки в файл

Для выгрузки в произвольный формат (CSV, DBF, свой XML под чужую программу) типовых средств не хватает — здесь применяют универсальные обработки обмена или специализированные внешние обработки.

Что обычно используют:

  • Универсальный обмен данными в формате XML — настраивается планом обмена и правилами конвертации, выгружает выборочные реквизиты по заданной схеме. Тяжёлый инструмент, оправдан при регулярном обмене со сторонней системой.
  • Внешние обработки выгрузки в CSV/Excel — читают справочник запросом и пишут файл в нужной структуре. Их пишут под конкретную задачу или берут готовые.

Выбор реквизитов для чужой системы удобно проектировать как сопоставление полей: слева — что берём из 1С, справа — куда это ложится в файле-приёмнике.

Сопоставление полей
Наименование→Название организации
ИНН→ИНН/INN
КПП→КПП/KPP
Полное наименование→Юридическое наименование
Договор.НомерСчета→Расчётный счёт

Если сторонняя программа принимает CSV — это самый простой общий знаменатель: запросом выбираете нужные поля и построчно пишете их через разделитель. Кодировку согласуйте заранее: Excel на русском корректно открывает CSV в Windows-1251, многие веб-системы ждут UTF-8.

Выгрузка контрагентов запросом к базе

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

Запрос пишут в консоли запросов (внешняя обработка «Консоль запросов» из комплекта типовых обработок) или в собственной внешней обработке. Простой пример — активные контрагенты с основными реквизитами:

ВЫБРАТЬ
    Контрагенты.Наименование КАК Наименование,
    Контрагенты.ИНН КАК ИНН,
    Контрагенты.КПП КАК КПП,
    Контрагенты.ПолноеНаименование КАК ПолноеНаименование
ИЗ
    Справочник.Контрагенты КАК Контрагенты
ГДЕ
    НЕ Контрагенты.ПометкаУдаления
    И НЕ Контрагенты.ЭтоГруппа
УПОРЯДОЧИТЬ ПО
    Наименование

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

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

ВЫБРАТЬ
    Контрагенты.Наименование КАК Наименование,
    Контрагенты.ИНН КАК ИНН,
    Контрагенты.КПП КАК КПП,
    БанковскиеСчета.НомерСчета КАК НомерСчета,
    БанковскиеСчета.Банк.Наименование КАК Банк
ИЗ
    Справочник.Контрагенты КАК Контрагенты
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчета КАК БанковскиеСчета
    ПО БанковскиеСчета.Владелец = Контрагенты.Ссылка
ГДЕ
    НЕ Контрагенты.ПометкаУдаления
    И НЕ Контрагенты.ЭтоГруппа

У контрагента может быть несколько счетов — тогда он попадёт в выгрузку несколькими строками, по одной на счёт. Если нужен только основной счёт, добавьте в условие отбор по реквизиту основного банковского счёта контрагента.

Условие НЕ Контрагенты.ЭтоГруппа убирает из выгрузки папки справочника, а НЕ ПометкаУдаления — помеченные на удаление записи. Без них в файл попадёт лишнее.

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

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

Когда файл с контрагентами нужен регулярно (ежедневная синхронизация с CRM, ночной бэкап списка), ручные клики не годятся. Выгрузку ставят на расписание.

Два типовых подхода:

  • Регламентное задание внутри базы. В клиент-серверной базе создают регламентное задание, которое по расписанию выполняет код выгрузки: запрос к Справочник.Контрагенты и запись результата в файл на сервере. Файл потом забирает принимающая система. Расписание (каждый час, раз в сутки, по дням недели) задаётся в свойствах задания; выполняется оно на сервере без участия пользователя. Путь к папке выгрузки должен быть виден серверу 1С, а не рабочей станции — указывайте сетевой путь или локальную папку сервера, иначе задание упадёт с ошибкой доступа к файлу.
  • Запуск обработки из командной строки. Платформу запускают в пакетном режиме и передают ей внешнюю обработку параметром /Execute:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE ^
  /S "server\base" /N user /P pass ^
  /Execute "C:\exchange\export_contragents.epf" /DisableStartupMessages

Такой .bat ставят в планировщик заданий Windows на нужное время. Обработка сама формирует файл и завершает работу.

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

Ещё один вариант для внешних скриптов — внешнее соединение (COM-соединение) к базе: сторонняя программа подключается к 1С, читает справочник контрагентов запросом и забирает данные без промежуточного файла. Это удобно, когда выгрузку инициирует не 1С, а принимающая сторона, и когда нужен обмен в реальном времени, а не раз в сутки.

Для обмена с типовыми системами (сайт, маркетплейс, другая база 1С) чаще настраивают не самописную выгрузку, а штатную синхронизацию данных — она сама отслеживает изменения и выгружает только новое, не требуя кода вообще.

Типичные ошибки при выгрузке контрагентов

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

Как выбрать способ выгрузки

Короткий ориентир по задачам:

Куда и зачемСпособ
Список в Excel для сотрудникаЕще → Вывести список → сохранить в .xlsx
Перенос в другую базу 1С (та же конфигурация)Типовая обработка «Выгрузка и загрузка данных XML»
Файл в стороннюю программу (CSV, свой XML)Универсальная или внешняя обработка
Нестандартный набор полей, банковские счетаЗапрос к базе через консоль запросов
Регулярная выгрузка без участия человекаРегламентное задание или .bat в планировщике
Перед выгрузкой проверьте
Выполнено: 0 / 5

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

Можно ли выгрузить контрагентов сразу с договорами и банковскими счетами?
Выводом списка — нет, он отдаёт только колонки формы. Договоры и счета — отдельные подчинённые справочники; их собирают запросом с соединением по владельцу или типовой XML-обработкой, которая переносит контрагента вместе со всеми подчинёнными объектами.
В какой формат лучше выгружать для Excel?
.xlsx при сохранении табличного документа — Excel откроет его без потерь. CSV берите, только если так требует принимающая программа, и следите за кодировкой.
Чем выгрузка в XML отличается от сохранения в Excel?
XML типовой обработки — это транспорт между базами 1С по внутренним идентификаторам, человеку он нечитаем. Excel — отчёт для чтения и ручной обработки. Это разные задачи, не замена друг другу.
Как выгрузить только новых или изменённых контрагентов?
Через отбор по дате или через штатную синхронизацию данных, которая ведёт регистрацию изменений и отдаёт только то, что поменялось с прошлой выгрузки. Ручной вывод списка такого фильтра не умеет.
Почему не получается запустить внешнюю обработку выгрузки?
Чаще всего не хватает прав на открытие внешних обработок либо запуск закрыт политикой базы (типично для облачной аренды). Решается настройкой прав у администратора; если запуск закрыт совсем — остаётся вывод списка и типовые механизмы обмена.