Поиск владельца по части номера телефона /не менее 6 цифровых символов/ в БП, ЗУП и Альфа5

21.06.16

Задачи пользователя - Поиск данных

После очередной SMS рассылки звонит клиент и очень просит удалить его номер телефона из последующих рассылок. Он не представляется и возникает необходимость найти его по номеру телефона для пометки, предотвращающей попадание его номера в последующие рассылки. Иногда коллеги тебе сообщают: звонил клиент и оставил свой номер телефона.  В этих случаях поможет отчет который найдет владельца по номеру телефона в базах 1С на платформе v8  в "Альфа-Авто 5", БП, ЗиУП /ЗУП/. Отчеты предназначены для поиска Владельца по телефонному номеру или части телефонного номера - не менее 6 последних цифр. Можно копи-пастить номер для поиска в текстовом формате в месте с мусором: "/", "\", "(", ")", "-", "." и т.д. Отчет для БП и ЗУП работает в толстом клиенте и на управляемых формах в БП 3.0 /на УФ в ЗУП не тестил/.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ВладелецТелефонаАльфа
.erf 10,44Kb ver:1
2 2 500 руб. Купить
ВладелецТелефонаБухЗУП
.erf 9,30Kb ver:1
2 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

 Можно банально искать номер запросом из "Консоли запросов" /пример для Альфы5"/:

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


/для бухгалтерии и ЗУП строку "Поле5" заменить на "Представление"/
Проблема в том, что нужно точно угадать в каком формате записан номер: +7(***)***-**-** или ***-**-**
или 8(***)***-**-** или +7(****)**-**-** или 8(   )******.**.** и т.д.
Можно ввести жесткий формат для записи номеров телефонов, а как быть с уже записанными 10тыс. номерами?
Самый точный поиск: выбрать все номера с владельцами, перевести номера в только цифровой формат и искать по этой супер таблице текущий номер/кусок номера/. Но это будет очень не быстро. Если допустить незначительную погрешность /когда номер в базе записан в нетрадиционном формате, например: *.**.**.* и т.д./
то можно искать номер на входящие в него цифровые блоки. например: блок1="***" , блок2="**" , блок3="**" и т.д.
В этом случае скорость поиска значительно увеличится.  Для поиска, у введенного номера будут удалены "+7" и первая "8" если номер начинается на "88". Выделяются цифровые символы и они разбиваются на блоки поиска. Должно остаться не менее 6 цифровых символов номера. Т.е. 6 последних цифр будет достаточно для поиска.
В модуле объекта /для Альфы5/ есть закомментированный пример вытягивания номера из внешнего источника /объект конфигурации "Внешний источник"/. Найденые косяки в личку.

Вступайте в нашу телеграмм-группу Инфостарт

телефон Альфа БП ЗУП ЗиУП