Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
solution:operator:how-to-integrate-alfa-auto [2015/04/27 18:45]
Oleg R [Раздел переменных]
solution:operator:how-to-integrate-alfa-auto [2015/04/27 18:59]
Oleg R [Добавление Панели телефонии оператора в конфигурацию]
Строка 48: Строка 48:
 {{:​solution:​operator:​ext-add2.png|}} {{:​solution:​operator:​ext-add2.png|}}
  
 +<WRAP round important 80%>
 +**Общие модули для интеграции предоставляются бесплатно после покупки Панели телефонии.\\ ​
 +С демо-версией общие модули не поставляются**
 +</​WRAP>​
 ====== Добавление общего модуля «ТелефонияКлиент» ====== ====== Добавление общего модуля «ТелефонияКлиент» ======
  
Строка 64: Строка 68:
 ===== Раздел переменных ===== ===== Раздел переменных =====
  
-Необходимо добавить экспортируемую переменную «ПанельОператора»+Необходимо добавить экспортируемую переменную «ПанельТелефонииОператора»
  
 <code _1c> <code _1c>
 //<​simplit>​ //<​simplit>​
 Перем ПанельТелефонииОператора Экспорт;​ Перем ПанельТелефонииОператора Экспорт;​
-//</​simplit>​ 
-</​code>​ 
- 
-===== Функция автоподключения ===== 
-Чтобы в случае потери соединения,​ Панель оператора автоматически восстанавливала связь с Asterisk, необходимо добавить процедуру «АвтоподключениеПанелиОператора». Текст процедуры входит в комплект поставки. 
-<code _1c> 
-//<​simplit>​ 
-// автоподключение при разрыве соединения 
-Процедура АвтоподключениеПанелиОператора() Экспорт;​ 
- Если ПанельОператора.Телефония.Подключено=1 Тогда 
- ОтключитьОбработчикОжидания("​АвтоподключениеПанелиОператора"​);​ 
- КонецЕсли; ​ 
- Если ПанельОператора.ПереподключитьТелефонию() Тогда 
- ОтключитьОбработчикОжидания("​АвтоподключениеПанелиОператора "); 
- Если ПанельОператора.ТихийРежимАвтоподключения=Ложь Тогда 
- Сообщить(Формат(ТекущаяДата(),"​ДЛФ ДВ"​)+":​ Соединение с сервером телефонии восстановлено"​);​ 
- КонецЕсли; ​ 
- ЗаписьЖурналаРегистрации("​Соединение с сервером телефонии восстановлено",​УровеньЖурналаРегистрации.Информация,,,"​Обработка.ПанельОператора"​);​ 
- ПанельОператора.ВыполнитьЗапросы();​ 
- КонецЕсли; ​ 
-КонецПроцедуры 
 //</​simplit>​ //</​simplit>​
 </​code>​ </​code>​
  
 ===== ПриНачалеРаботыСистемы ===== ===== ПриНачалеРаботыСистемы =====
-В конце процедуры вставить вызов процедуры «ПриНачалеРаботыСистемы» общего модуля «ТелефонияКлиент»+В конце процедуры вставить вызов процедуры «ПриНачалеРаботы» общего модуля «ТелефонияКлиент»
  
 <code _1c> <code _1c>
 +...
 //<​simplit>​ //<​simplit>​
-ТелефонияКлиент.ПриНачалеРаботыСистемы(); +ТелефонияКлиент.ПриНачалеРаботы();​
-//</​simplit>​ +
-</​code>​ +
- +
-===== ПередЗавершениемРаботыСистемы ===== +
-В конец процедуры необходимо вставить вызов процедуры общего модуля «ТелефонияКлиент»:​ +
- +
-<code _1c> +
-//<​simplit>​ +
-ТелефонияКлиент.ПередЗавершениемРаботыСистемы(Отказ);+
 //</​simplit>​ //</​simplit>​
 +КонецПроцедуры // ПриНачалеРаботыСистемы()
 </​code>​ </​code>​
  
 ===== ОбработкаВнешнегоСобытия ===== ===== ОбработкаВнешнегоСобытия =====
  
-В конец ​процедуры необходимо вставить ​вызов процедуры общего модуля «ТелефонияКлиент»:+В начало процедуры необходимо вставить ​строки:
  
 <code _1c> <code _1c>
 +Процедура ОбработкаВнешнегоСобытия(Источник,​ Событие,​ Данные)
 //<​simplit>​ //<​simplit>​
