Выгрузка клиентской базы из 1С — стандартная задача для бухгалтеров, менеджеров по продажам и IT-специалистов, работающих с системой. Потребность в этом возникает при миграции на другую платформу, аналитике в Excel или Power BI, интеграции с CRM (например, Битрикс24 или amoCRM), а также для резервного копирования. Однако даже опытные пользователи сталкиваются с проблемами: несоответствие форматов, потеря данных при конвертации или ошибки при выгрузке больших объёмов.
В этой статье разберём 5 рабочих способов выгрузки клиентов из разных конфигураций 1С (Бухгалтерия 3.0, Управление торговлей 11, ERP 2.5, УНФ), включая ручные и автоматизированные методы. Особое внимание уделим выгрузке с сохранением истории взаимодействий (заказов, платежей, комментариев) — это критично для аналитики и переноса данных в другие системы. Также рассмотрим типичные ошибки и способы их обхода без программирования.
1. Выгрузка клиентов через стандартный отчёт «Список контрагентов»
Самый простой способ, доступный в большинстве конфигураций 1С — использование встроенного отчёта. Он подходит для разовой выгрузки небольшого количества клиентов (до 10 000 записей) в форматы .xlsx или .mxl.
Чтобы воспользоваться этим методом:
- 📌 Откройте раздел
Контрагенты(в УТ 11 —Партнёры → Контрагенты, в Бухгалтерии 3.0 —Справочники → Контрагенты). - 🔍 Примените фильтр, если нужны не все клиенты (например, по группе «Оптовые покупатели» или региону).
- 📊 Нажмите
Ещё → Отчёты → Список контрагентов. - 💾 В открывшемся окне выберите
Экспорт → ExcelилиСохранить как…для выгрузки в.mxl.
Преимущества метода: не требует прав администратора и работает даже в облачных версиях 1С. Однако есть ограничения:
- ❌ Не выгружаются дополнительные реквизиты (например, email или телефон, если они хранятся в отдельных полях).
- ❌ Нет возможности экспортировать историю заказов или платежей.
- ❌ В Excel могут «съехать» даты и числовые форматы (например, ИНН отобразится как
2.12345E+11).
Перед выгрузкой в Excel отключите в настройках 1С опцию «Использовать региональные настройки» (раздел «Администрирование → Настройки программы → Общие настройки»). Это предотвратит искажение форматов дат и чисел.
2. Выгрузка через «Универсальный обмен данными» (XML)
Если нужна выгрузка с сохранением структуры данных (включая дополнительные реквизиты и справочники), используйте универсальный обмен в формате XML. Этот метод подходит для интеграции с другими системами или переноса данных между базами 1С.
Пошаговая инструкция:
- Перейдите в
Администрирование → Обмен данными → Универсальный обмен данными. - Создайте новую настройку обмена, выбрав тип
XML. - В разделе
Объекты для обменаотметьте галочкойКонтрагентыи связанные справочники (например,Договоры,Контактные лица). - Укажите путь для сохранения файла (например,
C:\Export\Clients.xml). - Запустите выгрузку кнопкой
Выполнить обмен.
Результат — файл .xml с полной структурой данных, который можно импортировать в другую 1С или преобразовать в JSON/CSV с помощью скриптов. Например, для конвертации в Excel используйте Power Query:
= Xml.Tables(File.Contents("C:\Export\Clients.xml"))
Как исправить ошибку "Не найден объект метаданных" при выгрузке?
Эта ошибка возникает, если в настройках обмена указан несуществующий справочник или поле. Проверьте:
1. Соответствие названий объектов в настройках и в базе (например, "Контрагенты" vs "Партнёры").
2. Права доступа пользователя к выгружаемым справочникам.
3. Актуальность конфигурации (обновите платформу 1С до последней версии).
⚠️ Внимание: При выгрузке большого количества клиентов (более 50 000) разбейте процесс на партии по 10 000 записей, чтобы избежать зависания 1С. Используйте фильтр по алфавиту или дате создания.
3. Автоматическая выгрузка через обработки (для продвинутых пользователей)
Если стандартные методы не подходят (например, нужна выгрузка с кастомными полями или по расписанию), используйте внешние обработки. Их можно скачать с сайта 1С-ИТС или написать самостоятельно на встроенном языке.
Популярные обработки для выгрузки клиентов:
- 🔧 «Выгрузка в Excel» (от 1С-Рарус) — поддерживает шаблоны и выгрузку связанных данных (заказы, платежи).
- 🔄 «Обмен с CRM» — для интеграции с Битрикс24, amoCRM, Zoho.
- 📤 «Универсальная выгрузка в CSV» — позволяет настроить разделители и кодировку (важно для импорта в Google Sheets).
Пример кода для выгрузки клиентов в CSV (можно вставить в обработку):
Процедура ВыгрузитьКлиентовВCSV()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка,
| Контрагенты.Наименование КАК Наименование,
| Контрагенты.ИНН КАК ИНН,
| Контрагенты.КПП КАК КПП,
| Контрагенты.ЮрФизЛицо КАК ТипЛица
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ТекстCSV = "";
Разделитель = ";";
// Заголовки
ТекстCSV = ТекстCSV + "Ссылка" + Разделитель +
"Наименование" + Разделитель +
"ИНН" + Разделитель +
"КПП" + Разделитель +
"ТипЛица" + Символы.ПС;
// Данные
Пока Выборка.Следующий() Цикл
ТекстCSV = ТекстCSV + Выборка.Ссылка + Разделитель +
"""" + Выборка.Наименование + """" + Разделитель +
Выборка.ИНН + Разделитель +
Выборка.КПП + Разделитель +
Выборка.ТипЛица + Символы.ПС;
КонецЦикла;
ЗаписатьТекстВФайл(ТекстCSV, "C:\Export\Clients.csv", "UTF-8");
КонецПроцедуры
Для автоматической выгрузки по расписанию настройте регламентное задание в 1С:
- Перейдите в
Администрирование → Регламентные задания. - Создайте новое задание, выбрав обработку для выгрузки.
- Укажите расписание (например, ежедневно в 23:00).
- Сохраните и активируйте задание.
4. Выгрузка клиентов с историей заказов и платежей
Если нужна не только контактная информация, но и история взаимодействий (заказы, счета, платежи), используйте комплексную выгрузку через запросы или специализированные обработки. Этот метод актуален для миграции в CRM или аналитики продаж.
Пример запроса для выгрузки клиентов с последними 5 заказами:
ВЫБРАТЬ
Контрагенты.Наименование КАК Клиент,
Контрагенты.ИНН,
Заказы.Дата КАК ДатаЗаказа,
Заказы.СуммаДокумента КАК Сумма,
Заказы.Статус КАК СтатусЗаказа
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя КАК Заказы
ПО Контрагенты.Ссылка = Заказы.Контрагент
ГДЕ
Заказы.Дата > ДобавитьМесяц(ТекущаяДата(), -12)
УПОРЯДОЧИТЬ ПО
Контрагенты.Наименование,
Заказы.Дата УБЫВ
Для автоматизации используйте обработку «Выгрузка клиентов с историей» (доступна на Инфостарте). Она позволяет:
- 📅 Выгружать заказы за указанный период.
- 💰 Включать данные по оплатам и долгам.
- 📧 Сохранять комментарии менеджеров.
⚠️ Внимание: При выгрузке истории заказов учитывайте конфиденциальность данных. Если в комментариях содержатся персональные данные (паспортные данные, адреса), их необходимо анонимизировать перед передачей в третьи системы (например, заменить на хэш или удалить).
5. Выгрузка через ODBC и внешние инструменты (Power Query, Python)
Для продвинутых пользователей и интеграторов оптимальный способ — подключение к базе 1С через ODBC и выгрузка данных с помощью внешних инструментов: Power Query (в Excel), Python (библиотека pyodbc) или SQL.
Пошаговая инструкция для подключения через ODBC:
- Установите драйвер 1C:Предприятие 8. ODBC (скачать можно с сайта 1С).
- Создайте источник данных в
Панель управления → Администрирование → Источники данных ODBC. - В Excel перейдите на вкладку
Данные → Получить данные → Из других источников → Из ODBC. - Выберите созданный источник и введите запрос:
SELECTT1._Description AS Наименование,
T1._Fld230 AS ИНН,
T1._Fld231 AS КПП
FROM
_1SJOURN T1
WHERE
T1._Type = 2
Преимущества метода:
- ⚡ Быстрая выгрузка больших объёмов данных (миллионы записей).
- 🔧 Гибкая настройка выборки (можно объединять таблицы, применять фильтры).
- 🔄 Автоматизация через скрипты (например, еженедельный экспорт в Google BigQuery).
Пример скрипта на Python для выгрузки клиентов в CSV:
import pyodbc
import csv
Подключение к базе 1С
conn = pyodbc.connect(
"DRIVER={1C:Предприятие 8.3};"
"Server=localhost;"
"Ref=Контрагенты;"
"UID=Администратор;"
"PWD=пароль;"
)
cursor = conn.cursor()
cursor.execute("""
SELECT
_Description AS Наименование,
_Fld230 AS ИНН,
_Fld231 AS КПП
FROM _1SJOURN
WHERE _Type = 2
""")
Сохранение в CSV
with open('clients.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file, delimiter=';')
writer.writerow([i[0] for i in cursor.description]) # Заголовки
writer.writerows(cursor.fetchall())
conn.close()
⚠️ Внимание: При подключении через ODBC используйте тестовые копии базы, чтобы избежать блокировок рабочих данных. Также убедитесь, что пользователь 1С имеет права на чтение выгружаемых таблиц.
Сравнение методов выгрузки клиентов из 1С
| Метод | Сложность | Форматы | Сохранение истории | Автоматизация | Подходит для |
|---|---|---|---|---|---|
| Стандартный отчёт | ⭐ | Excel, MXL | ❌ Нет | ❌ Нет | Разовая выгрузка небольших объёмов |
| Универсальный обмен (XML) | ⭐⭐ | XML | ⚠️ Частично (только связанные справочники) | ✅ Да (через регламентные задания) | Интеграция с другими 1С, резервное копирование |
| Внешние обработки | ⭐⭐⭐ | Excel, CSV, JSON | ✅ Да (зависит от обработки) | ✅ Да | Выгрузка с кастомными полями, регулярный экспорт |
| ODBC + Power Query/Python | ⭐⭐⭐⭐ | CSV, Excel, SQL, JSON | ✅ Да | ✅ Да | Аналитика, миграция в CRM, работа с большими данными |
Для большинства задач достаточно стандартного отчёта или универсального обмена. Если нужна история заказов или автоматизация — используйте обработки или ODBC.
Типичные ошибки и способы их решения
При выгрузке клиентов из 1С пользователи сталкиваются с типичными проблемами. Вот самые распространённые и способы их устранения:
- 🔴 Ошибка «Нет прав на выгрузку»
Решение: Запросите у администратора 1С роль с правами наЧтениесправочникаКонтрагентыиЭкспорт данных. - 🔴 Пустой файл после выгрузки
Решение: Проверьте фильтры в отчёте или обработке. Возможно, нет записей, соответствующих условиям. - 🔴 Искажённые символы в Excel (кракозябры)
Решение: При сохранении укажите кодировкуUTF-8илиWindows-1251(в зависимости от версии 1С). - 🔴 Ошибка «Превышен лимит памяти» при выгрузке больших данных
Решение: Разбейте выгрузку на части (например, по алфавиту) или используйте ODBC.
Если при выгрузке через универсальный обмен возникает ошибка «Не найден объект метаданных», проверьте:
- Совпадение названий справочников в настройках обмена и в базе.
- Актуальность конфигурации (обновите платформу 1С).
- Права пользователя на доступ к выгружаемым объектам.
Убедитесь, что у пользователя есть права на экспорт|Проверьте свободное место на диске|Отключите антивирус (может блокировать создание файлов)|Сделайте резервную копию базы|Тестируйте выгрузку на небольшом объёме данных-->
FAQ: Частые вопросы по выгрузке клиентов из 1С
Можно ли выгрузить клиентов с историей звонков и писем?
В стандартных конфигурациях 1С история звонков и писем хранится в документах Задачи, ПисьмаOutlook или Взаимодействия (в УТ 11 или ERP). Для их выгрузки:
- Используйте обработку «Выгрузка взаимодействий» (доступна на Инфостарте).
- Настройте универсальный обмен с включением документа
Взаимодействие.
В Бухгалтерии 3.0 история звонков не хранится — её нужно выгружать из почтового клиента или CRM.
Как выгрузить клиентов с их геолокацией (адресами) для карт?
Адреса клиентов в 1С хранятся в реквизите Адрес или ЮрАдрес. Для выгрузки в формате, совместимом с Google Maps или 2ГИС:
- Используйте обработку «Выгрузка адресов в KML».
- Преобразуйте адреса в координаты с помощью сервисов геокодирования (например, Яндекс.Карты API или Google Geocoding).
Пример запроса для выгрузки адресов:
ВЫБРАТЬ
Контрагенты.Наименование,
Контрагенты.ЮрАдрес КАК Адрес
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
НЕ Контрагенты.ЮрАдрес = ""
Как автоматизировать выгрузку клиентов в Битрикс24?
Для интеграции с Битрикс24 используйте:
- Готовые обработки:
- «1С-Битрикс: Синхронизация» (от 1С-Битрикс).
- «Выгрузка в Битрикс24» (с Инфостарта).
Настройте обмен через web-hooks с использованием метода crm.contact.add. Пример кода на Python:
import requests
url = "https://ваш-портал.bitrix24.ru/rest/1/ваш-webhook/crm.contact.add"
data = {
"fields": {
"NAME": "Иванов",
"LAST_NAME": "Иван",
"PHONE": [{"VALUE": "+79991234567", "VALUE_TYPE": "WORK"}],
"SOURCE_ID": "1C" # Источник — 1С
}
}
response = requests.post(url, json=data)
Для автоматической синхронизации настройте регламентное задание в 1С с периодичностью 1–2 раза в день.
Как выгрузить клиентов из 1С:УНФ (Управление нашей фирмой)?
В 1С:УНФ выгрузка клиентов осуществляется через:
- Отчёт «Список контрагентов»:
Путь:
Контрагенты → Отчёты → Список контрагентов → Экспорт в Excel. - Универсальный обмен:
Путь:
Администрирование → Обмен данными → Универсальный обмен.В настройках обмена выберите объекты:
Контрагенты,ДоговорыКонтрагентов,КонтактнаяИнформация.
Особенность УНФ: в этом решении клиенты называются Партнёры, а не Контрагенты.
Можно ли выгрузить клиентов из облачной 1С?
Да, в облачной версии (1С:Fresh) доступны те же методы, что и в локальной:
- 📊 Отчёт «Список контрагентов» с экспортом в Excel.
- 🔄 Универсальный обмен (файл будет сохранён в облачное хранилище 1С).
Ограничения:
- ❌ Нет доступа к базе через ODBC.
- ❌ Нельзя устанавливать внешние обработки (только из каталога 1С).
Для автоматизации используйте 1С:Link или 1С:EDT.