Выгрузка контрагентов из 1С в Excel, CSV и XML: пять рабочих способов

· 10 мин

Содержание

Самый быстрый способ скачать базу клиентов из 1С — открыть список контрагентов, нажать Ещё → Вывести список..., отметить нужные колонки и сохранить полученную таблицу как файл .xlsx. В Бухгалтерии 3.0 список лежит в разделе Справочники → Контрагенты. На всё уходит пара минут, программист не нужен.

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

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

Мусор в справочнике переедет в файл вместе с клиентами. Десять минут на подготовку избавят от ручной чистки в Excel.

🔍 Что посмотреть:

  • Помеченные на удаление. Они видны в списке перечёркнутыми. Отфильтруйте их или включите в выгрузку отдельной колонкой, чтобы потом убрать.
  • Группы. Если справочник иерархический, Вывести список выведет и строки-группы («Покупатели», «Поставщики»). Переключите список в режим без иерархии или удалите группы в Excel.
  • Дубли. Один и тот же клиент, заведённый дважды с разным написанием. Проверьте их по ИНН: отсортируйте список по этой колонке, совпадения встанут рядом. В типовых конфигурациях есть обработка «Поиск и удаление дублей» в разделе Администрирование.
  • Пустые ИНН и КПП. Если файл нужен для сверки или загрузки в другую программу, без ИНН строки не сопоставятся.

👥 Кто клиент, а кто нет. В Бухгалтерии 3.0 покупатели и поставщики лежат в одном справочнике. Отдельного признака «клиент» там нет. Отобрать покупателей можно по группе (если справочник так разбит) или по факту продаж — об этом ниже, в разделе про запросы.

В Управлении торговлей 11 устроено иначе: есть справочник «Партнёры» (с кем работаем) и «Контрагенты» (юрлица и ИП, с которыми заключаются договоры). У партнёра стоят флажки «Клиент», «Поставщик». Для базы клиентов в УТ выгружайте партнёров с флажком «Клиент», а реквизиты подтягивайте из связанных контрагентов.

🔐 Права. Чтобы сохранить список в файл, у пользователя должно быть право платформы «Вывод». Если команда Вывести список... не активна или таблица не сохраняется — это вопрос к администратору базы, а не ошибка программы.

Способ 1. Скачать список клиентов из 1С в Excel за пару минут

Этот способ подходит, когда нужны наименования, ИНН, КПП и то, что уже видно в колонках списка.

  1. Откройте список контрагентов (Справочники → Контрагенты в Бухгалтерии 3.0).
  2. При необходимости наложите отбор: по группе, по пометке удаления, через строку поиска.
  3. Нажмите Ещё → Вывести список....
  4. В окне отметьте колонки, которые нужны в файле. Формат вывода — «Табличный документ».
  5. Нажмите «ОК». Откроется таблица с данными.
  6. Сохраните её: кнопка с дискетой или Ctrl+S. В поле типа файла выберите «Лист Excel 2007-…» (.xlsx).

💡 Колонок не хватает? Добавьте их в сам список: Ещё → Изменить форму... и отметьте нужные поля. После этого они появятся и в окне Вывести список.

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

ИНН в Excel может превратиться в число и потерять ведущий ноль, а длинные значения — уйти в экспоненту вида 7,7E+09. Перед вставкой задайте колонке формат «Текстовый» или сохраняйте сразу в .xlsx из 1С: там значения остаются строками.

Способ 2. Выгрузка базы клиентов с телефонами и email через отчёт

