Дополнения: различия между версиями
Перейти к навигации
Перейти к поиску
McBurns (обсуждение | вклад) (Новая страница: «На этой странице вы можете найти дополнения, которые можно вставить в текст сценария, чт…») |
McBurns (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
На этой странице вы можете найти дополнения, которые можно вставить в текст сценария, чтобы изменить его работу. | На этой странице вы можете найти дополнения, которые можно вставить в текст сценария, чтобы изменить его работу. | ||
__TOC__ | |||
==Автоматическое определение порта модема Huawei при переподключении== | ==Автоматическое определение порта модема Huawei при переподключении== | ||
Версия 03:24, 30 сентября 2015
На этой странице вы можете найти дополнения, которые можно вставить в текст сценария, чтобы изменить его работу.
Автоматическое определение порта модема Huawei при переподключении
Это дополнение автоматически находит модем по уникальному IMEI в списке подключенных к компьютеру устройств и заменяет его параметрами данные из конфигурации. Приведённый ниже код надо вставить в начале текста сценария после строки:
var Device = new CDevice ();
Внимание! В коде нет обработки ошибок. Если она необходима, вам надо будет сделать её самим.
var FindDevice = new ActiveXObject("CallOffice.Device"); // Создаём экземпляр объекта Device
DeviceList = FindDevice.DeviceList (1).toArray (); // Получаем список устройств и передаём его в массив
for (var i in DeviceList) { // Перебираем полученные устройства
var Dev = DeviceList[i].toArray (); // Получаем атрибуты устройства из списка
if (Dev[1] == 7 && !Dev[5]) { // Если это модем Huawei и нет ошибки при обращении к нему
FindDevice.Open (Dev[3]); // Открываем текущее устройство
var Response = FindDevice.SendCommand ('ATI1<cr>'); // Получаем ответ на посланную в устройство команду ATI1<cr>
var SplitATIResult = /IMEI:\s([0-9]{15})/.exec (Response); // Извлекаем из ответа IMEI устройства
if (SplitATIResult) { // Если IMEI получен
var IMEI = SplitATIResult[1]; // Передаём его в переменную IMEI
if (IMEI == 'IMEI нужного вам модема') { // Проверяем на совпадение с нужным IMEI из 15 знаков
var DevConfig = Script.SelectConfig (undefined, 'Device'); // Получаем данные устройства из конфигурации
DevConfig.OpenString = Dev[3]; // Переопределяем
DevConfig.Name = Dev[4]; // параметры найденными
DevConfig.Id = Dev[3]; // по IMEI
FindDevice.Close (); // Закрываем устройство
break; // Выходим из цикла поиска нужного модема
}
}
FindDevice.Close (); // Закрываем устройство, если оно не оказалось нужным
}
}
FindDevice = null; // Уничтожаем экземпляр объекта Device