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

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


astpanel:designer:ut_crm2_0_16

ИНТЕГРАЦИЯ ПАНЕЛИ ТЕЛЕФОНИИ

Обратно, к списку конфигураций...

  • Руководство составлено для Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0.16.10.
  • Требуется панель телефонии версии 1.4.26.15+.

Инструкции для прочих версий УТиВСК 2.0...

Сделайте РЕЗЕРВНУЮ КОПИЮ информационной базы.

Настройка поддержки

Необходимо включить возможность изменения конфигурации.

Порядок действий следующий:

  1. Убедитесь, что все пользователи завершили свою работу с программой.
  2. Сделайте РЕЗЕРВНУЮ КОПИЮ информационной базы.
  3. Запустите программу в режиме «Конфигуратор».
  4. Откройте окно настройки поддержки «Конфигуратор» - «Поддержка» - «Настройка поддержки».
  5. Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно.
  6. В появившемся окне укажите, что объекты поставщика редактируются с сохранением поддержки.

Конфигурация готова к внесению изменений.

Создание новых объектов

  1. Вставьте внешнюю обработку, которая идет в поставке, присвойте ей имя «МИКО_ПанельТелефонииДля1С».
  2. Добавьте новый общий модуль «МИКО_Софтфон».
  3. Установите флажки напротив свойств «Сервер» и «Вызов сервера» модуля.
  4. Скопируйте текст, расположенный по данной ссылке, и вставьте его в модуль «МИКО_Софтфон».

Настройка прав доступа

  1. Добавьте в конфигурацию новую роль «МИКО_Софтфон».
  2. Снимите все отметки о правах выставляемые по умолчанию, а для обработки «МИКО_ПанельТелефонииДля1С» установите все права.

Добавление подсистемы телефонии

  1. Создайте новую подсистему «МИКО_ПанельТелефонии»;
  2. Включите в ее состав обработку МИКО_ПанельТелефонииДля1С и роль МИКО_Софтфон.

Изменение глобального модуля

  1. Откройте модуль управляемого приложения.
  2. Перейдите к процедуре «ПриЗавершенииРаботыСистемы» (создайте процедуру, если ее нет). В конец процедуры вставьте код приведенный ниже.
    	// PT1C / Панель телефонии Asterisk / Начало
    	Если сфпПанельУправления <> Неопределено
    		 И ТипЗнч(сфпПанельУправления) = Тип("УправляемаяФорма") 
    		 И Найти(сфпПанельУправления.ИмяФормы,"Обработка.МИКО_ПанельТелефонииДля1С")<>0 Тогда
    		сфпПанельУправления.ЗавершитьРаботу(Истина);
    	КонецЕсли;
    	// PT1C / Панель телефонии Asterisk / Конец

