Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

Инструменты пользователя

Инструменты сайта


astpanel:designer:crm2

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
astpanel:designer:crm2 [2013/10/08 07:39]
amzh [Этап 2. Встраивание панели телефонии]
astpanel:designer:crm2 [2018/07/25 10:19] (текущий)
tpor
Строка 1: Строка 1:
-====== ИНТЕГРАЦИЯ ПАНЕЛИ ТЕЛЕФОНИИ ​С КОНФИГУРАЦИЕЙ CRM 2.0 ======+====== ИНТЕГРАЦИЯ ПАНЕЛИ ТЕЛЕФОНИИ ======
  
-<note important>​Руководство составлено для 1С:CRM 2.0.6.2 и панели ​телефонии Asterisk 1.10.18.6 и **может быть не актуальным** для других версий.\\ +[[astpanel:designer|Обратнок списку конфигураций...]]
-Прежде чем ​приступить ​к выполнению действий из данного руководства,​ сделайте **РЕЗЕРВНУЮ КОПИЮ** информационной базыРуководство содержит подробные пошаговые инструкцииОднако,​ если Вы не уверены в том, что делаете,​ то доверьте эту работу специалистам. Наша компания не несет ответственности за потерю данных вызванную неверными действиями пользователей.</​note>​+
  
-Данное практическое руководство ​демонстрирует ​процесс интеграции ​панели телефонии с конфигурацией CRM 2.0Это может быть как чистая CRM, так и конфигурации со встроенной CRM системой (например, "​Управление торговлей + CRM2").+<note important> ​  
 +  * Руководство ​составлено для **[[http://​wiki.miko.ru/​astpanel:​designer:​crm2?​rev=1426591844|1С:​CRM 2.0.9.3]]**. 
 +  * Требуется панель телефонии ​версии ​**1.4.24.7**. 
 +[[astpanel:​designer:​crm2:​crm2071|Инструкции для прочих ​версий CRM2...]]</​note>​ 
 +<note warning>​Сделайте ​**РЕЗЕРВНУЮ КОПИЮ** информационной базы.</​note>​
  
-Что дает интеграция в сравнении с безинтаграционным режимом работы?​ +===== Предварительная настройка ​=====
-  - Не нужно ​выполнять каких-либо дополнительных действий при запуске системы. Панель ​телефонии ​начинает работу ​сразу после запуска 1С в свернутом виде. +
-  - Работа продолжается даже после закрытия окна панели. Если поступит входящий звонок, панель отобразиться на экране. +
-  - Сделать звонок можно не только из панели телефонии,​ но и кнопками "​Позвонить",​ расположенными в карточках контрагентов и документе "​Событие"​.+
  
-===== Этап 1. В режиме ​"​Конфигуратор" =====+Выполните предварительную настройку в режиме ​1С:​Предприятие согласно [[astpanel:​designer:​crm2:​enterprise|данной инструкции]].
  
-{{page>​astpanel:​designer:​ut11:​poddergka}}+===== Настройка поддержки =====
  
-===== Этап 2. Встраивание панели телефонии ​=====+Необходимо включить возможность изменения конфигурации. 
  
-**Шаг 1**. Раскройте дерево конфигурации ​на группе элементов ​"​Общие модули" и добавьте в нее новый элемент.+Порядок действий следующий:​ 
 +  - Убедитесь,​ что все пользователи завершили свою работу с программой. 
 +  - Сделайте ​**РЕЗЕРВНУЮ КОПИЮ** информационной базы.  
 +  - Запустите программу в режиме **"​Конфигуратор"​**. 
 +  - Откройте окно настройки поддержки "​**Конфигуратор**"​ - "​**Поддержка**"​ - "​**Настройка поддержки**"​. {{ :​doc:​panel1ccrm20:​support.png?​ |}} 
 +  - **Включите возможность изменения ​конфигурации**. На предупреждение программы ответьте утвердительно
 +  - В появившемся окне ​укажите, что ​объекты поставщика редактируются с сохранением поддержки. {{ :​astpanel:​designer:​crm2:​podderjca_conf_crm2.png?nolink |}}
  
-{{ :​doc:​panel1ccrm20:​addmodule.png? |}}+Конфигурация готова к внесению изменений.
  
-Назовите новый ​элемент "​МИКО_Софтфон"​.+===== Создание новых объектов ===== 
 +  - Вставьте внешнюю обработку,​ которая ​идет в поставке,​ присвойте ей имя "​**МИКО_ПанельТелефонииДля1С**"​. 
 +  - Добавьте новый ​общий модуль **"​МИКО_Софтфон"​**. {{ :​doc:​panel1ccrm20:​addmodule.png?​ |}} 
 +  - Установите флажки напротив свойств **"​Сервер"​** и **"​Вызов сервера"​** ​модуля. {{ :​doc:​panel1ccrm20:​moduleproperties.png?​ |}} 
 +  - Скопируйте [[astpanel:​designer:​crm2:​modulesrc|текст,​ расположенный по данной ссылке]],​ и вставьте его в модуль **"​МИКО_Софтфон"​**.
  
-**Шаг 2**. Установите флажки напротив свойств "​Сервер"​ и "​Вызов сервера" для созданного модуля.+===== Настройка прав доступа =====
  
-{{ :doc:panel1ccrm20:moduleproperties.png? |}}+  - Добавьте в конфигурацию новую роль **"​МИКО_Софтфон"​**. 
 +  - Снимите все отметки о правах выставляемые по умолчанию,​ а для обработки **МИКО_ПанельТелефонииДля1С** ("​**МИКО_ПанельТелефонииДля1С**"​) установите все права.{{ :astpanel:​designer:​crm2:​pravamikosoftfon.png |}} 
 +  - Аналогично,​ для обработки **"​сфпСофтФонВнешняяПанель"​**.{{ :​astpanel:​designer:​crm2:​pravadlyasoftfonprof.png |}} 
 +  - Назначьте право на использование компанды **"​ОткрытьСофтФон"​** {{ :​astpanel:​designer:​crm2:​pravadlyakomandi.png |}} 
 +  - В конфигурации перейдите к обработке "​**сфпСофтФонВнешняяПанель**"​ 
 +  - Для команды "​**ОткрытьСофтФон**"​ измените синоним на "​**Панель телефонии**"​ {{ :​astpanel:​designer:crm2:sinonim_soffon.png?nolink ​|}} 
 +===== Изменение общих модулей =====
  
-**Шаг 3**. Скопируйте [[astpanel:​designer:​crm2:​modulesrc|текстрасположенный ​по данной ссылке]], и вставьте его в модуль "​МИКО_Софтфон".+  - Передите к общему модулю "**сфпСофтФонПроКлиент**",  
 +  - К процедуре "​**сфпПриНачалеРаботыСистемы**". В начало необходимо вставить фрагмент кода: <code 1с> 
 +// PT1C / Панель телефонии Asterisk / Начало 
 +НазваниеПанелиТелефонии = "​Панель телефонии Asterisk (МИКО)"
 +МИКО_Софтфон.ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии);​ 
 +Если МИКО_Софтфон.Использовать(НазваниеПанелиТелефонии) Тогда
  
-**Шаг 4**Добавьте внешнюю обработку MIKO_Asterisk ​в конфигурацию.+ Отказ = Ложь; 
 + Попытка 
 + // Версии 1.4.25.10+ ​обработка переименована в "​МИКО_ПанельТелефонииДля1С"​ 
 + сфпФормаТелефонВнешняяПанель = ПолучитьФорму("​Обработка.МИКО_ПанельТелефонииДля1С.Форма.Форма"​);​ 
 + сфпФормаТелефонВнешняяПанель.ИнициализироватьПанельТелефонии(Истина,​ Отказ); 
 + Исключение 
 + Отказ = Истина;​ 
 + КонецПопытки
 +  
 + Если Отказ Тогда 
 + Сообщить("​Не ​удалось запустить ""​Панель телефонии Asterisk"""​);​ 
 + Иначе 
 + сфпОбработаноВнешнееСобытие = Истина;​ 
 + КонецЕсли
 + Возврат;​ 
 +КонецЕсли;​ 
 +// PT1C / Панель телефонии Asterisk / Конец
  
-{{ :​doc:​panel1ccrm20:​addwork.png?​ |}} +</​code>​ 
- +  - К процедуре "**сфпПереподключитьСофтФон**"В начало необходимо вставить фрагмент кода:<​code 1c>// PT1C / Панель телефонии Asterisk / Начало 
-**Шаг 5**. Создайте новую ​обработку "МИКО_Заглушка" ​в конфигурации. Добавьте в созданную обработку новую ​формуПоместите ​приведенный ниже текст в модуль формы. +Если ​МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)"​) Тогда 
- + Если сфпФормаТелефонВнешняяПанель = Неопределено Тогда 
-<code 1c>&​НаКлиенте + Попытка 
-Процедура ПолучитьУстройстваВводаММ(УстройствоВвода) Экспорт + сфпФормаТелефонВнешняяПанель = ПолучитьФорму("​Обработка.МИКО_ПанельТелефонииДля1С.Форма.Форма"​);​ 
- + сфпФормаТелефонВнешняяПанель.ИнициализироватьПанельТелефонии(Истина, Ложь); 
-КонецПроцедуры+ Исключение 
 + Сообщить("​Не удалось запустить ""​Панель телефонии Asterisk (МИКО)""​!"​);​ 
 + Возврат; 
 + КонецПопытки; 
 + Иначе 
 + // Переопределение обработки команды  
 + Если сфпФормаТелефонВнешняяПанель.Открыта() Тогда 
 + сфпФормаТелефонВнешняяПанель.Активизировать();  
 + Иначе 
 + сфпФормаТелефонВнешняяПанель.Открыть();​ 
 + КонецЕсли;​ 
 + КонецЕсли;  
 + Возврат; 
 +КонецЕсли; 
 +// PT1C / Панель телефонии Asterisk / Конец
  
 +</​code>​
 +  - К процедуре "​**сфпПроверитьДоступностьСофтФона**"​. В начало необходимо вставить фрагмент кода:<​code 1c> // PT1C / Панель телефонии Asterisk / Начало
 + Если МИКО_Софтфон.Использовать("​Панель телефонии Asterisk (МИКО)"​) Тогда
 + Возврат Истина;​
 + КонецЕсли;​
 + // PT1C / Панель телефонии Asterisk / Конец
 +</​code>​
 +===== Изменение общих форм =====
 +  - Перейти к общей форме "​**CRM_СообщенияПодключения**"​. В модуле формы, в начало процедуры "​**ПриОткрытии**"​ необходимо добавить фрагмент кода: <code 1c> // PT1C / Панель телефонии Asterisk / Начало
 + Если МИКО_Софтфон.Использовать("​Панель телефонии Asterisk (МИКО)"​) Тогда
 + Возврат;​
 + КонецЕсли;​
 + // PT1C / Панель телефонии Asterisk / Конец
 +</​code>​
 +  - Перейти к общей форме "​**ПечатьДокументов**"​. **В конец** процедуры "​**ПриСозданииНаСервере**"​ необходимо добавить фрагмент кода: <code 1c> // PT1C / Панель телефонии Asterisk / Начало
 + МИКО_Софтфон.ДобавитьКнопкиФаксаНаФормуПечати(ЭтаФорма);​
 + // PT1C / Панель телефонии Asterisk / Конец
 +</​code>​
 +  - **После** процедуры "​**ПриСозданииНаСервере**",​ добавить дополнительные процедуры - обработки:​ <code 1c>
 &​НаКлиенте &​НаКлиенте
