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