v3.Панель телефонии для ERP-2.0. Методика встраивания

Компанией Simplit разработана методика встраивания для конфигурации 1С:ERP Управление предприятием 2.0

<faicon fa fa-file-picture-o fa-2x> Скриншоты результата после встраивания

Предусмотрены 2 основных уровня интеграции:

  • Базовый уровень (минимум изменений в конфигурации)
  • Расширенный уровень (максимум возможностей)

Базовый уровень

На базовом уровне вносятся изменения, которые не затрагивают модули конфигурации поставщика. Изменения вносятся в модули, которые поставщик конфигурации специально выделил для модификации сторонними разработчиками.

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

Выполняется в режиме «Конфигуратор». Ветка метаданных «Обработки» - «Вставить внешнюю обработку»

Добавление общих модулей Телефония

Общие модули для интеграции предоставляются бесплатно после покупки Панели телефонии

Добавьте новый общий модуль ТелефонияСервер

Добавьте новый общий модуль ТелефонияКлиент

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

Ветка конфигурации «Общие картинки» - «Добавить». Заполните свойства картинки:

По аналогии, добавьте картинки (находятся в архиве поставки):

  • ТелефонияПозвонить
  • ТелефонияПозвонитьКнопка
  • ТелефонияПодсистема
  • ТелефонияПрослушать

Добавление команд

Панель телефонии поставляется в виде внешней обработки. В связи с тем, что внешняя обработка не может содержать команды, их нужно добавить вручную.

Позвонить

Группа: Командная панель формы.Важное

Тип параметра команды: укажите что это составной тип данных и выберите

  • СправочникСсылка.Партнеры
  • СправочникСсылка.Контрагенты
  • СправочникСсылка.КонтактныеЛицаПартнеров
  • СправочникСсылка.ФизическиеЛица
  • ДокументСсылка.ТелефонныйЗвонок
  • ДокументСсылка.ЗаказПокупателя
  • ДокументСсылка.ЗаказПоставщику
  • ДокументСсылка.СчетПокупателю

Текст модуля команды:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	ТелефонияКлиент.ПозвонитьСВыбором(ПараметрыВыполненияКоманды.Источник,ПараметрКоманды);
КонецПроцедуры

Прослушать

Группа: Командная панель формы.Важное

Тип параметра команды: обычный (не составной) ДокументСсылка.ТелефонныйЗвонок

Текст модуля команды:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	ТелефонияКлиент.ПрослушатьЗапись(ПараметрКоманды);
КонецПроцедуры

Открыть

Группа: Панель навигации.Важное

Текст модуля команды:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	ТелефонияКлиент.КомандаОткрытьСофтфон();
КонецПроцедуры

Изменения в модуле управляемого приложения

Добавление переменной в блок объявления переменных:

Перем ПанельТелефонии Экспорт;

Процедура ПриНачалеРаботыСистемы (в конец):

	ТелефонияКлиент.ПриНачалеРаботыСистемы();
КонецПроцедуры

Процедура ПередЗавершениемРаботыСистемы (в конец):

	ТелефонияКлиент.ПередЗавершениемРаботыСистемы(Отказ);
КонецПроцедуры

Процедура ОбработкаВнешнегоСобытия (в начало):

Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные)
	Если Источник="ROM-Asterisk-Native" Тогда
		Возврат;
	КонецЕсли; 

Изменение общего модуля МодификацияКонфигурацииПереопределяемый

В процедуру ПриСозданииНаСервере, (изначально она пустая) добавьте строку:

Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
	ТелефонияСервер.УстановитьКомандыТелефонии(Форма);
КонецПроцедуры

Изменение общего модуля МодификацияКонфигурацииКлиентПереопределяемый

В процедуру ВыполнитьПереопределяемуюКоманду, (изначально она пустая) добавьте строку:

Процедура ВыполнитьПереопределяемуюКоманду(Форма, Команда, ДополнительныеПараметры) Экспорт
	ТелефонияКлиент.ВыполнитьКомандыТелефонии(Форма,Команда);
КонецПроцедуры

Расширенный уровень

Для расширенного уровня предусмотрена интеграция кнопок телефонии Позвонить рядом с полями типа Телефон.

Поставщик конфигурации не предусмотрел возможность переопределения и модификации. Поэтому, необходимо напрямую внести изменение в общий модуль поставщика УправлениеКонтактнойИнформацией, в функцию Действие.

В области окончания функции вставьте строки, выделенные тегом <simplit>:

	...текст функции
	Иначе
 
		//<simplit>
		Если ТелефонияСервер.Действие(Форма,Тип,ИмяРеквизита,ГруппаДействий) Тогда
			Возврат Форма.Элементы.Найти("Позвонить"+ИмяРеквизита);
		КонецЕсли; 
		//</simplit>
 
		// Действия нет, ставим заглушку.
		ИмяЗаглушкиДействия = "ЗаглушкаДействия" + ИмяРеквизита;
		Элемент = Форма.Элементы.Добавить(ИмяЗаглушкиДействия, Тип("ДекорацияФормы"), ГруппаДействий);
		ДобавитьОписаниеЭлемента(Форма, ИмяЗаглушкиДействия, 2);
		Если ЕстьКомментарий Тогда
			Элемент.Высота = 2;
		ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.Другое Тогда
			Элемент.Высота = 5;
		КонецЕсли;
	КонецЕсли;
 
	Возврат Элемент;
 
КонецФункции