gifts2017

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

Опубликовал Константин Яремчук (nucha) в раздел Администрирование - Поиск данных

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

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

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


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

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ВладелецТелефонаАльфа
.erf 10,44Kb
11.05.16
0
.erf 1 10,44Kb 0 Скачать
ВладелецТелефонаБухЗУП
.erf 9,30Kb
11.05.16
0
.erf 1 9,30Kb 0 Скачать

См. также

Автор запретил комментарии