Контактная информация в 1С хранится не в колонках справочника, а в отдельной табличной части. Поэтому в обычный список телефоны и почта часто не попадают. Здесь помогает «Универсальный отчёт», он есть в разделе Отчеты Бухгалтерии 3.0.

  1. Откройте «Универсальный отчёт».
  2. Выберите тип объекта «Справочник» и объект «Контрагенты».
  3. Откройте настройки отчёта (кнопка «Настройки») и перейдите в расширенный режим.
  4. На вкладке полей добавьте нужные реквизиты: наименование, ИНН, КПП, полное наименование.
  5. Раскройте реквизит «Контактная информация» и добавьте поля представления телефона, email, адреса.
  6. На вкладке отборов исключите помеченные на удаление и группы.
  7. Сформируйте отчёт и сохраните его в .xlsx так же, как в способе 1.

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

Способ 3. Консоль запросов: клиенты с контактами и суммой продаж

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

Пример запроса для Бухгалтерии 3.0. Он выводит контрагентов с телефоном и email:

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

Если у клиента два телефона и две почты, строка размножится: 2 × 2 = 4 строки на одного контрагента. Чтобы этого избежать, выгружайте телефоны и email отдельными запросами или сверните дубли в Excel по ИНН.

Как оставить только тех, кто покупал. В Бухгалтерии 3.0 удобно опереться на документы «Реализация (акт, накладная, УПД)». Добавьте в условие:

И К.Ссылка В
    (ВЫБРАТЬ РАЗЛИЧНЫЕ Р.Контрагент
     ИЗ Документ.РеализацияТоваровУслуг КАК Р
     ГДЕ Р.Проведен
        И Р.Дата МЕЖДУ &НачалоПериода И &КонецПериода)

Параметры периода задаются в консоли на вкладке параметров. Так получится список активных клиентов, скажем, за последние 12 месяцев, без поставщиков и «спящих» контрагентов.

Результат запроса консоль выводит в табличный документ. Дальше — сохранение в .xlsx, как в первом способе.

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

Способ 4. Универсальные обработки: перенос клиентов в другую базу 1С

Если цель — не таблица для людей, а перенос справочника в другую базу 1С, Excel не лучший посредник. Он теряет ссылки, типы данных и контактную информацию в исходной структуре. Для переноса используют XML.

📦 Какие инструменты есть:

  • «Выгрузка и загрузка данных XML». Внешняя обработка с диска ИТС. Выгружает выбранные объекты в XML и загружает их в базу с такой же конфигурацией. Отметьте справочник «Контрагенты», при необходимости — связанные объекты (банковские счета, договоры), и выгрузите.
  • «Универсальный обмен данными в формате XML». Работает по правилам обмена, которые готовят в конфигурации «Конвертация данных ». Нужен, когда базы разные: например, перенос клиентов из УТ в Бухгалтерию.
  • Синхронизация данных. Если между базами уже настроен типовой обмен (раздел Администрирование → Синхронизация данных), клиенты переходят сами, и отдельная выгрузка не нужна.

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

Сравнение форматов: Excel, CSV, MXL или XML

Формат выбирают под задачу, а не по привычке. Короткая шпаргалка:

ФорматДля чего подходитЧто теряетсяОткуда взять
.xlsxРассылки, CRM, работа менеджеровСвязи между объектами, типыСохранение табличного документа
.csv / .txtЗагрузка в сервисы и самописные системыФорматирование; риск сбоя кодировкиТабличный документ, скрипт
.mxlПередать коллеге с 1С, сохранить «как есть»Ничего, но открывается только в 1ССохранение табличного документа
.xmlПеренос в другую базу 1СЧитать глазами неудобноОбработки выгрузки
JSON (OData)Интеграция с сайтом, CRM, BIНужна веб-публикация базыСтандартный интерфейс OData

Сервис просит CSV и показывает кракозябры вместо кириллицы? Пересохраните файл в кодировке UTF-8. Сам Excel при открытии CSV лучше понимает UTF-8 с BOM — скрипт ниже пишет именно так.

Для чего вам база клиентов?

Способ 5. Автоматическая выгрузка клиентов из 1С скриптом

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

COM-соединение