-ТелефонияКлиент.ОбработкаВнешнегоСобытия(Источникобытие,Данные);+    Если Источник="​ROM-Asterisk-Native"​ Тогда 
 +        Возврат
 +    КонецЕсли
 //</​simplit>​ //</​simplit>​
 +...
 </​code>​ </​code>​
  
-====== Добавление кнопок командной панели в форму документа на примере документа «Событие» ====== 
- 
-Рассмотрим на примере формы документа «Событие» механизм добавления кнопок телефонии в командную панель ​ 
- 
-1. Чтобы при открытии формы документа в командную панель автоматически добавлялись кнопки телефонии,​ в конец процедуры «ПриОткрытии»,​ необходимо вставить вызов процедуры общего модуля. 
-<code _1c> 
- 
- //<​simplit>​ 
- ТелефонияКлиент.ДобавитьКнопкиТелефонии(ЭлементыФормы.ДействияФормы,​ЭтаФорма);​ 
- //</​simplit>​ 
-КонецПроцедуры ​ // ПриОткрытии() 
-</​code>​ 
- 
- 
-2. Также,​ в модуль формы документа «Событие» необходимо добавить обработчик нажатия кнопок телефонии:​ 
-<code _1c> 
-//<​simplit>​ 
-Процедура ОбработкаДействийТелефонии(Кнопка) 
- ТелефонияКлиент.ОбработкаДействийТелефонии(Кнопка,​ЭтаФорма);​ 
-КонецПроцедуры 
-//</​simplit>​ 
-</​code>​ 
- 
-В результате,​ на командную панель формы документа были добавлены кнопки для работы с телефонией:​ «Звонить» и «Прослушать запись разговора» 
- 
-{{:​solution:​operator:​doc-event-add-button.png|}} 
- 
-====== Добавление кнопок телефонии в командные панели формы элемента справочника «Контрагенты» ====== 
- 
-Добавление кнопок в форму элемента справочника «Контрагенты» выполняется по тому же принципу,​ что и в документ «Событие»,​ который рассматривался выше. Отличие лишь в том, что в форме элемента «Контрагенты» существует 2 командные панели,​ в которые имеет смысл добавить кнопки телефонии:​ КоманднаяПанельКонтактнаяИнформация,​ КоманднаяПанельСобытия. 
- 
-1. В конец процедуры «ПриОткрытии» необходимо вставить вызов процедуры общего модуля. 
-<code _1c> 
- 
- //<​simplit>​ 
- ТелефонияКлиент.ДобавитьКнопкиТелефонии(ЭлементыФормы.КоманднаяПанельКонтактнаяИнформация,​ЭтаФорма);​ 
- ТелефонияКлиент.ДобавитьКнопкиТелефонии(ЭлементыФормы.КоманднаяПанельСобытия,​ЭтаФорма);​ 
- //</​simplit>​ 
-КонецПроцедуры ​ // ПриОткрытии() 
-</​code>​ 
- 
- 
-2. Также,​ в модуль формы необходимо добавить обработчик нажатия кнопок телефонии:​ 
-<code _1c> 
-//<​simplit>​ 
-Процедура ОбработкаДействийТелефонии(Кнопка) 
- ТелефонияКлиент.ОбработкаДействийТелефонии(Кнопка,​ЭтаФорма);​ 
-КонецПроцедуры 
-//</​simplit>​ 
-</​code>​ 
- 
-В результате,​ на командную панель «События» были добавлены две кнопки:​ «Звонить» и «Прослушать запись разговора». ​ 
- 
-{{:​solution:​operator:​customer2.png|}} 
- 
-На командную панель «КонтактнаяИнформация» была добавлена только одна кнопка:​ «Звонить»,​ т.к. для нее кнопка «Прослушать запись» не имеет смысла. 
- 
-{{:​solution:​operator:​customer1.png|}} 
- 
-====== Добавление кнопок телефонии в командные панели формы элемента справочника «Контактные лица контрагентов» ====== 
- 
-Добавление кнопок в форму элемента справочника «Контактные лица контрагентов» выполняется по тому же сценарию,​ что и в справочник «Контрагенты»,​ который рассматривался выше. ​ 
- 
-1. В конец процедуры «ПриОткрытии» необходимо вставить вызов процедуры общего модуля. 
-<code _1c> 
- 
- //<​simplit>​ 
- ТелефонияКлиент.ДобавитьКнопкиТелефонии(ЭлементыФормы.КоманднаяПанельКонтактнаяИнформация,​ЭтаФорма);​ 
- ТелефонияКлиент.ДобавитьКнопкиТелефонии(ЭлементыФормы.КоманднаяПанельКонтактнаяИнформацияЛичная,​ЭтаФорма);​ 
- ТелефонияКлиент.ДобавитьКнопкиТелефонии(ЭлементыФормы.КоманднаяПанельСобытия,​ЭтаФорма);​ 
- //</​simplit>​ 
-КонецПроцедуры ​ // ПриОткрытии() 
-</​code>​ 
- 
- 
-2. Также,​ в модуль формы необходимо добавить обработчик нажатия кнопок телефонии:​ 
-<code _1c> 
-//<​simplit>​ 
-Процедура ОбработкаДействийТелефонии(Кнопка) 
- ТелефонияКлиент.ОбработкаДействийТелефонии(Кнопка,​ЭтаФорма);​ 
-КонецПроцедуры 
-//</​simplit>​ 
-</​code>​ 
- 
-В результате,​ на командную панель «События» были добавлены две кнопки:​ «Звонить» и «Прослушать запись разговора». ​ 
- 
-{{:​solution:​operator:​employ1.png|}} 
- 
-На командную панель «КонтактнаяИнформация» была добавлена только одна кнопка:​ «Звонить»,​ т.к. для нее кнопка «Прослушать запись» не имеет смысла. 
- 
-{{:​solution:​operator:​employ2.png|}} 
- 
-====== Рекомендуемые изменения для документа «Событие» ====== 
- 
-Изменения не являются обязательными,​ они предназначены для более точного учета взаимоотношений с контрагентами. Например,​ если за контактным лицом закреплено несколько номеров телефонов,​ то в документе будет сохранен номер телефона,​ с/на который совершался звонок. 
- 
-  - Для хранения номера телефона,​ рекомендуется добавить реквизит «CallerID»,​ тип «Строка»,​ длина 13. 
-  - Для хранения идентификатора звонка Asterisk, рекомендуется добавить реквизит «UniqueID»,​ тип «Строка»,​ длина 32. 
-Если реквизиты существуют,​ то Панель оператора автоматически наполнит их данными. 
-====== Настройка хранения ссылок на файлы записи звонков ====== 
- 
-Панель оператора предоставляет возможность хранить ссылки на полное имя файла записи звонка. Хранение может быть организовано 2-мя способами:​ 
-  - ссылка сохраняется в реквизит документа "​Событие"​ 
-  - ссылка сохраняется средствами подсистемы СвойстваОбъектов 
- 
-Способ хранения ссылки на файл записи звонка задается в форме "​Настройки пользователя"​ 
- 
-{{:​solution:​operator:​call-recording2.png|}} 
- 
-===== Хранение в реквизите документа ===== 
- 
-Наиболее простой способ - хранение в реквизите документа. Для этого, можно создать новый реквизит документа или же использовать существующий. На рисунке ниже, создан новый реквизит "​ФайлЗаписи"​ (строка 255) 
- 
-{{:​solution:​operator:​call-recording4.png|}} 
- 
-На рисунке ниже, в настройках пользователя указан способ хранения "​Реквизит документа"​ и указан идентификатор реквизита "​ФайлЗаписи"​ 
- 
-{{:​solution:​operator:​call-recording3.png|}} 
- 
-===== Хранение с помощью подсистемы СвойстваОбъектов ===== 
- 
-Этот способ хранения не требует изменений в конфигурации. Настройка выполняется максимально просто - необходимо установить способ хранения "​Свойство документа"​ и указать имя свойства,​ которое будет использовано. Если свойство отсутствует,​ то оно будет создано автоматически. 
- 
-{{:​solution:​operator:​call-recording5.png|}} 
- 
-Получить информацию о файле записи звонка можно открытием панели свойств документа "​Событие"​. 
- 
-{{:​solution:​operator:​call-recording7.png|}} 
- 
-{{:​solution:​operator:​call-recording6.png|}}