Это старая версия документа!
Панель телефонии может работать в безинтеграцонном режиме. В этом разделе будут описаны достоинства и недостатки данного режима работы. Кроме того, будет описан способ интеграции панели на примере конфигурации УТ 11, что позволит использовать функционал панели в полной мере.
Далее будет описан пример интеграции панели, в котором будет предложен вариант преодоления ограничений.
Для начала необходимо открыть информационную базу в режиме запуска «Конфигуратор». Для объектов, которые необходимо скорректировать следует установить правило поддержки «Редактируется с сохранением поддержки».
Задача: Необходимо открывать форму панели телефонии автоматически при старте 1С. При закрытии формы обработки необходимо предусмотреть возмож Решение:
// МИКО / Панель телефонии Asterisk / Начало Перем MIKO_ПанельТелефонии Экспорт; // МИКО / Панель телефонии Asterisk / Конец
Процедура ПриНачалеРаботыСистемы() // *** Часть исходного текста отсутствует! *** //Конец ОткрытиеФормПриНачалеРаботыСистемы // МИКО / Панель телефонии Asterisk / Начало Если МИКО_ДопФункцииПанелиТелефонии.ИспользоватьПанельТелефонии() Тогда Попытка MIKO_ПанельТелефонии = ПолучитьФорму("Обработка.MIKO_Asterisk.Форма.Форма"); MIKO_ПанельТелефонии.ПодключитьСофтФон(); Исключение КонецПопытки; КонецЕсли; // МИКО / Панель телефонии Asterisk / Конец КонецПроцедуры
Процедура ПередЗавершениемРаботыСистемы(Отказ) // СтандартныеПодсистемы СтандартныеПодсистемыКлиент.ДействияПередЗавершениемРаботыСистемы(Отказ); // Конец СтандартныеПодсистемы // МИКО / Панель телефонии Asterisk / Начало Если НЕ Отказ И НЕ MIKO_ПанельТелефонии = Неопределено Тогда MIKO_ПанельТелефонии.ОтключитьВК(); КонецЕсли; // МИКО / Панель телефонии Asterisk / Конец КонецПроцедуры
Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) // *** Часть исходного текста отсутствует! *** //Конец РаботаСВнешнимОборудованием // МИКО / Панель телефонии Asterisk / Начало Если НЕ MIKO_ПанельТелефонии = Неопределено Тогда MIKO_ПанельТелефонии.ОбработатьВнешнееСобытие(Источник, Событие, Данные); КонецЕсли; // МИКО / Панель телефонии Asterisk / Конец КонецПроцедуры
Задача: Предусмотреть возможность набора номера из элемента справочника «Партнеры» (он же - клиенты, поставщики, конкуренты). Решение:
В модуль формы элемента добавим процедуру - обработчик:
// МИКО / Инациация набора номера // &НаКлиенте Процедура МИКО_КомандаПозвонить(Парам) элПозвонить = ЭтаФорма.Элементы.Найти("декорация_МИКО_Позвонить"); Если элПозвонить = Неопределено Тогда Возврат; КонецЕсли; СписокНомеров = МИКО_ДопФункцииПанелиТелефонии.ПолучитьНомераТелефоновСервер(Объект.Ссылка); ВыбранныйЭлемент = ВыбратьИзМеню(СписокНомеров, элПозвонить); Если НЕ ВыбранныйЭлемент = Неопределено Тогда MIKO_ПанельТелефонии.НабратьНомерКИ(Объект.Ссылка, ВыбранныйЭлемент.Значение); КонецЕсли; КонецПроцедуры
Модифицировать обработчик «при создании на сервере»:
//////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // *** Часть исходного текста отсутствует! *** // МИКО / Начало // Элементы.ГруппаСтраницы - перед этим элементом будет вставлен новый элемент МИКО_ДопФункцииПанелиТелефонии.ДобавитьДействиеПозвонитьНаФорму(ЭтаФорма, Элементы.ГруппаСтраницы); // МИКО / Конец КонецПроцедуры
Задача: Предусмотреть возможность повторного открытия формы панели телефонии.
Решение:
&НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) Если MIKO_ПанельТелефонии = Неопределено Тогда Если МИКО_ДопФункцииПанелиТелефонии.ИспользоватьПанельТелефонии() Тогда Попытка MIKO_ПанельТелефонии = ПолучитьФорму("Обработка.MIKO_ПанельТелефонииAsterisk.Форма.Форма"); MIKO_ПанельТелефонии.ПодключитьСофтФон(); Исключение КонецПопытки; КонецЕсли; Иначе Если MIKO_ПанельТелефонии.Открыта() Тогда MIKO_ПанельТелефонии.Активизировать(); Иначе MIKO_ПанельТелефонии.Открыть(); КонецЕсли; КонецЕсли; КонецПроцедуры