Компонента V83.COMConnector позволяет внешней программе на Windows открыть базу и выполнить запрос. Подготовка:

  1. Зарегистрируйте компоненту от имени администратора. Путь к своей версии платформы подставьте сами:
    regsvr32 "C:\Program Files\1cv8\8.3.24.1342\bin\comcntr.dll"
    
  2. Заведите в базе отдельного пользователя только с правами на чтение нужных данных.
  3. Проверьте разрядность: 64-битный Python работает с 64-битной платформой, 32-битный — с 32-битной.

Пример на Python (нужен пакет pywin32). Псевдонимы полей в запросе латинские — так проще обращаться к ним из скрипта:

import csv
import win32com.client

v8 = win32com.client.Dispatch("V83.COMConnector")
# файловая база; для серверной: 'Srvr="srv1c";Ref="buh";Usr=...;Pwd=...;'
conn = v8.Connect('File="C:\\Bases\\Buh";Usr="Vygruzka";Pwd="********";')

q = conn.NewObject("Query")
q.Text = """
ВЫБРАТЬ К.Наименование КАК Name, К.ИНН КАК Inn, К.КПП КАК Kpp
ИЗ Справочник.Контрагенты КАК К
ГДЕ НЕ К.ЭтоГруппа И НЕ К.ПометкаУдаления
"""
sel = q.Execute().Select()

with open("clients.csv", "w", newline="", encoding="utf-8-sig") as f:
    w = csv.writer(f, delimiter=";")
    w.writerow(["Наименование", "ИНН", "КПП"])
    while sel.Next():
        w.writerow([sel.Name, sel.Inn, sel.Kpp])

Скрипт ставят в планировщик заданий Windows. Каждое подключение занимает лицензию, как обычный сеанс, — держите это в уме, если лицензий впритык.

Пароль в открытом виде в скрипте — уязвимость. Храните его в переменной окружения или в защищённом хранилище и выдавайте пользователю выгрузки минимальные права.

OData для веб-интеграций

Если база опубликована на веб-сервере, справочник можно читать по HTTP без COM и без Windows на стороне клиента. Состав доступных объектов задают в разделе Администрирование → Синхронизация данных, через настройку стандартного интерфейса OData: отметьте там справочник «Контрагенты». Запрос выглядит так:

http://server/buh/odata/standard.odata/Catalog_Контрагенты?$format=json

Ответ приходит в JSON, его забирает CRM, сайт или BI-система. Доступ проверяется по логину и паролю пользователя 1С.

Ошибки при выгрузке и как их избежать

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

Отдельно о законе. Если среди клиентов есть ИП и физлица, их ФИО, телефоны и адреса — персональные данные. Передача файла третьим лицам, например внешнему колл-центру, требует законного основания по закону № 152-ФЗ. Не отправляйте такие файлы по открытой почте и не оставляйте в общих папках.

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

Можно ли выгрузить клиентов из 1С, если нет прав администратора?
Да. Для способов 1 и 2 достаточно права на чтение справочника и права «Вывод». Администратор нужен только для внешних обработок и COM.
Сколько контрагентов можно выгрузить за один раз?
Жёсткого ограничения нет. Десятки тысяч строк табличный документ выводит без проблем, а для сотен тысяч надёжнее запрос и выгрузка скриптом в CSV.
Как выгрузить клиентов из облачной 1С (1С:Фреш, 1С:Готовое рабочее место)?
Способы 1 и 2 работают так же, файл сохраняется на ваш компьютер через браузер или тонкий клиент. COM в облаке недоступен, а внешние обработки разрешены не всегда.
Попадут ли в выгрузку банковские счета клиентов?
В список контрагентов — нет: это отдельный справочник. Добавьте его в запрос соединением по владельцу счёта или выгрузите отдельно.
Можно ли потом загрузить исправленный Excel обратно в 1С?
Да, в типовых конфигурациях есть загрузка данных из файла в справочник. Перед загрузкой сделайте копию базы и проверьте сопоставление по ИНН, чтобы не создать дубли.

Источники

  • Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных»