Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
astpanel:designer:crm2_0_12 [2016/08/16 10:55] imal [ИНТЕГРАЦИЯ ПАНЕЛИ ТЕЛЕФОНИИ В CRM 2.0] |
astpanel:designer:crm2_0_12 [2018/07/25 10:17] (текущий) tpor |
||
---|---|---|---|
Строка 8: | Строка 8: | ||
[[astpanel:designer:crm2|Инструкции для прочих версий CRM2...]]</note> | [[astpanel:designer:crm2|Инструкции для прочих версий CRM2...]]</note> | ||
<note warning>Сделайте **РЕЗЕРВНУЮ КОПИЮ** информационной базы.</note> | <note warning>Сделайте **РЕЗЕРВНУЮ КОПИЮ** информационной базы.</note> | ||
+ | |||
+ | ===== Предварительная настройка ===== | ||
+ | |||
+ | Выполните предварительную настройку в режиме 1С:Предприятие согласно [[astpanel:designer:crm2:enterprise|данной инструкции]]. | ||
+ | |||
===== Настройка поддержки ===== | ===== Настройка поддержки ===== | ||
Строка 36: | Строка 41: | ||
===== Изменение глобального модуля ===== | ===== Изменение глобального модуля ===== | ||
- | Для работы панели телефонии в фоне и ее автоматического запуска внесем изменения в модуль управляемого приложения. | ||
- Откройте модуль управляемого приложения. {{ astpanel:designer:crm2:korencrm.png |}} | - Откройте модуль управляемого приложения. {{ astpanel:designer:crm2:korencrm.png |}} | ||
- | - Определите глобальную переменную в начале модуля до раздела процедур. <code 1c>// PT1C / Панель телефонии Asterisk / Начало | ||
- | Перем сфпФормаТелефонВнешняяПанель Экспорт; // Форма внешней панели телефона | ||
- | // PT1C / Панель телефонии Asterisk / Конец</code> | ||
- Перейдите к процедуре //"ПриЗавершенииРаботыСистемы"// (создайте процедуру, если ее нет). В конец процедуры вставьте код приведенный ниже.<code 1c> | - Перейдите к процедуре //"ПриЗавершенииРаботыСистемы"// (создайте процедуру, если ее нет). В конец процедуры вставьте код приведенный ниже.<code 1c> | ||
// PT1C / Панель телефонии Asterisk / Начало | // PT1C / Панель телефонии Asterisk / Начало | ||
- | Если сфпФормаТелефонВнешняяПанель <> Неопределено | + | Если сфпПанельУправления <> Неопределено |
- | И ТипЗнч(сфпФормаТелефонВнешняяПанель) = Тип("УправляемаяФорма") | + | И ТипЗнч(сфпПанельУправления) = Тип("УправляемаяФорма") |
- | И Найти(сфпФормаТелефонВнешняяПанель.ИмяФормы,"Обработка.МИКО_ПанельТелефонииДля1С")<>0 Тогда | + | И Найти(сфпПанельУправления.ИмяФормы,"Обработка.МИКО_ПанельТелефонииДля1С")<>0 Тогда |
- | сфпФормаТелефонВнешняяПанель.ЗавершитьРаботу(Истина); | + | сфпПанельУправления.ЗавершитьРаботу(Истина); |
КонецЕсли; | КонецЕсли; | ||
// PT1C / Панель телефонии Asterisk / Конец | // PT1C / Панель телефонии Asterisk / Конец | ||
Строка 52: | Строка 53: | ||
===== Изменение общих модулей ===== | ===== Изменение общих модулей ===== | ||
- | - Передите к общему модулю "**сфпСофтФонПроКлиент**", | + | 1 Передите к общему модулю "**сфпСофтФонПроКлиент**",\\ |
- | - К процедуре "**сфпПодключитьСофтФон**". В начало необходимо вставить фрагмент кода: <code 1с> | + | 2 К процедуре "**сфпПодключитьСофтФон**". В начало необходимо вставить фрагмент кода: <code 1с> |
// PT1C / Панель телефонии Asterisk / Начало | // PT1C / Панель телефонии Asterisk / Начало | ||
НазваниеПанелиТелефонии = "Панель телефонии Asterisk (МИКО)"; | НазваниеПанелиТелефонии = "Панель телефонии Asterisk (МИКО)"; | ||
- | Если сфпФормаТелефонВнешняяПанель = Неопределено Тогда | + | Если сфпПанельУправления = Неопределено Тогда |
МИКО_Софтфон.ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии); | МИКО_Софтфон.ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии); | ||
КонецЕсли; | КонецЕсли; | ||
Если МИКО_Софтфон.Использовать(НазваниеПанелиТелефонии) Тогда | Если МИКО_Софтфон.Использовать(НазваниеПанелиТелефонии) Тогда | ||
- | Если сфпФормаТелефонВнешняяПанель = Неопределено Тогда | + | Если сфпПанельУправления = Неопределено Тогда |
Попытка | Попытка | ||
- | сфпФормаТелефонВнешняяПанель = ПолучитьФорму("Обработка.МИКО_ПанельТелефонииДля1С.Форма.Форма"); | + | сфпПанельУправления = ПолучитьФорму("Обработка.МИКО_ПанельТелефонииДля1С.Форма.Форма"); |
- | сфпФормаТелефонВнешняяПанель.ИнициализироватьПанельТелефонии(Истина, Ложь); | + | сфпПанельУправления.ИнициализироватьПанельТелефонии(Истина, Ложь); |
Исключение | Исключение | ||
Сообщить("Не удалось запустить ""Панель телефонии Asterisk (МИКО)""!"); | Сообщить("Не удалось запустить ""Панель телефонии Asterisk (МИКО)""!"); | ||
Строка 71: | Строка 72: | ||
Иначе | Иначе | ||
// Переопределение обработки команды | // Переопределение обработки команды | ||
- | Если сфпФормаТелефонВнешняяПанель.Открыта() Тогда | + | Если сфпПанельУправления.Открыта() Тогда |
- | сфпФормаТелефонВнешняяПанель.Активизировать(); | + | сфпПанельУправления.Активизировать(); |
Иначе | Иначе | ||
- | сфпФормаТелефонВнешняяПанель.Открыть(); | + | сфпПанельУправления.Открыть(); |
КонецЕсли; | КонецЕсли; | ||
КонецЕсли; | КонецЕсли; | ||
Строка 80: | Строка 81: | ||
КонецЕсли; | КонецЕсли; | ||
// PT1C / Панель телефонии Asterisk / Конец | // PT1C / Панель телефонии Asterisk / Конец | ||
- | </code> | + | </code>\\ |
- | - К процедуре "**сфпПозвонить**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало | + | 3 К процедуре "**сфпПозвонить**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало |
Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | ||
- | сфпФормаТелефонВнешняяПанель.Позвонить(Телефон); | + | ОснованиеЗвонка = Неопределено; |
+ | |||
+ | Если ДанныеЗаполнения <> Неопределено | ||
+ | И ДанныеЗаполнения.Свойство("Основание") Тогда | ||
+ | |||
+ | ОснованиеЗвонка = Новый Структура("ОснованиеЗвонка, НомерТелефона", ДанныеЗаполнения.Основание, НомерТелефона); | ||
+ | |||
+ | КонецЕсли; | ||
+ | сфпПанельУправления.Позвонить(НомерТелефона,ОснованиеЗвонка); | ||
Возврат; | Возврат; | ||
КонецЕсли; | КонецЕсли; | ||
// PT1C / Панель телефонии Asterisk / Конец | // PT1C / Панель телефонии Asterisk / Конец | ||
- | </code> | + | </code>\\ |
- | - К процедуре "**сфпПозвонитьВыбравТелефон**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало | + | |
+ | <note important> | ||
+ | Перед тем, как вставить код в процедуру **сфпПозвонить** обратите внимание на её **параметры**! | ||
+ | Если процедура имеет вид: | ||
+ | <code>Процедура сфпПозвонить(Телефон, Объект = Неопределено, ДанныеЗаполнения = Неопределено)</code> | ||
+ | То вставьте следующий код вместо выше приведенного: | ||
+ | <code>// PT1C / Панель телефонии Asterisk / Начало | ||
Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | ||
- | сфпФормаТелефонВнешняяПанель.ПозвонитьВыбравТелефон(СписокОбъектов); | + | ОснованиеЗвонка = Неопределено; |
+ | |||
+ | Если ДанныеЗаполнения <> Неопределено | ||
+ | И ДанныеЗаполнения.Свойство("Основание") Тогда | ||
+ | |||
+ | ОснованиеЗвонка = Новый Структура("ОснованиеЗвонка, НомерТелефона", ДанныеЗаполнения.Основание, Телефон); | ||
+ | |||
+ | КонецЕсли; | ||
+ | сфпПанельУправления.Позвонить(Телефон,ОснованиеЗвонка); | ||
Возврат; | Возврат; | ||
КонецЕсли; | КонецЕсли; | ||
// PT1C / Панель телефонии Asterisk / Конец | // PT1C / Панель телефонии Asterisk / Конец | ||
</code> | </code> | ||
- | - К процедуре "**сфпПроверитьДоступностьСофтФон**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало | + | </note>\\ |
+ | |||
+ | 4 К процедуре "**сфпПозвонитьВыбравТелефон**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало | ||
+ | Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | ||
+ | сфпПанельУправления.ПозвонитьВыбравТелефон(СписокОбъектов); | ||
+ | Возврат; | ||
+ | КонецЕсли; | ||
+ | // PT1C / Панель телефонии Asterisk / Конец | ||
+ | </code>\\ | ||
+ | 5 К процедуре "**сфпПроверитьДоступностьСофтФон**". В начало необходимо вставить фрагмент кода:<code 1c> // PT1C / Панель телефонии Asterisk / Начало | ||
Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда | ||
Возврат Истина; | Возврат Истина; | ||
КонецЕсли; | КонецЕсли; | ||
// PT1C / Панель телефонии Asterisk / Конец | // PT1C / Панель телефонии Asterisk / Конец | ||
- | </code> | + | </code>\\ |
===== Изменение общих форм ===== | ===== Изменение общих форм ===== | ||
- Перейти к общей форме "**CRM_СообщенияПодключения**". В модуле формы, в процедуре "**ПриСозданииНаСервере**" необходимо добавить фрагмент кода: <code 1c>Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) | - Перейти к общей форме "**CRM_СообщенияПодключения**". В модуле формы, в процедуре "**ПриСозданииНаСервере**" необходимо добавить фрагмент кода: <code 1c>Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) | ||
Строка 130: | Строка 162: | ||
Процедура МИКО_ОтправитьКакФакс() | Процедура МИКО_ОтправитьКакФакс() | ||
Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") | Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") | ||
- | ИЛИ сфпФормаТелефонВнешняяПанель = Неопределено Тогда | + | ИЛИ сфпПанельУправления = Неопределено Тогда |
Возврат; | Возврат; | ||
КонецЕсли; | КонецЕсли; | ||
Строка 147: | Строка 179: | ||
КонецЕсли; | КонецЕсли; | ||
// отсылаем факс | // отсылаем факс | ||
- | сфпФормаТелефонВнешняяПанель.ОтправитьФайлПоФаксу(,ТабДок); | + | сфпПанельУправления.ОтправитьФайлПоФаксу(,ТабДок); |
КонецПроцедуры // МИКО_ОтправитьКакФакс() | КонецПроцедуры // МИКО_ОтправитьКакФакс() | ||
Строка 153: | Строка 185: | ||
Процедура МИКО_Позвонить() | Процедура МИКО_Позвонить() | ||
Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") | Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") | ||
- | ИЛИ сфпФормаТелефонВнешняяПанель = Неопределено Тогда | + | ИЛИ сфпПанельУправления = Неопределено Тогда |
Возврат; | Возврат; | ||
КонецЕсли; | КонецЕсли; | ||
Строка 165: | Строка 197: | ||
Если ТипЗнч(Участник) = Тип("Массив") | Если ТипЗнч(Участник) = Тип("Массив") | ||
И Участник.Количество()>0 Тогда | И Участник.Количество()>0 Тогда | ||
- | сфпФормаТелефонВнешняяПанель.ПозвонитьВыбравТелефон(Участник); | + | сфпПанельУправления.ПозвонитьВыбравТелефон(Участник); |
ИначеЕсли Участник <> Неопределено Тогда | ИначеЕсли Участник <> Неопределено Тогда | ||
СписокУчастников = Новый Массив(1); | СписокУчастников = Новый Массив(1); | ||
СписокУчастников[0] = Участник; | СписокУчастников[0] = Участник; | ||
- | сфпФормаТелефонВнешняяПанель.ПозвонитьВыбравТелефон(СписокУчастников); | + | сфпПанельУправления.ПозвонитьВыбравТелефон(СписокУчастников); |
КонецЕсли; | КонецЕсли; | ||
КонецЕсли; | КонецЕсли; |