Номера контрагентов из базы 1С в таблицу: список, отчёт и запрос

· 9 мин

Содержание

Самый надёжный способ выгрузить телефоны из 1С — запрос к таблице контактной информации справочника Контрагенты в консоли запросов. Результат выводится в табличный документ, а его сохраняют в Excel через Файл → Сохранить как с типом .xlsx. Если нужен регулярный выгрузочный отчёт для менеджеров, тот же запрос кладут в отчёт на СКД и подключают как дополнительный.

Типичная ситуация: отдел продаж просит «все номера клиентов в Экселе» к обеду. Бухгалтер открывает список контрагентов, жмёт «Вывести список » — и видит наименования и ИНН, а телефонов нет. Дело не в правах. Телефоны в базе 1С лежат отдельно от основных реквизитов, поэтому и выгружать их нужно другим путём.

Где база 1С хранит телефоны и зачем их выгружать

Задачи у всех похожие:

  • 📞 обзвон клиентов отделом продаж или колл-центром;
  • 📨 загрузка базы контрагентов в CRM, сервис рассылок или IP-телефонию;
  • 🧹 проверка качества справочника: у кого номер не заполнен, у кого записан с ошибкой;
  • 🔄 перенос клиентской базы в другую программу.

Теперь о том, почему телефона нет среди обычных колонок. В типовых конфигурациях на платформе 8.3 контактная информация (телефоны, адреса, e-mail, факсы) хранится в табличной части КонтактнаяИнформация самого объекта. У одного контрагента может быть сколько угодно строк: рабочий, мобильный, телефон бухгалтерии. Каждая строка — это пара «вид контактной информации + представление».

Отсюда два следствия:

  1. Телефон не является реквизитом в «шапке» карточки. Добавить его колонкой в список через настройку формы обычно нельзя.
  2. Если у контрагента три номера, в выгрузке будет три строки. Это нормально, склеить их можно уже в Excel.

Где искать номера в разных конфигурациях:

КонфигурацияЧьи телефоныСправочник с табличной частью контактной информации
Бухгалтерия предприятия 3.0организации-контрагентыКонтрагенты
Бухгалтерия предприятия 3.0сотрудники контрагентаКонтактныеЛица
Управление торговлей 11, КА 2, ERPклиенты и поставщикиПартнеры (основные контакты), Контрагенты
Управление торговлей 11, КА 2, ERPконтактные лица клиентовКонтактныеЛицаПартнеров
ЗУП 3.1работникиФизическиеЛица

В УТ 11 и ERP менеджеры обычно заполняют телефоны у партнёра, а не у юрлица-контрагента. Если запрос по Контрагенты вернул почти пустую таблицу — поменяйте справочник на Партнеры.

Выгрузка списка контрагентов в Excel без программирования

Самый простой путь доступен любому пользователю с правом вывода. Он подходит, если вам хватит тех колонок, что видны в списке.

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

Ограничение одно и существенное: «Вывести список» выводит только колонки формы списка. Телефона среди них в типовом БП 3.0 обычно нет. Поэтому этим способом удобно выгрузить наименования, ИНН и КПП — а номера подтягивать другими способами ниже.

Ещё один вариант для разовой задачи — карточки по одной. Открыли контрагента, скопировали номер с вкладки контактной информации. На десяти клиентах это терпимо. На трёхстах — нет.

Отчёт на СКД: выгрузка телефонов по кнопке

Если выгрузка нужна каждую неделю, лучше один раз сделать отчёт. Тогда менеджер сам формирует таблицу, ставит отборы и сохраняет её в Excel, не трогая консоль.

Универсальный отчёт

В БП 3.0 есть Отчеты → Универсальный отчет. В нём выбирают тип объекта «Справочник», сам справочник Контрагенты и источник данных. Через настройки отчёта добавляют поля и отборы, а результат сохраняют так же, через Файл → Сохранить как.

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

Свой внешний отчёт на СКД

Это работа для 1С-ника на 15–20 минут:

  1. В Конфигураторе: Файл → Новый → Внешний отчет.
  2. Создайте основную схему компоновки данных.
  3. Добавьте набор данных «Запрос» и вставьте текст запроса из следующего раздела.
  4. На вкладке «Настройки» добавьте группировку «Детальные записи» и выберите поля.
  5. Вынесите в пользовательские настройки отбор по виду контактной информации и по группе контрагентов.
  6. Сохраните файл .erf.

Подключение в БП 3.0: Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. Добавьте файл, укажите размещение в разделе и пользователей, которым он доступен.

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

Запрос в консоли: все номера контрагентов одним списком

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

Запрос только читает данные. Изменить что-то в базе он не может, поэтому выполнять его в рабочей базе безопасно.

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

Что делает каждая часть:

  • 📌 КИ.Тип = ...Телефон — оставляет только телефоны. Нужны и факсы — добавьте ИЛИ КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Факс) в скобках;
  • 🗑 НЕ КИ.Ссылка.ПометкаУдаления — убирает контрагентов, помеченных на удаление;
  • 📁 НЕ КИ.Ссылка.ЭтоГруппа — страховка от папок справочника;
  • 🏷 КИ.Вид — показывает, какой это номер: основной, мобильный и т. п.

После выполнения нажмите кнопку вывода результата в табличный документ (в разных версиях консоли она называется по-разному, но всегда находится над таблицей результата). Дальше — Файл → Сохранить как, тип .xlsx.

Варианты запроса под задачу