Изменение общих модулей

  1. Передите к общему модулю «сфпСофтФонПроКлиент»,
  2. К процедуре «сфпПодключитьСофтФон». В начало необходимо вставить фрагмент кода:
    	// PT1C / Панель телефонии Asterisk / Начало
    	НазваниеПанелиТелефонии = "Панель телефонии Asterisk (МИКО)";
    	Если сфпПанельУправления = Неопределено Тогда
    		МИКО_Софтфон.ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии);
    	КонецЕсли; 
     
    	Если МИКО_Софтфон.Использовать(НазваниеПанелиТелефонии) Тогда
    		Если сфпПанельУправления = Неопределено Тогда
    			Попытка
    				сфпПанельУправления = ПолучитьФорму("Обработка.МИКО_ПанельТелефонииДля1С.Форма.Форма");
    				сфпПанельУправления.ИнициализироватьПанельТелефонии(Истина, Ложь);
    			Исключение
    				Сообщить("Не удалось запустить ""Панель телефонии Asterisk (МИКО)""!");
    				Возврат;
    			КонецПопытки;
    		Иначе
    			// Переопределение обработки команды 
    			Если сфпПанельУправления.Открыта() Тогда
    				сфпПанельУправления.Активизировать(); 
    			Иначе
    				сфпПанельУправления.Открыть();
    			КонецЕсли;
    		КонецЕсли; 
    		Возврат;
    	КонецЕсли;
    	// PT1C / Панель телефонии Asterisk / Конец
  3. К процедуре «сфпПозвонить». В начало необходимо вставить фрагмент кода:
    	// PT1C / Панель телефонии Asterisk / Начало
    	Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда
    		ОснованиеЗвонка = Неопределено;
     
    		Если ДанныеЗаполнения <> Неопределено
    			И ДанныеЗаполнения.Свойство("Основание") Тогда
     
    			ОснованиеЗвонка = Новый Структура("ОснованиеЗвонка, НомерТелефона", ДанныеЗаполнения.Основание, Телефон);
     
    		КонецЕсли;
    		сфпПанельУправления.Позвонить(Телефон,ОснованиеЗвонка);
    		Возврат;	
    	КонецЕсли;
    	// PT1C / Панель телефонии Asterisk / Конец
  4. К процедуре «сфпПозвонитьВыбравТелефон». В начало необходимо вставить фрагмент кода:
    	// PT1C / Панель телефонии Asterisk / Начало
    	Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда
    		сфпПанельУправления.ПозвонитьВыбравТелефон(СписокОбъектов);
    		Возврат;	
    	КонецЕсли;
    	// PT1C / Панель телефонии Asterisk / Конец
  5. К процедуре «сфпПроверитьДоступностьСофтФон». В начало необходимо вставить фрагмент кода:
    	// PT1C / Панель телефонии Asterisk / Начало
    	Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда
    		Возврат Истина;
    	КонецЕсли;
    	// PT1C / Панель телефонии Asterisk / Конец

Изменение общих форм

  1. Перейти к общей форме «CRM_СообщенияПодключения». В модуле формы, в процедуре «ПриСозданииНаСервере» необходимо добавить фрагмент кода:
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
     
    	Если НЕ Параметры.Свойство("ВидФормы") Тогда
    		Отказ = Истина;
     
    	ИначеЕсли Параметры.ВидФормы = "СофтФон" Тогда
    		// PT1C / Панель телефонии Asterisk / Начало
    		Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") Тогда
    			Возврат;
    		КонецЕсли;
    		// PT1C / Панель телефонии Asterisk / Конец
     
    	// *** *** ***
    	// ВНИМАНИЕ ПРОПУЩЕНА ЧАСТЬ ИСХОДНОГО КОДА
    	// *** *** ***
     
    	КонецЕсли;
    КонецПроцедуры // ПриСозданииНаСервере()
  2. Перейти к общей форме «ПечатьДокументов». В конец процедуры «ПриСозданииНаСервере» необходимо добавить фрагмент кода:
    	// PT1C / Панель телефонии Asterisk / Начало
    	МИКО_Софтфон.ДобавитьКнопкиФаксаНаФормуПечати(ЭтаФорма);
    	// PT1C / Панель телефонии Asterisk / Конец
  3. После процедуры «ПриСозданииНаСервере», добавить дополнительные процедуры - обработки:
    &НаКлиенте
    Процедура МИКО_ОтправитьКакФакс()
    	Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") 
    		 ИЛИ сфпПанельУправления = Неопределено Тогда
    	 	Возврат;
    	КонецЕсли;
     
    	ТабличныеДокументы = Новый СписокЗначений;
    	Для Каждого НастройкаПечатнойФормы Из НастройкиПечатныхФорм Цикл
    		Если Элементы[НастройкаПечатнойФормы.ИмяРеквизита].Вывод = ИспользованиеВывода.Разрешить И НастройкаПечатнойФормы.Печатать Тогда
    			ТабличныеДокументы.Добавить(ЭтотОбъект[НастройкаПечатнойФормы.ИмяРеквизита], НастройкаПечатнойФормы.Представление);
    		КонецЕсли;
    	КонецЦикла;
     
    	Если ТабличныеДокументы.Количество()=0 Тогда
    		Возврат;
    	Иначе
    		ТабДок = ТабличныеДокументы[0].Значение;
    	КонецЕсли; 
    	// отсылаем факс
    	сфпПанельУправления.ОтправитьФайлПоФаксу(,ТабДок);	
    КонецПроцедуры // МИКО_ОтправитьКакФакс()
     
    &НаКлиенте 
    Процедура МИКО_Позвонить()
    	Если НЕ МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") 
    		 ИЛИ сфпПанельУправления = Неопределено Тогда
    	 	Возврат;
    	КонецЕсли; 
     
    	ПараметрыПечати = Неопределено;
     
    	Если ТипЗнч(ОбъектыПечати) = Тип("СписокЗначений")
    		И ОбъектыПечати.Количество() > 0 Тогда
     
    		Участник = МИКО_Софтфон.ПолучитьСсылкуНаУчастникаИзДокумента(ОбъектыПечати[0].Значение);
    		Если ТипЗнч(Участник) = Тип("Массив") 
    			И Участник.Количество()>0 Тогда
    			сфпПанельУправления.ПозвонитьВыбравТелефон(Участник);
    		ИначеЕсли Участник <> Неопределено Тогда
    			СписокУчастников = Новый Массив(1);
    			СписокУчастников[0] = Участник;
    			сфпПанельУправления.ПозвонитьВыбравТелефон(СписокУчастников);
    		КонецЕсли;
    	КонецЕсли; 
     
    КонецПроцедуры

