Первое, что необходимо сделать, это добавить на форму элемент "ПолеHTMLДокумента" и связать его данные со строковым реквизитом формы:
Далее, при создании формы на сервере необходимо выполнить:
&НаСервере // предварительная инициализация компонент в поле html документа Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Софтфон = "<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" |""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""> |<HTML style=""font-family:arial; font-size:11px;""> |<meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8""/> |<OBJECT id=AMIX classid=""CLSID:D40101B0-FF12-4455-B9C9-9B2FE14F98AE"" width=""98%"" height=""98%""> |<PARAM NAME=""Host"" VALUE=""****""/> |<PARAM NAME=""User"" VALUE=""******""/> |<PARAM NAME=""Secret"" VALUE=""*******""/> |<PARAM NAME=""Visible"" VALUE=""true""/> |<PARAM NAME=""Language"" VALUE=""1""/> |</OBJECT> |</HTML>"; КонецПроцедуры |
Дальнейшая работа с компонентом может быть в следующем виде:
&НаКлиенте // лишь когда документ будет сформирован возможна работа с компонентом Процедура СофтфонДокументСформирован(Элемент) ПодключитьВК(); КонецПроцедуры &НаКлиенте // процедура подключения внешней компоненты ActiveX Процедура ПодключитьВК() ТестОшибки = ""; Попытка // получаем компоненту с поля html документа ЭлементВК_AMIX = Элементы.Софтфон.Документ.GetElementById("AMIX"); Исключение БылаОшибка = истина; ТестОшибки = ИнформацияОбОшибке(); КонецПопытки; Если БылаОшибка ИЛИ ЭлементВК_AMIX = Неопределено Тогда Сообщить("Не загружен объект AMIX! "+ ТестОшибки); Возврат; КонецЕсли; // получим COM объект: AMIXClient = ЭлементВК_AMIX.ContentDocument; // Остальная работа как с обычным COM объектом AMIXClient.Host = "sip.ru"; AMIXClient.Username = "test"; AMIXClient.Secret = "Secret"; AMIXClient.Port = "5038"; Если НЕ AMIXClient.Login() тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Невозможно подключиться к астериск. Сервер не отвечает."; Сообщение.Сообщить(); Иначе Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Подключение к серверу: "+AMIXClient.Host+" выполнено! Пользователь: myasterisk."; Сообщение.Сообщить(); КонецЕсли; КонецПроцедуры |
Стоит отметить, что при работе с управляемым интерфейсом эта возможность официально 1С не поддерживается.
Фирма 1с рекомендует использовать технологии на базе технологии Native.