(3)
1 - управляемые формы работают в линухе и веб-клиенте
2 - внешняя компонента (она же ROM-Asterisk.dll) написана с помощью COM-технологии
3 - внешняя компонента не работает в веб-клиенте и в линухе тоже, потому что она COM
(4) В таком случае принципиальных отличий от прочих разработок на эту тему не вижу. Серьезное ограничение - работа только в винде. Плюса не заслуживает.
Беру демо конфу - все работает. Встраиваю в свою (самописная) через сравнение и объединение и вылетает на Функция Login(Логин,Пароль), а именно при выполнении Если глТелефония.Подключено=1 Тогда
// Авторизация в Asterisk Manager API
//
// Возвращаемое значение: 1-команда отправлена, 0-нет
//
&НаКлиенте
Функция Login(Логин,Пароль)
// ДокументОбъект = РеквизитФормыВЗначение("Объект");
Если ПустаяСтрока(Логин) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Login(). Не указан параметр <Логин>";
Сообщение.Сообщить();
Возврат 0;
КонецЕсли;
Если ПустаяСтрока(Пароль) Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Login(). Не указан параметр <Пароль>";
Сообщение.Сообщить();
Возврат 0;
КонецЕсли;
Если глТелефония.Подключено=1 Тогда
CRLF = Chars.CR + Chars.LF;
СтрокаКоманды= "Action: Login"+CRLF+
"Username: "+Логин+CRLF+
"Secret: "+Пароль+CRLF+CRLF;
Возврат ВыполнитьКоманду(СтрокаКоманды);
КонецЕсли;
КонецФункции // Login
Что за "профессионал" писал эту обработку? Ошибка на ошибке. ПодключитьОбработчикОжидания("вТелефонияКлиент.Автоподключение",30,Ложь); в глобальном модулe не работает.
Из всех скачавших, ошибка на ошибке, только у вас.
Если не нравится - сделайте сами.
Если можете сами - зачем вам чужое?
P.S. вежливость - залог успеха
P.P.S. не думал, что подобные вещи до сих пор актуальны
P.P.P.S. удачи вам в нелёгкой работе, дальше будет ещё "веселее" :)
Почему он не отрабатывает Если глТелефония.Подключено=1 Тогда изначально глТелефония - это наша dll, после того как отладчиком смотришь "глТелефония.Подключено" , глТелефония стает пустой.
ТекущийРежим = глТелефония.РежимПрослушивания;
// корректируем принимаемый параметр
Режим = ?(Режим<0,0,Режим);
Режим = ?(Режим>1,1,Режим);
Если Режим - ТекущийРежим > 0 Тогда
глТелефония.РежимПрослушивания(Режим);
КонецЕсли;
Возврат глТелефония.РежимПрослушивания;