-Процедура ПолучитьУстройстваВыводаММ(УстройствоВыводаЭкспорт+Процедура ​МИКО_ОтправитьКакФакс() 
 + Если НЕ МИКО_Софтфон.Использовать("​Панель телефонии Asterisk (МИКО)"​)  
 + ИЛИ сфпФормаТелефонВнешняяПанель = Неопределено Тогда 
 + Возврат;​ 
 + КонецЕсли;​ 
 +  
 + ТабличныеДокументы = Новый СписокЗначений; 
 + Для Каждого НастройкаПечатнойФормы Из НастройкиПечатныхФорм Цикл 
 + Если Элементы[НастройкаПечатнойФормы.ИмяРеквизита].Вывод ​= ИспользованиеВывода.Разрешить И НастройкаПечатнойФормы.Печатать Тогда 
 + ТабличныеДокументы.Добавить(ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита], НастройкаПечатнойФормы.Представление);​ 
 + КонецЕсли;​ 
 + КонецЦикла;​
  
-КонецПроцедуры</code>+ Если ТабличныеДокументы.Количество()=0 Тогда 
 + Возврат;​ 
 + Иначе 
 + ТабДок = ТабличныеДокументы[0].Значение;​ 
 + КонецЕсли;​  
 + // отсылаем факс 
 + сфпФормаТелефонВнешняяПанель.ОтправитьФайлПоФаксу(,​ТабДок);​  
 +КонецПроцедуры // МИКО_ОтправитьКакФакс()
  
-**Шаг 6**. Откройте модуль управляемого приложения.+аКлиенте  
 +Процедура МИКО_Позвонить() 
 + Если НЕ МИКО_Софтфон.Использовать("​Панель телефонии Asterisk (МИКО)")  
 + ИЛИ сфпФормаТелефонВнешняяПанель = Неопределено Тогда 
 + Возврат
 + КонецЕсли;​  
 +  
 + ПараметрыПечати = Неопределено;​ 
 + Если Параметры.Свойство("​ПараметрыПечати",​ПараметрыПечати) 
 + И ТипЗнч(ПараметрыПечати) = Тип("​Структура") Тогда 
 +  
 + Если ПараметрыПечати.Свойство("​ОбъектыПечати"​) 
 +   И ТипЗнч(ПараметрыПечати.ОбъектыПечати) = Тип("​Массив"​) 
 +   И ПараметрыПечати.ОбъектыПечати.Количество()>​0 Тогда 
 +    
 + Участник = МИКО_Софтфон.ПолучитьСсылкуНаУчастникаИзДокумента(ПараметрыПечати.ОбъектыПечати[0]);​ 
 + Если ТипЗнч(Участник) = Тип("​Массив")  
 + И Участник.Количество()>0 Тогда 
 + сфпФормаТелефонВнешняяПанель.ПозвонитьВыбравТелефон(Участник);​ 
 + ИначеЕсли Участник <> Неопределено Тогда 
 + СписокУчастников = Новый Массив(1);​ 
 + СписокУчастников[0] = Участник;​ 
 + сфпФормаТелефонВнешняяПанель.ПозвонитьВыбравТелефон(СписокУчастников);​ 
 + КонецЕсли;​ 
 + КонецЕсли;​ 
 + КонецЕсли; ​
  
