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

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

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


doc:panel1cut11:1cconfig_ut11

Это старая версия документа!


Инструкции в разработке! Применение не рекомендуется!

Пример встраивания панели телефонии.

Панель телефонии может работать в безинтеграцонном режиме. В этом разделе будут описаны достоинства и недостатки данного режима работы. Кроме того, будет описан способ интеграции панели на примере конфигурации УТ 11, что позволит использовать функционал панели в полной мере.

Достоинства безинтеграционного режима работы:

  • Не требуется изменение конфигурации. Панель может быть запущена через главное меню “Файл -Открыть”. При этом доступен практически весь функционал панели.

Особенности и ограничения:

  • Необходимо «вручную» открывать обработку
  • Нет возможности набирать номер телефона контрагента из его карточки.
  • Пользователю необходим расширенный набор прав: разрешить открытие внешних обработок.
  • При закрытии формы обработки отслеживание звонков прекращается. Для возобновления требуется повторное открытие.

Пример встраивания в **УТ 11.0.9.8**.

Далее будет описан пример интеграции панели, в котором будет предложен вариант преодоления ограничений.

Подготовка конфигурации к изменениям

Обязательно перед началом работ выполняйте резервное копирование информационной базы!

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

Автоматическое открытие панели телефонии

Задача: Необходимо открывать форму панели телефонии автоматически при старте 1С. При закрытии формы обработки необходимо предусмотреть возмож Решение:

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

Совершение звонка из карточки клиента

Задача: Предусмотреть возможность набора номера из элемента справочника «Партнеры» (он же - клиенты, поставщики, конкуренты). Решение:

В модуль формы элемента добавим процедуру - обработчик:

// МИКО / Инациация набора номера
// 
&НаКлиенте
Процедура МИКО_КомандаПозвонить(Парам)
	элПозвонить = ЭтаФорма.Элементы.Найти("декорация_МИКО_Позвонить");
	Если элПозвонить = Неопределено Тогда
	 	Возврат;
	КонецЕсли; 
 
	СписокНомеров = МИКО_ДопФункцииПанелиТелефонии.ПолучитьНомераТелефоновСервер(Объект.Ссылка);
	ВыбранныйЭлемент = ВыбратьИзМеню(СписокНомеров, элПозвонить);
 
	Если НЕ ВыбранныйЭлемент = Неопределено Тогда
	 	MIKO_ПанельТелефонии.НабратьНомерКИ(Объект.Ссылка, ВыбранныйЭлемент.Значение);
	КонецЕсли; 
КонецПроцедуры

Модифицировать обработчик «при создании на сервере»:

////////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ
 
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
 
	// *** Часть исходного текста отсутствует! ***
 
	// МИКО / Начало
	// Элементы.ГруппаСтраницы - перед этим элементом будет вставлен новый элемент
	МИКО_ДопФункцииПанелиТелефонии.ДобавитьДействиеПозвонитьНаФорму(ЭтаФорма, Элементы.ГруппаСтраницы);
	// МИКО / Конец
 
КонецПроцедуры

Новая подсистема

Задача: Предусмотреть возможность повторного открытия формы панели телефонии.

Решение:

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

  • Обработчик команды:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	Если MIKO_ПанельТелефонии = Неопределено Тогда
		Если МИКО_ДопФункцииПанелиТелефонии.ИспользоватьПанельТелефонии() Тогда
			Попытка
				MIKO_ПанельТелефонии = ПолучитьФорму("Обработка.MIKO_ПанельТелефонииAsterisk.Форма.Форма");
				MIKO_ПанельТелефонии.ПодключитьСофтФон();
			Исключение
			КонецПопытки;
		КонецЕсли;
	Иначе
		Если MIKO_ПанельТелефонии.Открыта() Тогда
			MIKO_ПанельТелефонии.Активизировать();
		Иначе	
			MIKO_ПанельТелефонии.Открыть();
		КонецЕсли; 
	КонецЕсли; 	
КонецПроцедуры
doc/panel1cut11/1cconfig_ut11.1369904570.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)