Телефонный классификатор


Использование актуальных ABC/DEF кодов с сайта www.rossvyaz.ru в базах 1С

Конфигурация включает в себя регистр сведений и обработку. Позволяет:

  • Загружать актуальные коды ABC/DEF с сайта www.rossvyaz.ru в регистр сведений
  • Проверять корректность номера телефона по базе
  • Полученить название оператора и региона по номеру телефона

 

Разработку можно применить в любой системе CRM

При публикации на HTTP сервисе, можно с успехом использовать в Asterisk

 

Обработка загружает открытые данные на основании правил, изложенных на сайте:

http://www.rossvyaz.ru/opendata/

Дополнение, так как структура сайта изменилась, вот небольшой кусочек для парсинга сайта и заполнения ссылок на файлы:

//Скачиваем свежие файлы с сайта http://www.rossvyaz.ru
Соединение=Новый HTTPСоединение("www.rossvyaz.ru",443,,,,,Новый ЗащищенноеСоединениеOpenSSL);

//Скачаем страничку и распарсим адреса кодов
Рез=Соединение.Получить(Новый HTTPЗапрос("opendata/"));
Если Рез.КодСостояния<>200 Тогда
Сообщить("Не могу загрузить страницу ""https://www.rossvyaz.ru/opendata/""");
Возврат;
КонецЕсли;

РегулярноеВыражение="/opendata[w-/]+kody.{1,10}csv";

RegExp = Новый COMОбъект("VBScript.RegExp");// создаем объект для работы с регулярными выражениями
RegExp.MultiLine = Истина;  // истина — текст многострочный, ложь — одна строка
RegExp.Global = Истина;     // истина — поиск по всей строке, ложь — до первого совпадения
RegExp.IgnoreCase = Истина; // истина — игнорировать регистр строки при поиске
RegExp.Pattern = РегулярноеВыражение;    // шаблон (регулярное выражение)
Совпадения=RegExp.Execute(Рез.ПолучитьТелоКакСтроку(КодировкаТекста.UTF8));
МассивАдресов=Новый Массив;
Для Инд = 0 По Совпадения.Count()-1 Цикл
МассивАдресов.Добавить("https://www.rossvyaz.ru"+Совпадения.Item(Инд).Value);
КонецЦикла;

Если не МассивАдресов.Количество() Тогда
Сообщить("Не удалось найти ссылки на файлы классификатора", СтатусСообщения.Внимание);
Возврат;
КонецЕсли;

 

3 Comments

  1. efin
    В условиях действия услуги переноса мобильного абонентского номера привязка кода DEF (первых трех цифр номера телефона) к конкретному оператору уже перестала быть актуальной.

    Точно узнать оператора по номеру телефона можно только из тех сведений, которые хранятся в Центральной Базе данных перенесенных номеров, Оператором которой Распоряжением Правительства РФ от 9 октября 2013г. № 1832-р с 1 декабря 2013 года определено Федеральное государственное унитарное предприятие «Центральный научно-исследовательский институт связи».

    Reply
  2. spawn_a

    (1) efin, Да об этом не задумывался. Но при этом замечал, в данном реестре строчки с одним номером, как правило «золотым». Для проверки стоит взять любой номер, который был переведен на другого оператора недавно и проверить корректность данных в этом реестре. У меня к сожалению таких знакомых нет.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *