Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


doc:1cajam:thin

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

doc:1cajam:thin [2011/12/18 08:34]
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>​ 
- 
-===== Пинг ===== 
-Пример процедуры для проверки соединения с Asterisk: 
- 
-<code 1c> 
- &​НаКлиенте  
- Процедура Ping(Команда) 
- Если Компонент = Неопределено Тогда 
- Сообщить("​Компонент не подключен!"​);​ 
- Возврат;​ 
- КонецЕсли; ​ 
- Попытка 
- respose ="";​ 
- Результат=Компонент.Ping(respose);​ 
- // Результат - возвращается значение типа булево 
- Исключение 
- Сообщить("​Исключение при пинге"​);​ 
- КонецПопытки; ​ 
- КонецПроцедуры 
-</​code>​ 
- 
-===== Выполнение произвольной команды Asterisk (Command) ===== 
- 
-[[doc:​1cami:​api:​Command|Описание Command]] 
- 
-<code 1c> 
- &​НаКлиенте 
- Процедура CommandНажатие(Элемент) 
- Command = ПрозвольнаяКоманда;​ // Command: Asterisk команда CLI интерфейса. (Не команда шелла!) 
- ActionID = "​110"; ​     //​ ActionID:​ Необязательный ID команды,​ который будет возвращен в ответе. 
-  
- Если Компонент = Неопределено Тогда 
- Сообщить("​Компонент не подключен"​);​ 
- Возврат;​ 
- КонецЕсли; ​ 
-  
- Попытка 
- //​Результат=Компонент.command(Command,​ActionID);​ 
- Результат="";​ 
- Компонент.doc:​1cami:​api:​Command(Command,​ActionID,​Результат);​ 
- Исключение 
- Сообщить("​Исключение при отправке произвольной комманды "); 
- КонецПопытки; ​ 
-  
- Сообщить("​Результат комманды "​+Результат);​ 
-  
- КонецПроцедуры 
-</​code>​ 
- 
-===== Заголовок ===== 
- 
-<code 1c>​ &​НаКлиенте 
- // http://​wiki.miko.ru/​doc:​1cami:​api:​Originate 
- Процедура Originate(Команда) 
-  
- Channel = НашКаналФильтр;​ //​ Channel:​ Название канала,​ с которого совершается исходящий вызов ​ 
- Context = Контекст;​ //​ Context:​ Название контекста для совершения исходящего вызова ​ 
- Exten = КомуЗвонимНомер;//​ Exten:​ Extension to use on connect 
- Priority = "​1";​ //​ Priority:​ Priority to use on connect ​ 
- Timeout = "";​ //​ Timeout:​ Таймаут (в миллисекундах) для соединения с инициатором ​ 
- CallerID = "​MIKO_Abonent";​ //​ CallerID:​ Значение CallerID, используемое для совершения исходящего вызова. 
- Variable = "";​ //​ Variable:​ Установка переменных канала (максимум 32).  
- Account = "​miko";​ //​ Account:​ Значение для “Account code” исходящего вызова. 
- Application = "";​ //​ Application:​ Команда плана набора 
- Data = "";​ //​ Data : Параметры команды плана набора 
- Async = "​1";​ //​ Async:​ Если указано “true” исходящий вызов будет производиться асинхронно. 
- ActionID = "​114";​ //​ ActionID:​ Не обязательный идентификатор запроса. ​ 
-  
-  
- Если Компонент = Неопределено Тогда 
- Сообщить("​Компонент не подключен"​);​ 
- Возврат;​ 
- КонецЕсли; ​ 
-  
- Попытка 
- //​Результат=Компонент.originate(Channel,​Context,​Exten,​Priority,​Timeout,​CallerID,​Variable,​Account,​Application,​Data,​Async,​ActionID);​ 
- Результат="";​ 
- Компонент.Originate(Channel,​Context,​Exten,​Priority,​Timeout,​CallerID,​Variable,​Account,​Application,​Data,​Async,​ActionID,​Результат);​ 
- Исключение 
- Сообщить("​Исключение при, ошибка"​);​ 
- КонецПопытки; ​ 
-  
- Сообщить("​Результат оригинации "​+Результат);​ 
-  
- КонецПроцедуры 
-</​code>​ 
- 
- 
- 
  
doc/1cajam/thin.txt · Последние изменения: 2014/11/14 22:32 (внешнее изменение)