Дополнения: различия между версиями
Перейти к навигации
Перейти к поиску
McBurns (обсуждение | вклад) |
McBurns (обсуждение | вклад) |
||
Строка 6: | Строка 6: | ||
var Device = new CDevice (); | var Device = new CDevice (); | ||
<syntaxhighlight lang="javascript"> | <syntaxhighlight lang="javascript"> | ||
var FindDevice = new ActiveXObject("CallOffice.Device"); | var FindDevice = new ActiveXObject("CallOffice.Device"); // Создаём экземпляр объекта Device | ||
DeviceList = FindDevice.DeviceList (1).toArray (); // Получаем список устройств и передаём его в массив | |||
DeviceList | for (var i in DeviceList) { // Перебираем полученные устройства | ||
var Dev = DeviceList[i].toArray (); // Получаем атрибуты устройства из списка | |||
if (Dev[1] == 7 && !Dev[5]) { // Если это модем Huawei и нет ошибки при обращении к нему | |||
try { | |||
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; // Выходим из цикла поиска нужного модема | |||
} | |||
} | } | ||
} | } | ||
catch (Err) { // Выводим сообщение об ошибке открытия модема | |||
FindDevice.Close (); | |||
Script.InLogInfo ('Ошибка проверки модема ' + Dev[4] + '. ' + Err.description); | |||
} | |||
FindDevice.Close (); // Закрываем устройство, если оно не оказалось нужным | |||
} | } | ||
} | } | ||
FindDevice = null; | FindDevice = null; // Уничтожаем экземпляр объекта Device | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия 09: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 и нет ошибки при обращении к нему
try {
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; // Выходим из цикла поиска нужного модема
}
}
}
catch (Err) { // Выводим сообщение об ошибке открытия модема
Script.InLogInfo ('Ошибка проверки модема ' + Dev[4] + '. ' + Err.description);
}
FindDevice.Close (); // Закрываем устройство, если оно не оказалось нужным
}
}
FindDevice = null; // Уничтожаем экземпляр объекта Device