Документ "CRM_Событие"

В форму документа с именем «ФормаДокумента», в начало процедуры «ОбработкаОповещения» добавить:

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
 
	// PT1C // +
	Если ИмяСобытия = "PT1C_ИсходящийВызовНеУдался" 
		 И Параметр <> Неопределено 
		 И Параметр.ОснованиеЗвонка = Объект.Ссылка Тогда
		врТекстСообщения = ""+Формат(ТекущаяДата(),"ДЛФ=DDT") + " : Пытались позвонить клиету на номер "+Параметр.НомерТелефона+" - не дозвонились.";
		Объект.Результат = Объект.Результат + ?(ЗначениеЗаполнено(Объект.Результат), Символы.ПС, "") + врТекстСообщения;
	ИначеЕсли ИмяСобытия =  "PT1C_ЗаписьСобытия"
			  И Параметр <> Неопределено 
		 	  И Параметр.Ссылка = Объект.Ссылка Тогда	
		Если Параметр.НеДозвонились = Истина Тогда
			врТекстСообщения = ""+Формат(ТекущаяДата(),"ДЛФ=DDT") + " : "
							   + "Звонок клиенту на номер "+Параметр.НомерТелефона+" - дозвонились, но требуется перезвонить"+Символы.ПС
							   + Параметр.Содержание+Символы.ПС;
		Иначе
			врТекстСообщения = ""+Формат(ТекущаяДата(),"ДЛФ=DDT") + " : "
							   + "Успешно дозвонились клиенту на номер "+Параметр.НомерТелефона+".  Создан документ """+Источник+""", см. структуру подчиненности"+Символы.ПС
							   + Параметр.Содержание+Символы.ПС;
		КонецЕсли; 	  
		Объект.Результат = Объект.Результат + ?(ЗначениеЗаполнено(Объект.Результат), Символы.ПС, "") + врТекстСообщения;
	КонецЕсли;
	// PT1C // -

Добавление картинок

В общие картинки добавить

  1. Картинку с именем «МИКО_ЗаписьРазговора»
  2. Картинку с именем «МИКО_Телефон»
  3. Картинку с именем «МИКО_ОтправитьФакс»

Добавление кнопки "Прослушать запись" в документ "Событие"

По завершению работы помощника первоначальной настройки для документа будет создано свойство «ID_Звонок», назначение которого - хранить ссылку на запись.

Порядок действий:

  1. Добавьте в обработку МИКО_ПанельТелефонииДля1С команду «ПрослушатьЗапись» и поместите в модуль команды
    &НаКлиенте
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
     
    	Если МИКО_Софтфон.Использовать("Панель телефонии Asterisk (МИКО)") 
    		 И  сфпПанельУправления <> Неопределено Тогда
    		ДокументСобытиеНазвание = сфпПанельУправления.ИмяДокументСобытие();
     
    		ID_Звонок = ПолучитьИдентификаторЗвонка(ПараметрКоманды, ДокументСобытиеНазвание);
    		Если ID_Звонок <> Неопределено Тогда
    			сфпПанельУправления.ПрослушатьЗвонокПоИдентификатору(ID_Звонок);
    		КонецЕсли;
     
    	КонецЕсли;
     
    КонецПроцедуры
     
    // Получение GUID звонка
    //
    &НаСервере 
    Функция ПолучитьИдентификаторЗвонка(Ссылка, ДокументСобытиеНазвание)
     
    	Запрос = Новый Запрос;
    	Запрос.Текст = 
    		"ВЫБРАТЬ РАЗРЕШЕННЫЕ
    		|	СобытиеДополнительныеРеквизиты.Значение,
    		|	СобытиеДополнительныеРеквизиты.ТекстоваяСтрока
    		|ИЗ
    		|	Документ." + ДокументСобытиеНазвание + ".ДополнительныеРеквизиты КАК СобытиеДополнительныеРеквизиты
    		|ГДЕ
    		|	СобытиеДополнительныеРеквизиты.Ссылка = &ДокументСсылка
    		|	И СобытиеДополнительныеРеквизиты.Свойство В
    		|			(ВЫБРАТЬ
    		|				ДополнительныеРеквизитыИСведения.Ссылка
    		|			ИЗ
    		|				ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
    		|			ГДЕ
    		|				ДополнительныеРеквизитыИСведения.Наименование = &НаименованиеДопСвойства)";
     
    	Запрос.УстановитьПараметр("НаименованиеДопСвойства", "ID_Звонок");
    	Запрос.УстановитьПараметр("ДокументСсылка", Ссылка);
     
    	РезультатЗапроса = Запрос.Выполнить();
    	Если Не РезультатЗапроса.Пустой() Тогда
    		Выборка = РезультатЗапроса.Выбрать();
    		Выборка.Следующий();
     
    		Возврат Выборка.Значение;
    	КонецЕсли;
     
    КонецФункции // ПолучитьИдентификаторЗвонка()
  2. «Группа» в значение «Командная панель формы.Важное».
  3. «Тип параметра команды» должно иметь тип данных: ДокументСсылка.CRM_Событие.
  4. «Отображение» в значение «Картинка и текст», «Картинка» в значение «МИКО_ЗаписьРазговора».

Данная команда будет доступна только для пользователей с полными правами.

Обновите конфигурацию базы данных и запустите программу в режиме «Предприятие». Результат работы показан на рисунке ниже.  Обратно, к списку конфигураций...

Первый запуск

  1. Необходимо запустить 1С под учетной записью администратора 1С.
  2. Перейдите в раздел «Настройки»
  3. Для текущего пользователя следует перейти в «Настройки приложения» - «Настройки пользователей и прав»
  4. Перейти к справочнику «Пользователи»
  5. Для текущего пользователя открыть «Персональные настройки».
  6. Включите опции:
  • «Использовать СофтФон»
  • «Панель телефонии Asterisk (МИКО)»
  • «Использовать внутреннюю панель СофтФон»
  1. Перейдите в раздел «НСИ и администрирование»
  2. Перейдите по ссылке «CRM интеграция с телефонией(Софтфон)», необходимо включить использование Софтфон:

Перейти к инструкции по настройке в режиме предприятия

Коментарии

astpanel/designer/ut_crm2_0_16.txt · Последние изменения: 2016/08/18 09:14 — imal