Здесь показаны различия между двумя версиями данной страницы.
doc:1cajam:thin [2011/12/18 06:38] a.portnov |
doc:1cajam:thin [2014/11/14 22:32] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Работа с компонентом в тонком клиенте ====== | ||
- | |||
- | Прежде всего рекомендую ознакомиться со способами подключения внешнего компонента: | ||
- | * [[doc:1cajam:init|см. также]] | ||
- | |||
- | ===== Установка ===== | ||
- | |||
- | Для начала работы с компонентом необходимо произвести его установку. Пример процедуры может выглядеть следующим | ||
- | <code 1c> | ||
- | &НаКлиенте | ||
- | // Процедура должна вызываться лишь один раз при первичной установке компонента, либо при обновлении его версии | ||
- | Процедура УстановитьКомпонент() | ||
- | АдресАрхиваКомпонента = "Обработка.МИКО_ПанельТелефонииДляCRM.Макет.AddInWindows32"; | ||
- | Попытка | ||
- | УстановитьВнешнююКомпоненту(АдресАрхиваКомпонента); | ||
- | Исключение | ||
- | Сообщить("Не удалось устанвить внешнюю компоненту."); | ||
- | КонецПопытки; | ||
- | КонецПроцедуры | ||
- | </code> | ||
- | |||
- | в этом случае компонент, упакованный в ZIP архив расположен в макете обработки. Далеев режиме 1С предприятия необходимо инициализировать вызов этой процедуры: | ||
- | {{ :doc:1cajam:uspeshnaja_ustanovka.jpg? |}} | ||
- | |||
- | В случае успешной установки компонента, в каталоге **%APPDATA%\1C\1Cv82\ExtCompT** (для windows 7) будет распакован файл компонента. Рядом с распакованным файлом в файл **registry.xml** будут дописаны сведения об установленном компоненте. Пример registry.xml файла: | ||
- | |||
- | <code 1c> | ||
- | <?xml version="1.0" encoding="UTF-8"?> | ||
- | <registry xmlns="http://v8.1c.ru/8.2/addin/registry"> | ||
- | <component path="MIKO_phone_IP.dll" type="native"/> | ||
- | <component path="MIKO_phone_IP_v_2_0.dll" type="native"/> | ||
- | <component path="MIKO_ajamV009.dll" type="native"/> | ||
- | </registry> | ||
- | </code> | ||
- | |||
- | Для дальнейшей работы с компонентом, имеет смысл определить переменную модуля: | ||
- | <code 1c> | ||
- | &НаКлиенте | ||
- | Перем Компонент; | ||
- | | ||
- | </code> | ||
- | |||
- | ===== Инициализация ===== | ||
- | * [[doc:1cajam:init|см. также]] | ||
- | |||
- | Пример процедуры инициализации компонента: | ||
- | <code 1c> | ||
- | &НаКлиенте | ||
- | Процедура Инициализаровать() | ||
- | АдресАрхиваКомпонента = "Обработка.МИКО_ПанельТелефонииДляCRM.Макет.AddInWindows32"; | ||
- | Если ПодключитьВнешнююКомпоненту(ПутьКМакету,"Comp",ТипВнешнейКомпоненты.Native) Тогда | ||
- | Компонент = Новый ("AddIn.Comp.MikoAjam"); | ||
- | Иначе | ||
- | СообщитьОтладочнуюИнформацию("Не удалось подключить внешнюю компоненту",""); | ||
- | КонецЕсли; | ||
- | КонецПроцедуры | ||
- | </code> | ||
- | |||
- | ===== Авторизация на сервере Asterisk ===== | ||
- | Далее пример авторизации: | ||
- | * [[doc:1cajam:connect|см. также...]] | ||
- | |||
- | <code 1c> | ||
- | &НаКлиенте | ||
- | Процедура Login() | ||
- | Если Компонент = Неопределено Тогда | ||
- | Сообщить("Компонент не подключен, сначала инициализируйте его!"); | ||
- | Возврат; | ||
- | КонецЕсли; | ||
- | Компонент.Хост = "test.ru"; | ||
- | Компонент.Порт = "4443"; | ||
- | result=""; // результат выполнения | ||
- | Попытка | ||
- | Компонент.Login("МенеджерЛогин","МенеджерПароль",result); | ||
- | Исключение | ||
- | Сообщить("Ошибка при авторизации: " + result); | ||
- | КонецПопытки; | ||
- | КонецПроцедуры | ||
- | </code> | ||
- | |||
- | ===== Отключение от cервера Asterisk ===== | ||
- | |||
- | <code 1c> &НаКлиенте | ||
- | Процедура Logoff(Команда) | ||
- | Если Компонент = Неопределено Тогда | ||
- | Сообщить("Компонент не подключен"); | ||
- | Возврат; | ||
- | КонецЕсли; | ||
- | |||
- | Попытка | ||
- | Результат = ""; | ||
- | Компонент.Logoff(Результат); | ||
- | Исключение | ||
- | Сообщить("Исключение при отключении..."); | ||
- | КонецПопытки; | ||
- | |||
- | Сообщить("Результат " + Результат); | ||
- | КонецПроцедуры | ||
- | </code> | ||
- | |||
- | ===== Пинг ===== | ||
- | <code 1c> | ||
- | &НаКлиенте | ||
- | Процедура Ping(Команда) | ||
- | Если Компонент = Неопределено Тогда | ||
- | Сообщить("Компонент не подключен!"); | ||
- | Возврат; | ||
- | КонецЕсли; | ||
- | Попытка | ||
- | respose =""; | ||
- | Результат=Компонент.Ping(respose); | ||
- | // Результат - возвращается значение типа булево | ||
- | Исключение | ||
- | Сообщить("Исключение при пинге"); | ||
- | КонецПопытки; | ||
- | КонецПроцедуры | ||
- | </code> | ||
- | |||
- | |||
- | |||
- | |||