Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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|}} | ||