В процессе работы с конфигурацией «1С:Управление торговлей 11» часто возникает задача получения реестра контрагентов с их контактными данными, в частности, номерами телефонов. Это может потребоваться для проведения маркетинговых рассылок, актуализации базы или переноса данных в CRM-систему. В данной статье мы подробно разберем несколько способов решения этой задачи: от использования консоли запросов до стандартных отчетов системы.
Одним из самых гибких способов получения данных является использование консоли запросов. Этот инструмент позволяет обратиться напрямую к базе данных и извлечь только нужные поля. Стоит учитывать, что многие старые версии консоли запросов требуют запуска системы в режиме Толстого клиента.
Для начала разберем, как переключить программу в нужный режим. Проанализируем алгоритм действий:
Альтернативный способ запуска для системных администраторов — создание специального ярлыка с параметром запуска. Рассмотрим пример строки запуска:
"C:\Program Files (x86)\1cv8\8.3.10.2667\bin\1cv8.exe" enterprise /AppAutoCheckVersion /RunModeOrdinaryApplication
После запуска программы откройте консоль запросов через меню Файл — Открыть. Теперь нам необходимо составить правильный текст запроса. В «УТ 11» контактная информация хранится в подчиненной табличной части. Выясним, какой код нам поможет собрать данные.
Рассмотрим вариант запроса, который собирает наименование, ИНН, КПП и само представление телефона:
ВЫБРАТЬ
КонтрагентыКИ.Ссылка.Наименование КАК Наименование,
КонтрагентыКИ.Ссылка.ИНН КАК ИНН,
КонтрагентыКИ.Ссылка.КПП КАК КПП,
КонтрагентыКИ.Представление КАК Представление
ИЗ
Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКИ
ГДЕ
КонтрагентыКИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон)
УПОРЯДОЧИТЬ ПО
Наименование
В этом запросе мы обращаемся к табличной части КонтактнаяИнформация справочника Контрагенты. Фильтр ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) гарантирует, что мы получим только телефонные номера, исключая адреса электронной почты и физические адреса.
Иногда требуется более гибкая настройка, например, если мы хотим получить данные только по определенному виду телефона (например, «Рабочий телефон»). В этом случае проанализируем запрос с левым соединением, который позволит вывести даже тех контрагентов, у которых телефон не заполнен:
ВЫБРАТЬ
Контрагенты.Ссылка КАК Ссылка,
Контрагенты.ИНН КАК ИНН,
Телефоны.Представление КАК НомерТелефона
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ
Справочник.Контрагенты.КонтактнаяИнформация КАК Телефоны
ПО
Контрагенты.Ссылка = Телефоны.Ссылка
И Телефоны.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)
Обратите внимание на использование ЛЕВОЕ СОЕДИНЕНИЕ. Это важно: если использовать обычное соединение, то контрагенты без указанных телефонов вообще не попадут в итоговый список. Использование ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента) позволяет избежать ошибки «Не задано значение параметра», которая часто возникает у начинающих пользователей.
Если вы не хотите использовать консоль запросов, в программе «1С:Управление торговлей 11» предусмотрен стандартный отчет. Разберем, как его найти и настроить:
Главное меню — Файл — Сохранить как.Посмотрим на ситуацию, когда стандартный отчет по контактной информации не подходит по структуре. В этом случае нам поможет «Универсальный отчет». Это мощный инструмент, позволяющий строить отчеты по любым метаданным системы.
Настроим его по шагам:
Объект (наименование контрагента), Вид и Представление.Тип РАВНО Телефон.В современных версиях «1С:Управление торговлей 11» реализована концепция разделения сущностей. Разберем разницу, так как это критично для выгрузки данных:
В зависимости от настроек вашей программы, контактная информация (телефоны) может храниться либо в справочнике Партнеры, либо в справочнике Контрагенты. Если при выгрузке из справочника контрагентов вы видите пустые колонки, попробуйте изменить объект выгрузки на справочник Партнеры. Запрос в консоли при этом будет выглядеть аналогично, но вместо Справочник.Контрагенты.КонтактнаяИнформация следует использовать Справочник.Партнеры.КонтактнаяИнформация.
Какой бы метод вы ни выбрали (консоль запросов, универсальный отчет или стандартный список), финальным шагом будет сохранение данных. Посмотрим, как это сделать правильно:
Важный совет: Если вы используете консоль запросов, поле Представление в табличной части контактной информации — это именно текстовая строка телефона, как её ввел пользователь. Если вам нужны только цифры для автоматизированных систем, проанализируйте поле Номер телефона в той же таблице, оно часто содержит очищенные от лишних знаков данные.