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

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


astpanel:designer:erp20

Интеграция панели телефонии в конфигурацию "1С:ERP Управление предприятием 2.0"

Встраивать панель телефонии стало проще! Доработка конфигурации с минимальными изменениями! Встраивание панели телефонии с помощью механизма расширений описано здесь.

Руководство составлено для «Управление предприятием, редакция 2.0.10.111» и панели телефонии Asterisk 1.4.24.7 Обзательно перед работами создайте РЕЗЕРВНУЮ КОПИЮ информационной базы.

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

Для начала следует разблокировать головной объект конфигурации для внесения изменений.

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

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

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

Этап 2. Встраивание панели телефонии

Необходимо встроить внешнюю обработку (панель телефонии) в конфигурации, настроить права доступа и ее автоматический запуск в фоновом режиме.

Изменение типовых объектов

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

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

Добавление обработки и подсистемы в конфигурацию

  • Вставьте внешнюю обработку, которая идет в поставке, в конфигурацию, она должна называться МИКО_ПанельТелефонииДля1С.
  • Добавьте в обработку МИКО_ПанельТелефонииДля1С команду «ОткрытьПанельТелефонии»
  • Установите для созданной команды свойство «Группа» в значение «Панель навигации.Важное».
  • Далее требуется описать обработчик команды «ОткрытьПанельТелефонии».
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	Если сфпФормаТелефон <> Неопределено Тогда		
		Если сфпФормаТелефон.Открыта() Тогда
			сфпФормаТелефон.Активизировать(); 
		Иначе
			сфпФормаТелефон.Открыть();
		КонецЕсли;		
	КонецЕсли;	
КонецПроцедуры
  • Создайте новую подсистему «МИКО_ПанельТелефонии» и включите в ее состав обработку МИКО_ПанельТелефонииДля1С.
  • В командном интерфейсе выполнить настройку - отключить стандартную команду запуска обрабокти

Настройка ролей

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

Далее можно переходить к настройке в режиме 1С:Предприятие 8, шаги описанные ниже являются опциональными.

2013/08/06 17:12 · nb

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

Для автоматизации набора номера телефона добавим кнопку «Позвонить» в область команд форм некоторых справочников и документов.

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

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

    .

  2. Установите свойство «Группа» в значение «Командная панель формы.Важное».
  3. Свойство «Тип параметра команды» должно иметь составной тип данных:
    • СправочникСсылка.Партнеры;
    • СправочникСсылка.Контрагенты;
    • СправочникСсылка.КонтактныеЛицаПартнеров;
    • ДокументСсылка.ТелефонныйЗвонок;
    • ДокументСсылка.ЗаказКлиента;

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

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

При желании можно добавить картинку на кнопку команды, предварительно разместив ее в библиотеке картинок.

  1. Раскройте дерево конфигурации на группе «Общие картинки» и добавьте в нее новый элемент «МИКО_Телефон».
  2. Загрузите в созданный объект изображение для кнопки «Позвонить» ().
  3. Вернитесь к команде «Позвонить» обработки МИКО_ПанельТелефонииДля1С и заполните свойства «Отображение» в значение «Картинка и текст», «Картинка» в значение «МИКО_Телефон».

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

 

Этап 6. Добавление кнопки "Прослушать запись" в область команд документа "Телефонный звонок"

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

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

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

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

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

astpanel/designer/erp20.txt · Последние изменения: 2016/12/15 06:50 — tpor