Выгрузка телефонных номеров из 1С — типичная задача для маркетинговых отделов, колл-центров или аналитиков, которым нужны актуальные контакты клиентов. Однако этот процесс сопряжён с техническими ограничениями платформы, требованиями 152-ФЗ о защите персональных данных и внутренними политиками компании. В отличие от простого экспорта таблиц из Excel, работа с 1С:Предприятие требует знания структуры базы, прав доступа и часто — навыков программирования на встроенном языке.
В этой статье разберём 4 основных способа выгрузки телефонных номеров: от стандартных отчётов до написания собственных обработок. Особое внимание уделим легальным аспектам — без нарушения лицензионных соглашений и законов о конфиденциальности. Если вам нужны телефоны для SMS-рассылки или интеграции с CRM, здесь вы найдёте рабочие решения с учётом актуальных версий платформы (8.3.20+).
⚠️ Предупреждение: Несанкционированная выгрузка персональных данных может привести к штрафам до 300 000 рублей для компании и 50 000 рублей для ответственного сотрудника (ст. 13.11 КоАП РФ). Перед началом работ согласуйте действия с отделом безопасности или юристом.
1. Стандартные отчёты 1С: быстрый экспорт без программирования
Самый простой способ — использовать встроенные отчёты 1С:Управление торговлей, 1С:Бухгалтерия или 1С:ERP. Большинство конфигураций содержат готовые формы для выгрузки контактов контрагентов, клиентов или сотрудников. Например, в 1С:УТ 11 это отчёт "Справочник контрагентов" с возможностью экспорта в .xlsx или .mxl.
Чтобы найти нужный отчёт:
- 🔍 Откройте раздел
ОтчётыилиСервисв главном меню. - 📊 Введите в поиске ключевые слова:
"контакты","телефоны"или"справочник клиентов". - 📤 В настройках отчёта выберите поля для экспорта (обязательно включите
"Телефон","Мобильный","Электронная почта"). - 💾 Нажмите
"Выгрузить"и укажите формат (рекомендуемExcelдля дальнейшей обработки).
🔹 Ограничения метода:
- ❌ Не все конфигурации поддерживают экспорт телефонов "как есть" — иногда требуется предварительная настройка видимости полей.
- ❌ В выгрузку могут попасть дубли или устаревшие номера, если база не чистилась.
- ❌ Отсутствует гибкая фильтрация (например, только мобильные телефоны или номера с кодом +7).
2. Выгрузка через внешние обработки: гибкость и автоматизация
Если стандартные отчёты не подходят, используйте внешние обработки — готовые скрипты или самописные решения на встроенном языке 1С. Этот метод позволяет:
- 🎯 Точно фильтровать данные (например, только активные клиенты с мобильными телефонами).
- 🔄 Автоматизировать выгрузку по расписанию (через
Регламентные задания). - 📂 Сохранять данные в удобных форматах:
.csv,.jsonили напрямую в Google Sheets.
Пример кода для выгрузки телефонов контрагентов в CSV:
Процедура ВыгрузитьТелефоны()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Наименование КАК Клиент,
| Контрагенты.Телефон КАК Телефон,
| Контрагенты.МобильныйТелефон КАК Мобильный
|ИЗ
| Справочник.Контрагенты КАК Контрагенты";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
ТекстCSV = "Клиент;Телефон;Мобильный" + Символы.ПС;
Пока Выборка.Следующий() Цикл
ТекстCSV = ТекстCSV + Выборка.Клиент + ";" +
?(Выборка.Телефон = "", "", Выборка.Телефон) + ";" +
?(Выборка.Мобильный = "", "", Выборка.Мобильный) + Символы.ПС;
КонецЦикла;
ЗаписьФайла = Новый ЗаписьТекста();
ЗаписьФайла.Открыть("C:\Export\Telephones.csv", КодировкаТекста.UTF8);
ЗаписьФайла.Записать(ТекстCSV);
ЗаписьФайла.Закрыть();
Сообщить("Выгрузка завершена!");
КонецПроцедуры
🔹 Где взять готовые обработки:
- 🛒 Infostart — крупнейшая библиотека решений для 1С (есть бесплатные варианты).
- 📦 Пortal ИТС — официальные обработки от 1С (требуется подписка).
- 🤝 Заказать у партнёров 1С (средняя стоимость — от 3 000 рублей за простую выгрузку).
Убедиться в наличии прав на чтение справочника "Контрагенты"|
Создать резервную копию базы (через Конфигуратор или 1С:Администрирование)|
Проверить свободное место на диске (выгрузка больших баз требует до 2-3 ГБ)|
Согласовать формат файла с отделом, который будет использовать данные
-->
3. Прямой доступ к базе данных: SQL-запросы для опытных пользователей
Если у вас есть доступ к SQL-серверу (например, Microsoft SQL Server или PostgreSQL), можно выгрузить телефоны напрямую из таблиц 1С. Этот метод самый быстрый для больших баз (100 000+ записей), но требует знания структуры хранения данных.
🔹 Как найти таблицы с телефонами:
- Откройте
Конфигуратор 1С→Администрирование→Хранилище конфигурации. - Найдите справочник
"Контрагенты"(или"ФизическиеЛица", если нужны клиенты). - Посмотрите имя таблицы в свойствах справочника (например,
_Reference16). - Подключитесь к SQL-серверу через Management Studio и выполните запрос:
SELECT
T1._Description AS Клиент,
T1._Phone AS Телефон,
T1._MobilePhone AS Мобильный
FROM
_Reference16 T1
WHERE
T1._Phone <> '' OR T1._MobilePhone <> ''
⚠️ Внимание: Прямой SQL-запрос может повредить данные, если выполнить UPDATE или DELETE без резервной копии. Всегда тестируйте запросы на копии базы!
🔹 Преимущества метода:
- ⚡ Скорость: выгрузка 50 000 записей занимает менее минуты.
- 🔧 Гибкость: можно объединять данные из нескольких таблиц (например, телефоны + email + адрес).
🔹 Недостатки:
- 🔒 Требуются права администратора SQL-сервера.
- 📚 Нужно знать структуру базы (имена таблиц отличаются в разных конфигурациях).
- 🚫 Риск нарушить целостность данных при ошибке в запросе.
Как узнать имя таблицы для справочника в 1С 8.3
1. Откройте Конфигуратор → "Объекты метаданных".
2. Найдите нужный справочник (например, "Контрагенты").
3. В свойствах справочника посмотрите поле "Имя таблицы" (например, "_Reference16").
4. В SQL-запросе используйте это имя с префиксом "_1S" (например, "_1S_Reference16").
4. Интеграция с CRM или телефонией: автоматическая синхронизация
Если телефоны нужны для звонков или SMS-рассылок, целесообразно настроить автоматическую синхронизацию между 1С и внешними системами:
- 📞 Asterisk, Манго Телефония, Битрикс24.
- 📧 Unisender, SendPulse (для email/SMS).
- 🔄 Zapier или Make (ex-Integromat) для связки с Google Contacts.
🔹 Пример настройки синхронизации с Битрикс24:
- В 1С перейдите в
Администрирование → Интеграция → Настройки обмена. - Создайте новый обмен данными с типом
"HTTP-сервис". - Укажите URL вашего Битрикс24 (например,
https://yourdomain.bitrix24.ru/rest/1/abcdefghijklmnop/). - Настройте правила сопоставления полей:
Телефон 1С → PHONE [WORK]. - Запустите тестовый обмен и проверьте корректность данных в CRM.
💡 Полезный совет: Для двусторонней синхронизации используйте 1С:Коннектор или Универсальный обмен данными (УОД). Это позволит обновлять телефоны в 1С при изменении их в CRM.
Перед настройкой интеграции проверьте лимиты API внешней системы. Например, в Битрикс24 бесплатный тариф ограничивает 50 000 запросов в месяц, а в Манго Телефония — 1 000 звонков в день.
5. Обработка дублей и очистка данных перед выгрузкой
Выгруженные телефоны часто содержат дубли, некорректные форматы (например, +7(999)123-45-67 vs 89991234567) или устаревшие номера. Перед использованием данных рекомендуется:
🔹 Шаги очистки:
- Унификация форматов: Приведите все номера к виду
+79991234567с помощью формул Excel или скрипта на Python: - Удаление дублей: В Excel используйте
Данные → Удалить дубликаты. - Проверка актуальности: Отфильтруйте номера, которые не использовались более года (если в 1С ведётся история звонков).
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;"(";"");")";"");" ";"");"-";"")
🔹 Инструменты для автоматизации:
| Инструмент | Функционал | Стоимость |
|---|---|---|
| OpenRefine | Кластеризация дублей, нормализация форматов | Бесплатно |
| 1С:Документооборот | Встроенные правила очистки контактов | От 20 000 руб. |
| Python + pandas | Скрипты для массовой обработки (пример ниже) | Бесплатно |
| Atomic SMS Sender | Проверка номеров на валидность перед рассылкой | От 1 500 руб. |
🔹 Пример скрипта на Python для очистки телефонов:
import pandas as pd
import re
Загружаем данные из CSV
df = pd.read_csv('telephones.csv', sep=';')
Функция нормализации номера
def normalize_phone(phone):
if pd.isna(phone):
return ''
phone = str(phone)
phone = re.sub(r'[^0-9+]', '', phone) # Удаляем все кроме цифр и +
if phone.startswith('8'):
phone = '+7' + phone[1:] # Заменяем 8 на +7
elif phone.startswith('7'):
phone = '+' + phone
return phone
df['Телефон'] = df['Телефон'].apply(normalize_phone)
df['Мобильный'] = df['Мобильный'].apply(normalize_phone)
Удаляем дубли по номеру
df = df.drop_duplicates(subset=['Телефон', 'Мобильный'])
Сохраняем результат
df.to_csv('telephones_clean.csv', sep=';', index=False)
Очистка данных перед выгрузкой сокращает расходы на SMS-рассылки на 15–30% за счёт удаления неактуальных и дублирующихся номеров.
6. Юридические аспекты: как не нарушить 152-ФЗ
Выгрузка телефонных номеров регулируется Федеральным законом № 152-ФЗ "О персональных данных". Согласно ему, персональные данные (включая телефоны) можно обрабатывать только при соблюдении следующих условий:
🔹 Требования к обработке:
- 📜 Согласие субъекта: У вас должны быть доказательства, что клиенты соглашались на обработку своих данных (например, галочка в договоре или на сайте).
- 🔒 Цель обработки: Телефоны можно использовать только для заявленных целей (например, если согласие было на SMS-рассылки, нельзя звонить с предложением купить товар).
- 🗄️ Хранение: Данные должны храниться не дольше, чем требуется для цели обработки (например, если клиент не пользовался услугами 3 года, его номер нужно удалить).
- 🛡️ Защита: Файлы с телефонами должны храниться в защищённом виде (пароль на архив, ограничение доступа).
⚠️ Внимание: Если вы выгружаете телефоны для холодных звонков или рекламных рассылок, обязательно:
- Проверьте, что номера не внесены в реестр запрещённых рассылок (РСОЦ).
- Предоставьте клиентам возможность отписаться от рассылок (обязательно по 152-ФЗ).
- Храните лог согласий на обработку данных (на случай проверки Роскомнадзора).
🔹 Штрафы за нарушения:
| Нарушение | Штраф для компании (руб.) | Штраф для должностного лица (руб.) |
|---|---|---|
| Обработка без согласия | до 300 000 | до 50 000 |
| Необеспечение безопасности данных | до 100 000 | до 20 000 |
| Невыполнение требования об удалении данных | до 200 000 | до 30 000 |
Если выгружаете телефоны для партнёров или подрядчиков, заключите с ними соглашение о конфиденциальности (NDA) и укажите в нём цели передачи данных.
7. Альтернативные способы: когда выгрузка из 1С невозможна
В некоторых случаях выгрузить телефоны напрямую из 1С не получится:
- 🔐 У вас нет прав доступа к базе.
- 📛 Конфигурация сильно кастомизирована, и стандартные методы не работают.
- 🚫 Политика компании запрещает выгрузку персональных данных.
🔹 Что делать в таких случаях:
- 📊 Использовать отчёты из связанных систем: Если 1С интегрирована с CRM (например, АмоCRM или Битрикс24), экспортируйте телефоны оттуда.
- 📞 Запросить данные у отдела продаж: Часто менеджеры ведут собственные таблицы с контактами клиентов.
- 🔄 Настроить API-обмен: Попросите администратора 1С создать
HTTP-сервис, который будет возвращать телефоны по запросу (без прямой выгрузки). - 📝 Ручной ввод: Для небольших баз (до 1 000 клиентов) можно скопировать телефоны вручную через интерфейс 1С.
🔹 Пример запроса к API 1С для получения телефонов (JSON):
POST /hs/PhoneExport/ HTTP/1.1
Host: your-1c-server.ru
Content-Type: application/json
Authorization: Basic base64encodedAuth
{
"filter": {
"dateFrom": "2023-01-01",
"dateTo": "2023-12-31",
"onlyActive": true
},
"fields": ["Name", "Phone", "MobilePhone"]
}
⚠️ Внимание: Если вы используете облачную версию 1С (например, 1С:Фреш), прямая выгрузка данных может быть ограничена условиями лицензии. Уточните возможности у вашего провайдера.
FAQ: Частые вопросы о выгрузке телефонов из 1С
❓ Можно ли выгрузить телефоны из 1С:Зарплата и Кадры для рассылки сотрудникам?
Да, но только если:
- Сотрудники дали согласие на обработку персональных данных (обычно это прописано в трудовом договоре).
- Рассылка связана с трудовыми отношениями (например, уведомления о зарплате, корпоративные мероприятия).
- Вы не передаёте данные третьим лицам.
Для выгрузки используйте отчёт "Список сотрудников" с полем "Личный мобильный телефон".
❓ Как выгрузить телефоны с историей звонков из 1С:CRM?
В 1С:CRM история звонков хранится в документах "Задача" или "Взаимодействие". Чтобы выгрузить её:
- Перейдите в раздел
CRM → Взаимодействия. - Сформируйте отчёт по звонкам с группировкой по контрагенту.
- Экспортируйте в
Excelи отфильтруйте столбец с телефонами.
Для автоматизации можно использовать обработку с запросом:
ВЫБРАТЬ
Взаимодействия.Контрагент КАК Клиент,
Взаимодействия.Телефон КАК Номер,
МАКСИМУМ(Взаимодействия.Дата) КАК ПоследнийЗвонок
ИЗ
Документ.Взаимодействие КАК Взаимодействия
ГДЕ
Взаимодействия.Телефон <> ""
СГРУППИРОВАТЬ ПО
Взаимодействия.Контрагент,
Взаимодействия.Телефон
❓ Почему при выгрузке телефоны отображаются в виде чисел (например, 79991234567E+11)?
Это ошибка формата ячеек в Excel. Чтобы исправить:
- Выделите столбец с телефонами.
- Нажмите правой кнопкой →
Формат ячеек→ выберитеТекстовый. - Если данные уже испорчены, используйте формулу:
=ТЕКСТ(A2;"0").
Чтобы избежать проблемы, при экспорте из 1С выбирайте формат CSV вместо XLSX.
❓ Можно ли выгрузить телефоны из 1С:Розница для SMS-рассылки акций?
Да, но с оговорками:
- Убедитесь, что клиенты давали согласие на SMS-рассылки (например, при оформлении карты лояльности).
- Используйте поле
"Согласие на рассылку"в карточке клиента как фильтр. - В SMS обязательно укажите способ отписки (например, "Отписаться: STOP на 1234").
Для выгрузки подходит отчёт "Справочник клиентов" с фильтром по дате последней покупки (например, активные клиенты за последний год).
❓ Как защитить выгруженные телефоны от утечки?
Минимальные меры безопасности:
- 🔐 Храните файл в зашифрованном архиве (например, 7-Zip с паролем).
- 👥 Ограничьте доступ к файлу (например, только для менеджеров отдела продаж).
- 🗑️ Удалите файл после использования (если данные больше не нужны).
- 📋 Ведите журнал доступа к персональным данным (кто и когда работал с файлом).
Для компанией с более чем 100 сотрудниками рекомендуется использовать DLP-системы (например, InfoWatch или SearchInform).