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

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

1. Выгрузка через стандартный отчёт «Список контрагентов»

Самый быстрый способ получить данные о контрагентах — использовать встроенный отчёт Список контрагентов, доступный во всех типовых конфигурациях (1С:Бухгалтерия, Управление торговлей, ERP и др.). Этот метод не требует знаний программирования и подходит для одноразовых выгрузок небольших объёмов данных.

Чтобы экспортировать список:

  • 📌 Откройте раздел Справочники → Контрагенты (или Партнёры в некоторых конфигурациях).
  • 📊 В панели действий выберите Отчёты → Список контрагентов (в старых версиях может называться Анализ контрагентов).
  • 🖥️ В открывшемся окне настройте отображение колонок: добавьте нужные реквизиты (ИНН, КПП, адрес, телефоны) через кнопку Настройки → Добавить колонку.
  • 💾 Нажмите Ещё → Выгрузить и выберите формат: Excel, PDF или TXT.

⚠️ Внимание: Стандартный отчёт выгружает только те реквизиты, которые отображаются в таблице. Если вам нужны дополнительные поля (например, Договоры или Банковские счета), их придётся добавлять вручную через настройки отчёта. В некоторых конфигурациях (например, 1С:ERP) для этого требуются права администратора.

💡

Если в выгруженном Excel-файле даты отображаются как числа (например, 44197 вместо 01.01.2021), откройте файл и примените формат "Дата" к соответствующим столбцам.

2. Экспорт через «Универсальный обмен данными» (XML, JSON)

Для интеграции с другими системами (например, Bitrix24, МойСклад или СБИС) чаще всего требуется выгрузка в форматах XML или JSON. В для этого предусмотрен механизм Универсальный обмен данными, который позволяет гибко настраивать структуру экспортируемых данных.