-{{ :​doc:​panel1ccrm20:​openctrlapp.png?​ |}}+КонецПроцедуры 
 +</​code>​
  
-В разделе ​объявления переменных вставьте текст:+===== Документ "​CRM_Событие" =====
  
-сфпФормаТелефон+В форму документа с именем "**ФормаДокумента**",​ в начало процедуры "​**ОбработкаОповещения**"​ добавить:​
  
 +<code 1c>&​НаКлиенте
 +Процедура ОбработкаОповещения(ИмяСобытия,​ Параметр,​ Источник)
 +
 + // PT1C // +
 + Если ИмяСобытия = "​PT1C_ИсходящийВызовНеУдался" ​
 + И Параметр <> Неопределено ​
 + И Параметр.ОснованиеЗвонка = Объект.Ссылка Тогда
 + врТекстСообщения = ""​+Формат(ТекущаяДата(),"​ДЛФ=DDT"​) + " : Пытались позвонить клиету на номер "​+Параметр.НомерТелефона+"​ - не дозвонились.";​
 + Объект.Результат = Объект.Результат + ?​(ЗначениеЗаполнено(Объект.Результат),​ Символы.ПС,​ ""​) + врТекстСообщения;​
 + ИначеЕсли ИмяСобытия =  "​PT1C_ЗаписьСобытия"​
 +   И Параметр <> Неопределено ​
 +   И Параметр.Ссылка = Объект.Ссылка Тогда
 + Если Параметр.НеДозвонились = Истина Тогда
 + врТекстСообщения = ""​+Формат(ТекущаяДата(),"​ДЛФ=DDT"​) + " : "
 +  ​  + "​Звонок клиенту на номер "​+Параметр.НомерТелефона+"​ - дозвонились,​ но требуется перезвонить"​+Символы.ПС
 +  ​  + Параметр.Содержание+Символы.ПС;​
 + Иначе
 + врТекстСообщения = ""​+Формат(ТекущаяДата(),"​ДЛФ=DDT"​) + " : "
 +  ​  + "​Успешно дозвонились клиенту на номер "​+Параметр.НомерТелефона+"​. ​ Создан документ """​+Источник+""",​ см. структуру подчиненности"​+Символы.ПС
 +  ​  + Параметр.Содержание+Символы.ПС;​
 + КонецЕсли;​   ​
 + Объект.Результат = Объект.Результат + ?​(ЗначениеЗаполнено(Объект.Результат),​ Символы.ПС,​ ""​) + врТекстСообщения;​
 + КонецЕсли;​
 + // PT1C // -
  
 +</​code>​
  
-Перейдите к процедуре "​ПриНачалеРаботыСистемы"​. +===== Добавление картинок =====
- +
-**Шаг 7**. Перед текстом,​ начинающемся с комментария "​СофтФон", ​вставьте [[astpanel:​designer:​crm2:​ctrlmodulesrc|текст,​ расположенный по данной ссылке]]. Т.к во избежании загрузки встроенного софтфона работа процедура досрочно завершается,​ возможно потребуется перенести код ​инициализации других ​объектов CRM выше. Вы можете переместить этот код либо до загрузки панели телефонии,​ либо непосредственно после, как показано на рисунке ниже. +
- +
-{{ :​doc:​panel1ccrm20:​ctrlapp.png?​ |}} +
- +
-**Шаг 8**. В начало процедуры "​ПриЗавершенииРаботыСистемы"​ добавьте код приведенный ниже. +
- +
-<code 1c>//​+МИКО +
-Попытка +
- сфпФормаТелефон.ЗавершитьРаботу();​ +
-Исключение +
-КонецПопытки;​ +
-//​-МИКО</​code>​ +
-===== Этап 3. Настройка прав доступа ===== +
- +
-**Шаг 1**. Добавьте в конфигурацию новую роль. +
- +
-{{ :​doc:​panel1ccrm20:​addrole.png?​ |}} +
- +
-Назовите роль "​МИКО_Софтфон"​. +
- +
-**Шаг 2**. Снимите все отметки о правах выставляемые по умолчанию. Для обработки MIKO_Asterisk отметьте все права.+
  
-{{ :doc:panel1ccrm20:role.png? |}}+В общие картинки добавить 
 +  - Картинку с именем "​**МИКО_ЗаписьРазговора**" ​{{:astpanel:designer:crm2:​miko_zapisrazgovora.png?​nolink|}} 
 +  - Картинку с именем "​**МИКО_Телефон**"​ {{:​astpanel:​designer:​crm2:​miko_telefon.png?​nolink|}} 
 +  - Картинку с именем "​**МИКО_ОтправитьФакс**"​ {{:​astpanel:​designer:​crm2:​miko_otpravitfaks.png?nolink|}}
  
-**Шаг 3**. Обновите конфигурацию базы данных. 
  
-{{ :doc:​panel1ccrm20:​confupd.png? ​|}}+[[astpanel:designer|Обратно,​ к списку конфигураций...]] 
 +===== Первый запуск =====
  
-**Шаг 4**. Откройте ​список пользователей информационной ​базы.+  - Необходимо запустить 1С под учетной записью администратора 1С. 
 +  - Перейдите в раздел "​**Общие настройки**"​ 
 +  - Для текущего ​пользователя следует перейти в "**Пользователи**" - "​**Персональные настройки**"​. 
 +  - Включите опции:
  
-{{ :​doc:​panel1ccrm20:​users.png?​ |}}+  * "​**Использовать СофтФон**" ​  
 +  * "​**Панель телефонии Asterisk (МИКО)**"​ 
 +  * "​**Использовать внутреннюю панель СофтФон**"​
  
-**Шаг 5**. Для тех пользователей,​ которые должны иметь доступ к панели телефонии назначьте роли.+{{ :​astpanel:​designer:​crm2:​crm_personal_settings.png?​nolink|}}
  
-{{ :doc:panel1ccrm20:userroles.png? |}}+  - Перейдите в раздел "​**Общие настройки**"​ 
 +  - "​**Сервис**"​ - "​**Настройки системы**",​ необходимо включить использование СофтФон ​{{ :astpanel:designer:crm2:​crm_sofphone_settings.png?nolink ​|}}
  
-Как минимум, должны быть ​назначены ​роли: +[[astpanel:​enterprise:​managed|Перейти ​к инструкции по настройке ​в режиме предприятия]] 
-  * Базовые права (CRM); +===== Коментарии ===== 
-  * МИКО Софтфон.+~~DISQUS~~
astpanel/designer/crm2.1381217983.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)