Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
astpanel:designer:crm2 [2013/10/08 07:41] 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> | ||
- | Определите глобальную переменную в начале модуля до раздела процедур.<code 1c>//+МИКО | + | ===== Документ "CRM_Событие" ===== |
- | Перем сфпФормаТелефон Экспорт; | + | |
- | //-МИКО</code> | + | |
- | Перейдите к процедуре "ПриНачалеРаботыСистемы". | + | В форму документа с именем "**ФормаДокумента**", в начало процедуры "**ОбработкаОповещения**" добавить: |
- | **Шаг 7**. Перед текстом, начинающемся с комментария "СофтФон", вставьте [[astpanel:designer:crm2:ctrlmodulesrc|текст, расположенный по данной ссылке]]. Т.к во избежании загрузки встроенного софтфона работа процедура досрочно завершается, возможно потребуется перенести код инициализации других объектов CRM выше. Вы можете переместить этот код либо до загрузки панели телефонии, либо непосредственно после, как показано на рисунке ниже. | + | <code 1c>&НаКлиенте |
- | + | Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) | |
- | {{ :doc:panel1ccrm20:ctrlapp.png? |}} | + | |
- | + | // PT1C // + | |
- | **Шаг 8**. В начало процедуры "ПриЗавершенииРаботыСистемы" добавьте код приведенный ниже. | + | Если ИмяСобытия = "PT1C_ИсходящийВызовНеУдался" |
- | + | И Параметр <> Неопределено | |
- | <code 1c>//+МИКО | + | И Параметр.ОснованиеЗвонка = Объект.Ссылка Тогда |
- | Попытка | + | врТекстСообщения = ""+Формат(ТекущаяДата(),"ДЛФ=DDT") + " : Пытались позвонить клиету на номер "+Параметр.НомерТелефона+" - не дозвонились."; |
- | сфпФормаТелефон.ЗавершитьРаботу(); | + | Объект.Результат = Объект.Результат + ?(ЗначениеЗаполнено(Объект.Результат), Символы.ПС, "") + врТекстСообщения; |
- | Исключение | + | ИначеЕсли ИмяСобытия = "PT1C_ЗаписьСобытия" |
- | КонецПопытки; | + | И Параметр <> Неопределено |
- | //-МИКО</code> | + | И Параметр.Ссылка = Объект.Ссылка Тогда |
- | ===== Этап 3. Настройка прав доступа ===== | + | Если Параметр.НеДозвонились = Истина Тогда |
- | + | врТекстСообщения = ""+Формат(ТекущаяДата(),"ДЛФ=DDT") + " : " | |
- | **Шаг 1**. Добавьте в конфигурацию новую роль. | + | + "Звонок клиенту на номер "+Параметр.НомерТелефона+" - дозвонились, но требуется перезвонить"+Символы.ПС |
- | + | + Параметр.Содержание+Символы.ПС; | |
- | {{ :doc:panel1ccrm20:addrole.png? |}} | + | Иначе |
+ | врТекстСообщения = ""+Формат(ТекущаяДата(),"ДЛФ=DDT") + " : " | ||
+ | + "Успешно дозвонились клиенту на номер "+Параметр.НомерТелефона+". Создан документ """+Источник+""", см. структуру подчиненности"+Символы.ПС | ||
+ | + Параметр.Содержание+Символы.ПС; | ||
+ | КонецЕсли; | ||
+ | Объект.Результат = Объект.Результат + ?(ЗначениеЗаполнено(Объект.Результат), Символы.ПС, "") + врТекстСообщения; | ||
+ | КонецЕсли; | ||
+ | // PT1C // - | ||
- | Назовите роль "МИКО_Софтфон". | + | </code> |
- | **Шаг 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~~ |