Инструкция по выгрузке в XML:

  1. Перейдите в Администрирование → Обмен данными → Универсальный обмен данными.
  2. Создайте новый обмен или выберите существующий шаблон (например, Обмен с сайтом).
  3. В настройках узла обмена укажите:
    • 📁 Каталог обмена — папку, куда будут сохранены файлы.
    • 📄 Формат данных — выберите XML или JSON.
    • 🔄 Объекты обмена — отметьте галочкой Контрагенты.
  • Запустите обмен кнопкой Выполнить обмен.
  • В результате в указанной папке появится файл (обычно import.xml или data.json), содержащий полную информацию о контрагентах, включая вложенные справочники (банковские счета, договоры, контакты).

    Формат Плюсы Минусы Когда использовать
    XML Структурированный формат, поддерживает иерархию данных (например, контрагент → банковские счета → договоры). Большой размер файла, сложнее читается человеком. Интеграция с другими 1С-базами или системами на основе 1С.
    JSON Компактнее XML, удобен для веб-сервисов и API. Не все конфигурации 1С поддерживают выгрузку в JSON без доработок. Обмен с CRM, облачными сервисами, мобильными приложениями.
    Excel (XLSX) Удобен для ручной обработки, можно открыть и отредактировать без специальных программ. Не сохраняет иерархию данных (банковские счета и договоры придётся выгружать отдельно). Отчётность, аналитика, одноразовые задачи.
    📊 Какой формат выгрузки вы используете чаще всего?
    Excel
    XML
    JSON
    TXT/CSV
    Другой

    3. Выгрузка через «Запрос» (для опытных пользователей)

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

    Пример запроса для выгрузки контрагентов с ИНН, адресом и основным банковским счётом:

    ВЫБРАТЬ
    

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

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

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

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

    Контрагенты.ЮрАдрес КАК Адрес,

    БанковскиеСчета.НомерСчета КАК РасчетныйСчет,

    БанковскиеСчета.Банк.Наименование КАК Банк

    ИЗ

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

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

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

    ГДЕ

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

    И БанковскиеСчета.Основной = ИСТИНА

    Чтобы выполнить запрос и выгрузить результаты:

    1. Откройте Сервис → Консоль запросов (или Все функции → Запросы в старых версиях).
    2. Вставьте текст запроса и нажмите Выполнить.
    3. В результатах запроса нажмите Ещё → Сохранить как... и выберите формат (Excel, CSV или TXT).
    4. ⚠️ Внимание: При выгрузке больших объёмов данных (более 10 000 записей) запрос может выполняться долго или вызывать ошибку переполнения памяти. В этом случае разбейте выгрузку на части с помощью условия ГДЕ Контрагенты.Наименование LIKE "А%" (по алфавиту) или по дате создания.

      Как ускорить выполнение запроса?

      1. Добавьте индексируемые поля в условие ГДЕ (например, ИНН или ПометкаУдаления).

      2. Используйте конструкцию ВЫБРАТЬ РАЗЛИЧНЫЕ, если в результатах много дублей.

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

      4. Автоматическая выгрузка через обработку «ВыгрузкаЗначений»

      Для регулярной выгрузки (например, еженедельной синхронизации с CRM) удобно использовать типовую обработку ВыгрузкаЗначений.epf, которая входит в поставку 1С:Предприятие. Она позволяет сохранять данные в CSV, XLS или DBF с гибкими настройками разделителей и кодировки.

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

      • 📂 Скачайте обработку ВыгрузкаЗначений.epf с диска ИТС или из каталога (раздел Обработки).
      • 🔧 Откройте её в своей базе через Файл → Открыть.
      • 📋 В настройках обработки укажите:
        • Источник данных — выберите справочник Контрагенты.
        • Формат файлаCSV или XLS.
        • Разделитель полей — для CSV обычно используется ; или ,.
        • КодировкаUTF-8 (если в данных есть кириллица).
      • 💾 Нажмите Выгрузить и укажите путь для сохранения файла.

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

      Проверьте права доступа к папке сохранения файлов|Создайте резервную копию базы перед первой выгрузкой|Настройте кодировку UTF-8 для CSV, если есть русские символы|Протестируйте выгрузку на небольшой группе контрагентов-->

      5. Выгрузка через COM-соединение (для программистов)

      Если вам нужна максимальная гибкость (например, выгрузка по API в другую систему в реальном времени), можно использовать COM-соединение или OData. Этот метод требует знаний программирования на или внешних языках (Python, C#), но открывает широкие возможности для интеграции.

      Пример кода на для выгрузки контрагентов в JSON:

      // Подключаем COM-объект для работы с файлами
      

      ЗаписьJSON = Новый ЗаписьJSON;

      ЗаписьJSON.УстановитьСтроку();

      // Формируем запрос

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

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

      "ВЫБРАТЬ

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

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

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

      |ИЗ

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

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

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

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

      ЗаписьJSON.ЗаписатьНачалоОбъекта();

      ЗаписьJSON.ЗаписатьКлюч("contractors");

      ЗаписьJSON.ЗаписатьНачалоМассива();

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

      ЗаписьJSON.ЗаписатьНачалоОбъекта();

      ЗаписьJSON.ЗаписатьКлюч("name");

      ЗаписьJSON.ЗаписатьЗначение(Выборка.Name);

      ЗаписьJSON.ЗаписатьКлюч("inn");

      ЗаписьJSON.ЗаписатьЗначение(Выборка.INN);

      ЗаписьJSON.ЗаписатьКонецОбъекта();

      КонецЦикла;

      ЗаписьJSON.ЗаписатьКонецМассива();

      ЗаписьJSON.ЗаписатьКонецОбъекта();

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

      ТекстJSON = ЗаписьJSON.Закрыть();

      ТекстJSON.Записать("C:\Export\contractors.json", КодировкаТекста.UTF8);

      Для автоматизации этого процесса можно:

      • 🤖 Создать регламентное задание в , которое будет запускать обработку по расписанию.
      • 🌐 Настроить HTTP-сервис в , чтобы внешняя система могла запрашивать данные по API.
      • 🐍 Написать скрипт на Python с использованием библиотеки py1c для взаимодействия с базой.
      💡

      COM-соединение — самый мощный, но и самый сложный метод. Он подходит для интеграции 1С с внешними системами, когда требуется обмен данными в реальном времени или по сложным правилам.

      6. Типичные ошибки и как их избежать

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

      ⚠️ Внимание: Если вы выгружаете данные для передачи в налоговые органы или банк, убедитесь, что формат файла соответствует их требованиям (например, XML по схеме ФНС). В противном случае файл может быть отклонён.
      Ошибка Причина Решение
      В Excel вместо кириллицы отображаются знаки ????. Неверная кодировка при сохранении файла. При выгрузке выберите кодировку UTF-8 или Windows-1251.
      Файл XML не проходит валидацию. Нарушена структура тегов или отсутствуют обязательные поля (например, <ИНН>). Проверьте файл через валидатор (например, XML Validator) и сравните со схемой (XSD).
      Выгружаются не все контрагенты. В запросе или настройках отчёта установлен фильтр (например, только ПометкаУдаления = ЛОЖЬ). Убедитесь, что фильтры сняты, или явно укажите ГДЕ ИСТИНА.
      Данные в CSV разделяются запятыми, хотя указан другой разделитель. Региональные настройки Windows заменяют разделитель на стандартный для локали. Откройте файл в Notepad++ и замените разделители вручную или настройте локаль в .

      Ещё одна частая проблема — дублирование данных при выгрузке связанных справочников (например, один и тот же банковский счёт появляется несколько раз для разных контрагентов). Чтобы этого избежать, используйте в запросах конструкцию ВЫБРАТЬ РАЗЛИЧНЫЕ или настройте группировку в отчёте.

      FAQ: Ответы на частые вопросы

      Можно ли выгрузить контрагентов вместе с историей изменений (кто и когда вносил правки)?

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

      • Использовать Запрос к таблице РегистрСведений.ИзмененияОбъектов (если она ведётся в вашей конфигурации).
      • Настроить Бизнес-процессы или Задачи для отслеживания изменений.
      • Установить стороннюю обработку для аудита (например, "Журнал изменений" из каталога ).
      Как выгрузить контрагентов с их договорами и счетами в одном файле?

      Для этого подходит выгрузка через Универсальный обмен данными в формате XML или использование Запроса с конструкцией ОБЪЕДИНИТЬ. Пример запроса:

      ВЫБРАТЬ
      

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

      "" КАК ТипДанных,

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

      ИЗ

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

      ОБЪЕДИНИТЬ ВСЕ

      ВЫБРАТЬ

      Договоры.Контрагент КАК Контрагент,

      "Договор" КАК ТипДанных,

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

      ИЗ

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

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

      Почему при выгрузке в Excel теряются ведущие нули в ИНН/КПП?

      Excel по умолчанию интерпретирует длинные числа как числовые значения и обрезает ведущие нули. Чтобы этого избежать:

      • Перед выгрузкой отформатируйте колонку с ИНН/КПП как текстовый формат.
      • Используйте формат CSV вместо XLSX — в нём данные сохраняются "как есть".
      • Добавьте в начало ИНН апостроф (например, '0123456789), чтобы Excel воспринимал его как текст.
    Как автоматизировать выгрузку контрагентов по расписанию?

    Для автоматизации подходят:

    1. Регламентные задания в :
      • Создайте обработку с нужным кодом выгрузки.
      • Настройте регламентное задание в Администрирование → Регламентные задания.
      • Укажите расписание (например, ежедневно в 2:00).
  • Внешние скрипты:
    • Используйте Python с библиотекой py1c или PowerShell для запуска в фоновом режиме.
    • Пример команды для PowerShell:
      "C:\Program Files\1cv8\8.3.20.1500\bin\1cv8.exe" DESIGNER /S "C:\Bases\MyBase" /N "Администратор" /P "password" /Execute "C:\Scripts\ExportPartners.epf"
    • Для отправки файлов по email после выгрузки можно интегрировать с Почтовым клиентом или использовать SMTP.

  • Можно ли выгрузить контрагентов из 1С в МойСклад или Битрикс24?

    Да, для этого:

    1. В настройте выгрузку в формате JSON или XML (см. раздел 2).
    2. В МойСклад или Битрикс24 используйте стандартные инструменты импорта:
      • В МойСклад: Настройки → Импорт данных → Контрагенты.
      • В Битрикс24: CRM → Импорт и экспорт → Импорт данных.
    3. Сопоставьте поля из с полями в целевой системе (например, ИННINN, НаименованиеNAME).

    Для регулярной синхронизации можно использовать готовые коннекторы (например, "1С:Интеграция с Битрикс24" из каталога ).