Телефоны контактных лиц (БП 3.0). Замените источник на Справочник.КонтактныеЛица.КонтактнаяИнформация. Чтобы увидеть, к какому контрагенту относится человек, раскройте ссылку в дереве полей конструктора запроса и найдите поле владельца — так надёжнее, чем угадывать имя реквизита.

Только покупатели за период. Соедините результат с документами реализации и оставьте контрагентов, у которых были отгрузки. Это удобно, если нужен список активных клиентов, а не все 5 000 записей справочника.

Контрагенты без телефона. Полезно для чистки справочника:

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

Не пишите запросы к таблицам СУБД напрямую — через SQL Server Management Studio или pgAdmin. Имена таблиц там служебные, контактная информация хранится в закодированных полях, а прямой доступ к базе в обход платформы нарушает условия лицензии и легко даёт неверный результат. Язык запросов 1С решает ту же задачу корректно.

Какой способ выгрузки телефонов выбрать

СпособКто сделаетТелефоны в выгрузкеКогда подходит
«Вывести список»любой пользовательобычно нетнужны наименования, ИНН, КПП
Копирование из карточеклюбой пользовательда, вручнуюдо 10–20 контрагентов
Универсальный отчётопытный пользовательзависит от релизаразовая выгрузка, если поля доступны
Запрос в консолибухгалтер с навыком или 1С-никда, все видыразовая выгрузка любого объёма
Внешний отчёт на СКД1С-никда, с отборамирегулярные выгрузки для менеджеров

Короткое правило: один раз и быстро — консоль. Каждую неделю и руками менеджеров — отчёт.

Какая у вас задача?

Очистка и форматирование номеров в Excel

Сырая выгрузка из 1С почти никогда не готова к загрузке в CRM. Номера записаны как попало: +7 (495) 123-45-67, 8 912 345 67 89, 495-123-45-67 доб. 204, а иногда два номера в одной ячейке через запятую.

Шаг 1. Защитите номера от «превращения в число»

Перед вставкой формул задайте колонкам с номерами текстовый формат. Иначе Excel отрежет ведущий плюс или покажет длинный номер в экспоненциальной записи.

Шаг 2. Уберите лишние символы

Если номер в ячейке E2, оставьте одни цифры формулой:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(E2;" ";"");"-";"");"(";"");")";"");"+";"")

Из +7 (495) 123-45-67 получится 74951234567 — ровно 11 цифр.

Шаг 3. Приведите к одному формату

Номера, начинающиеся с восьмёрки, переведите на семёрку (результат шага 2 — в F2):

=ЕСЛИ(ЛЕВСИМВ(F2;1)="8";"7"&ПСТР(F2;2;20);F2)

Из 89123456789 получится 79123456789. Десятизначные номера без кода страны дополните: =ЕСЛИ(ДЛСТР(G2)=10;"7"&G2;G2).

Шаг 4. Отловите мусор

  • 🔢 Отфильтруйте строки, где ДЛСТР не равна 11, — это номера с добавочными, опечатками или двумя номерами в ячейке;
  • 🔁 удалите дубли: Данные → Удалить дубликаты по колонке с очищенным номером;
  • 🧩 если CRM ждёт одну строку на клиента, соберите номера функцией ОБЪЕДИНИТЬ (в Excel 2019 и новее) или сводной таблицей.

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

Для больших таблиц (десятки тысяч строк) удобнее Power Query: Данные → Из таблицы/диапазона, затем замена значений и фильтры. Шаги сохраняются, и следующую выгрузку чистить заново не придётся — достаточно обновить запрос.

Персональные данные: что проверить перед передачей номеров

Телефон юрлица в карточке контрагента — это обычно рабочий номер организации. А вот мобильный номер ИП, физлица-покупателя или контактного лица — персональные данные по закону № 152-ФЗ.

Что из этого следует на практике:

  • 👤 передавать такие номера третьим лицам (колл-центру на аутсорсе, сервису рассылок) можно только при наличии правового основания, обычно — согласия человека или договора;
  • 📵 рекламные звонки и SMS по закону «О рекламе» допускаются только с предварительного согласия абонента — сам факт покупки его не заменяет;
  • 🔐 файл с номерами не отправляйте в открытые мессенджеры и не оставляйте на общих папках без ограничения доступа;
  • 🗂 выгружайте ровно те поля, что нужны задаче: для обзвона ИНН и адреса обычно лишние.

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

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

Почему в выгрузке у одного контрагента несколько строк?
У него несколько номеров: каждый хранится отдельной строкой контактной информации. Склейте их в Excel функцией ОБЪЕДИНИТЬ или сводной таблицей.
Можно ли выгрузить телефоны пользователю без прав администратора?
Через «Вывести список» — да, если у роли есть право вывода. Консоль запросов требует права открывать внешние обработки, отчёт на СКД — только доступа к дополнительному отчёту.
Как выгрузить телефоны из 1С в формате CSV?
В окне «Сохранить как» табличного документа выберите текстовый формат или сохраните .xlsx и пересохраните в CSV из Excel. Перед этим задайте колонке с номерами текстовый формат.
В 1С Бухгалтерии номеров мало, хотя менеджеры их вносили. Где остальные?
Проверьте, не записаны ли они у контактных лиц или в поле комментария карточки. В УТ 11 и ERP основные номера обычно хранятся у партнёров, а не у контрагентов.
Работает ли запрос в базе на сервере и в файловой?
Да. Язык запросов одинаков для файлового и клиент-серверного вариантов, текст менять не нужно.

Источники

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