====== ИНТЕГРАЦИЯ ПАНЕЛИ ТЕЛЕФОНИИ ====== Руководство составлено для 1С:CRM 2.0.7.1 И УТ+CRM редакции 2.0.6.2 и панели телефонии Asterisk 1.x.21 и **может быть не актуальным** для других версий. Сделайте **РЕЗЕРВНУЮ КОПИЮ** информационной базы. ===== Предварительная настройка ===== Выполните предварительную настройку в режиме 1С:Предприятие согласно [[astpanel:designer:crm2:enterprise|данной инструкции]]. ===== Этап 1. В режиме "Конфигуратор" ===== {{page>astpanel:designer:ut11:poddergka}} - Включить возможность изменения для команды **ОткрытьСофтфон** из обработки сфпСофтФонВнешняяПанель. {{ :astpanel:designer:ut11crm2:vkljuchitvozmozhnostizmenenijasoftfon.png |}} {{page>astpanel:designer:crm2:crm2071#ehtap_2_vstraivanie_paneli_telefonii}} {{page>astpanel:designer:crm2:crm2071#ehtap_3_nastrojka_prav_dostupa}} Необходимо встроить внешнюю обработку (панель телефонии) в конфигурации, настроить права доступа и ее автоматический запуск в фоновом режиме. ==== Создание новых объектов ==== - Вставьте внешнюю обработку, которая идет в поставке, в конфигурацию и назовите ее **MIKO_Asterisk**. - Добавьте новый общий модуль **"МИКО_Софтфон"**. {{ :doc:panel1ccrm20:addmodule.png? |}} - Установите флажки напротив свойств **"Сервер"** и **"Вызов сервера"** для созданного модуля. {{ :doc:panel1ccrm20:moduleproperties.png? |}} - Скопируйте [[astpanel:designer:crm2:modulesrc|текст, расположенный по данной ссылке]], и вставьте его в модуль **"МИКО_Софтфон"**. ==== Изменение типовых объектов ==== Откройте модуль управляемого приложения и перейдите к процедуре **"ПриНачалеРаботыСистемы"**. В УТ+CRM редакции **2.0.6.2** инициализация перенесена в общий модуль **CRM_ОбщегоНазначенияКлиент.CRM_ИнициализироватьСофтФон()** В УТ+CRM редакции **2.0.7.1** инициализация перенесена в общий модуль **CRM_ОбщегоНазначенияКлиент.CRM_ПриНачалеРаботыСистемы()** В УНФ(1.4.9.14) + 1С:CRM(2.0.8.2) инициализация перенесена в общий модуль **ОбщегоНазначенияКлиентПереопределяемый.ПриНачалеРаботыСистемы(Параметры)** В 1C:CRM, редакция 2.0 (**2.0.9.1**) инициализация перенесена в общий модуль **сфпСофтФонПроКлиент.сфпПриНачалеРаботыСистемы()** - Перед строкой, начинающимся с комментария //"СофтФон"//, вставьте код /// // *** Пропущена часть иходного текста *** /// // PT1C / Панель телефонии Asterisk / Начало НазваниеПанелиТелефонии = "Панель телефонии Asterisk (МИКО)"; МИКО_Софтфон.ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии); Если МИКО_Софтфон.Использовать(НазваниеПанелиТелефонии) Тогда #Если НЕ ВебКлиент Тогда Отказ = Ложь; Попытка сфпФормаТелефонВнешняяПанель = ПолучитьФорму("Обработка.MIKO_Asterisk.Форма.Форма"); сфпФормаТелефонВнешняяПанель.ИнициализироватьПанельТелефонии(Истина, Отказ); Исключение Отказ = Истина; КонецПопытки; Если Отказ Тогда Сообщить("Не удалось запустить """ + НазваниеПанелиТелефонии + """"); Иначе сфпОбработаноВнешнееСобытие = Истина; КонецЕсли; #КонецЕсли // PT1C / Панель телефонии Asterisk / Конец /// // *** Пропущена часть иходного текста *** /// - Замените условие **Если** в начале секции софтфона на **ИначеЕсли** /// // *** Пропущена часть иходного текста *** // Если Не ПользователиКлиентСервер.ЭтоСеансВнешнегоПользователя() И сфпСофтФонПроСервер.сфпИспользоватьСофтФон() // для УТ+CRM редакции 2.0.6.2 // Если сфпСофтФонПроСервер.сфпИспользоватьСофтФон() Тогда // PT1C / Панель телефонии Asterisk ИначеЕсли Не ПользователиКлиентСервер.ЭтоСеансВнешнегоПользователя() И сфпСофтФонПроСервер.сфпИспользоватьСофтФон() Тогда // *** Пропущена часть иходного текста *** /// - Перейдите к процедуре **"ПриЗавершенииРаботыСистемы"** и добавьте код приведенный ниже. Процедура ПриЗавершенииРаботыСистемы() /// // *** Пропущена часть иходного текста *** /// // PT1C / Панель телефонии Asterisk / Начало Попытка сфпФормаТелефонВнешняяПанель.ЗавершитьРаботу(); Исключение КонецПопытки; // PT1C / Панель телефонии Asterisk / Конец КонецПроцедуры - В начало процедуры **"ОбработкаКоманды"** для "**Обработки**" - "**сфпСофтФонВнешняяПанель**" - "**Команды**" - "**ОткрытьСофтФон**"добавьте код приведенный ниже. &НаКлиенте // Процедура - обработчик выполнения команды Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) // PT1C / Панель телефонии Asterisk / Начало Если сфпФормаТелефонВнешняяПанель <> Неопределено Тогда Если сфпФормаТелефонВнешняяПанель.Открыта() Тогда сфпФормаТелефонВнешняяПанель.Активизировать(); Иначе сфпФормаТелефонВнешняяПанель.Открыть(); КонецЕсли; Возврат; КонецЕсли; // PT1C / Панель телефонии Asterisk / Конец сфпСофтФонПроКлиент.сфпПереподключитьСофтФон(); КонецПроцедуры // ОбработкаКоманды() ===== Этап 3. Настройка прав доступа ===== - Добавьте в конфигурацию новую роль **"МИКО_Софтфон"**. - Снимите все отметки о правах выставляемые по умолчанию, а для обработки **MIKO_Asterisk** отметьте все права.{{ :astpanel:designer:crm2:pravamikosoftfon.png |}} - Тоже сделайте и для обработки **"сфпСофтФонВнешняяПанель"**.{{ :astpanel:designer:crm2:pravadlyasoftfonprof.png |}} - Дайте право на использование компанды **"ОткрытьСофтФон"** {{ :astpanel:designer:crm2:pravadlyakomandi.png |}} - Обновите конфигурацию базы данных. {{ :doc:panel1ccrm20:confupd.png? |}} - Запустите программу 1С под пользователем с полными правами. ===== Этап 4. В режиме "Предприятие" ===== [[astpanel:enterprise:managed|Перейти к инструкции по настройке в режиме предприятия]]