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

В этой статье мы разберём 5 рабочих способов выгрузки — от простейшего копирования через буфер обмена до автоматизированного экспорта с помощью COM-соединения и Power Query. Особое внимание уделим скрытым настройкам 1С, которые позволяют выгружать не только основные реквизиты (наименование, ИНН, КПП), но и историю изменений, контактные лица, договора и даже пользовательские поля. А для программистов приведём готовые примеры кода на 1С:Предприятие и VBA.

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

1. Самый быстрый способ: копирование через буфер обмена

Если вам нужно срочно получить список контрагентов в Excel без установки дополнительных обработок, этот метод подойдёт идеально. Он работает в любой конфигурации 1С 8.3 (Бухгалтерия, УТ, ERP, ЗУП) и не требует прав администратора.

Откройте справочник Контрагенты (Предприятие → Контрагенты или через панель навигации). Нажмите Ещё → Все действия → Открыть список, чтобы увидеть полный перечень. Затем:

  • 📋 Выделите нужные строки (или нажмите Ctrl+A для выбора всех).
  • 🖱️ Кликните правой кнопкой и выберите Копировать (или Ctrl+C).
  • 📊 Откройте Excel и вставьте данные (Ctrl+V).

⚠️ Внимание: Этот способ копирует только видимые колонки. Если вам нужны дополнительные реквизиты (например, Юр.адрес или Банковские счета), предварительно добавьте их в список через Ещё → Настройка списка.

💡

Чтобы избежать проблем с кодировкой (например, вместо "ООО" отображаются "???"), перед вставкой в Excel выберите Данные → Текст по столбцам → Кодировка: 65001 (Unicode UTF-8)

2. Экспорт через стандартную обработку "Выгрузка данных"

В 1С 8.3 есть встроенная обработка ВыгрузкаДанных.epf, которая позволяет гибко настраивать экспорт в Excel, XML или CSV. Она подходит для регулярной выгрузки больших объёмов данных с сохранением структуры.

Чтобы её использовать:

  1. Перейдите в Файл → Открыть и выберите файл обработки (обычно он лежит в каталоге установки 1С, например, C:\Program Files\1cv8\8.3.x.xx\tmplts\1c\Universal\ExtForms\ВыгрузкаДанных.epf).
  2. В открывшемся окне укажите:
    • 📌 Источник данных: справочник Контрагенты.
    • 📄 Формат файла: Excel (XLSX).
    • 🔧 Поля для выгрузки: отметьте галочками нужные реквизиты (например, Наименование, ИНН, Телефон).
  3. Нажмите Выполнить и сохраните файл.
  4. Параметр обработки Рекомендуемое значение Пояснение
    Выгружать иерархию Да Сохраняет структуру групп (например, "Поставщики → Оптовики").
    Выгружать пустые значения Нет Исключает ячейки без данных, уменьшая размер файла.
    Разделитель списков ; (точка с запятой) Важно для полей типа "Список" (например, несколько контактных лиц).

    ⚠️ Внимание: Если в вашей конфигурации отсутствует стандартная обработка, её можно скачать с сайта 1С:ИТС или попробовать альтернативный метод (см. раздел 4).

    📊 Как часто вы выгружаете контрагентов из 1С?
    Ежедневно
    Раз в неделю
    Раз в месяц
    Реже

    3. Выгрузка через внешнюю обработку (например, "Универсальный обмен данными")

    Для пользователей, которым нужно не только экспортировать данные, но и настраивать шаблоны, фильтры или автоматизировать процесс, подойдут внешние обработки. Одна из самых популярных — "Универсальный обмен данными" (разработчик: 1С-Рарус). Она позволяет:

    • 🔄 Выгружать данные по расписанию (например, каждый понедельник в 9:00).
    • 📂 Сохранять несколько шаблонов для разных типов контрагентов (поставщики, покупатели, партнёры).
    • 🔍 Применять сложные фильтры (например, выгружать только активных контрагентов с оборотом > 100 000 руб.).

