Конфигурация включает в себя регистр сведений и обработку. Позволяет:
- Загружать актуальные коды 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);
КонецЦикла;
Если не МассивАдресов.Количество() Тогда
Сообщить("Не удалось найти ссылки на файлы классификатора", СтатусСообщения.Внимание);
Возврат;
КонецЕсли;