Инструкция по настройке:

  1. Скачайте обработку с сайта разработчика и подключите её в 1С через Файл → Открыть.
  2. В окне обработки выберите:
    Источник: Справочник.Контрагенты
    

    Формат: Excel (XLSX)

    Поля: [выберите нужные реквизиты]

    Фильтр: [настройте условия, например, "Дата создания > 01.01.2023"]

  3. Сохраните шаблон для повторного использования.

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

Как обойти ограничение на количество строк в Excel?

Если у вас более 1 048 576 строк (максимум для Excel), разбейте выгрузку на несколько файлов. В обработке "Универсальный обмен данными" для этого есть опция Разбивать на файлы по N строк.

4. Автоматизированный экспорт через COM-соединение (для программистов)

Для IT-специалистов и пользователей, которым нужно интегрировать 1С с другими системами, оптимальный вариант — использование COM-соединения. Этот метод позволяет выгружать данные прямо из в Excel с помощью скриптов на VBA или 1С:Предприятие.

Пример кода на 1С 8.3 для выгрузки контрагентов в Excel:

// Подключаем Excel

Excel = Новый COMОбъект("Excel.Application");

Книга = Excel.Workbooks.Add();

Лист = Книга.Worksheets(1);

// Получаем данные из 1С

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| Контрагенты.Ссылка КАК Контрагент,

| Контрагенты.Наименование КАК Наименование,

| Контрагенты.ИНН КАК ИНН,

| Контрагенты.КПП КАК КПП

|ИЗ

| Справочник.Контрагенты КАК Контрагенты";

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

// Записываем данные в Excel

НомерСтроки = 1;

Пока Выборка.Следующий() Цикл

Лист.Cells(НомерСтроки, 1).Value = Выборка.Наименование;

Лист.Cells(НомерСтроки, 2).Value = Выборка.ИНН;

Лист.Cells(НомерСтроки, 3).Value = Выборка.КПП;

НомерСтроки = НомерСтроки + 1;

КонецЦикла;

// Сохраняем файл

Книга.SaveAs("C:\Temp\Контрагенты.xlsx");

Excel.Quit();

⚠️ Внимание: Для работы этого кода на компьютере должен быть установлен Microsoft Excel (не достаточно только ). Также проверьте права доступа к папке, куда сохраняется файл.

🔹 Альтернатива: Если вы используете 1С:Предприятие в веб-клиенте или тонком клиенте, COM-соединение может не работать. В этом случае используйте HTTP-сервисы или REST API.

Установить Microsoft Excel на компьютере|Проверить права доступа к папке сохранения|Создать резервную копию базы 1С|Протестировать код на тестовой базе-->

5. Выгрузка через Power Query (для пользователей Excel)

Если вы часто работаете в Excel и используете Power Query (инструмент для загрузки и преобразования данных), можно настроить прямой импорт из 1С. Этот метод подходит для Excel 2016 и новее.

Пошаговая инструкция:

  1. Откройте Excel и перейдите на вкладку Данные → Получить данные → Из базы данных → Из 1С:Предприятие.
  2. Введите параметры подключения:
    • 📌 Сервер 1С: указжите адрес (например, localhost или IP-адрес сервера).
    • 🔑 База данных: выберите нужную базу из списка.
    • 👤 Пользователь/пароль: укажите учётные данные с правами на чтение справочника Контрагенты.
  3. В редакторе Power Query выберите таблицу Справочник.Контрагенты и настройте нужные столбцы.
  4. Нажмите Закрыть и загрузить, чтобы импортировать данные в Excel.
  5. Плюсы метода:

    • 🔄 Автоматическое обновление данных при изменении в 1С (настройка Обновить все).
    • 📊 Возможность объединять данные из 1С с другими источниками (например, из CRM или SQL).

⚠️ Внимание: Для этого метода требуется ODBC-драйвер для 1С, который устанавливается вместе с платформой. Если его нет, скачайте с сайта .

💡

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

6. Выгрузка с историей изменений (для аудита)

Если вам нужна не только обновляемые материалы о контрагентах, но и история изменений (кто и когда редактировал реквизиты), используйте журнал регистрации или специализированные обработки.

Способ 1: Через журнал регистрации (встроенный в 1С):

  1. Откройте Администрирование → Журнал регистрации.
  2. Настройте фильтр:
    Объект: Справочник.Контрагенты
    

    Действие: Изменение

    Период: [укажите даты]

  3. Экспортируйте отчёт в Excel через Ещё → Вывести список → Excel.

Способ 2: С помощью обработки "История изменений объектов" (доступна на Инфостарте). Она позволяет:

  • 🕒 Видеть, кто и когда внёс изменения.
  • 📝 Сравнивать версии реквизитов (например, старое и новое значение Юр.адреса).
  • 📤 Выгружать историю в удобном формате.

💡 Совет: Если история изменений критически важна (например, для налоговой проверки), настройте регулярный бэкап журнала регистрации. В 1С 8.3 он хранится в таблице _EventLog базы данных.

FAQ: Частые вопросы по выгрузке контрагентов

Можно ли выгрузить контрагентов с их банковскими счетами?

Да, но для этого нужно:

  1. В настройках выгрузки добавить таблицу БанковскиеСчетаКонтрагентов.
  2. Использовать внешнюю обработку (например, "Универсальный обмен данными") или написать запрос с объединением:
ВЫБРАТЬ

Контрагенты.Наименование,

БанковскиеСчета.НомерСчета,

БанковскиеСчета.БИК

ИЗ

Справочник.Контрагенты КАК Контрагенты

ЛЕВОЕ СОЕДИНЕНИЕ Справочник.БанковскиеСчета КАК БанковскиеСчета

ПО Контрагенты.Ссылка = БанковскиеСчета.Владелец

Почему в Excel вместо кириллицы отображаются знаки вопроса?

Проблема связана с кодировкой. Решения:

  • При сохранении файла в 1С выберите формат UTF-8.
  • В Excel при открытии файла используйте Данные → Текст по столбцам → Кодировка: 65001 (Unicode).
  • Если выгружаете через COM, добавьте в код строку:
    Excel.DisplayAlerts = Ложь; // Отключает предупреждения о кодировке
Как выгрузить только активных контрагентов?

Используйте фильтр в запросе или обработке:

ВЫБРАТЬ

Контрагенты.Наименование,

Контрагенты.ИНН

ИЗ

Справочник.Контрагенты КАК Контрагенты

ГДЕ

Контрагенты.ПометкаУдаления = ЛОЖЬ

В стандартной обработке выгрузки добавьте условие ПометкаУдаления = Ложь.

Можно ли автоматизировать выгрузку по расписанию?

Да, для этого подойдут:

  • Внешние обработки (например, "Универсальный обмен данными" с настройкой расписания).
  • Задачи планировщика Windows + скрипт на или VBA.
  • 1С:EDT (для программистов) — создание фонового задания.

Пример команды для планировщика:

"C:\Program Files\1cv8\8.3.x.xx\bin\1cv8.exe" DESIGNER /S "ИмяСервера\ИмяБазы" /N "Пользователь" /P "Пароль" /Execute "C:\Scripts\ВыгрузкаКонтрагентов.epf"

Как выгрузить контрагентов с их договорами?

Используйте запрос с объединением таблиц:

ВЫБРАТЬ

Контрагенты.Наименование КАК Контрагент,

Договоры.Номер КАК НомерДоговора,

Договоры.Дата КАК ДатаДоговора

ИЗ

Справочник.Контрагенты КАК Контрагенты

ЛЕВОЕ СОЕДИНЕНИЕ Документ.ДоговорыКонтрагентов КАК Договоры

ПО Контрагенты.Ссылка = Договоры.Контрагент

Или настройте выгрузку через Power Query, добавив связанные таблицы.