====== Интеграция панели телефонии в конфигурацию "1С:ERP Управление предприятием 2.0" ======
* [[http://wiki.miko.ru/astpanel:designer|Обратно к инструкции...]]
Встраивать панель телефонии стало проще! Доработка конфигурации с минимальными изменениями! Встраивание панели телефонии с помощью **механизма расширений** описано [[astpanel:designer:extension|здесь]].
Руководство составлено для "Управление предприятием, редакция 2.0.10.111" и панели телефонии Asterisk 1.4.24.7
Обзательно перед работами создайте РЕЗЕРВНУЮ КОПИЮ информационной базы.
===== Настройка правил поддержки =====
Для начала следует разблокировать головной объект конфигурации для внесения изменений.
Порядок действий следующий.
- Запустите программу в режиме "**Конфигуратор**".
- Откройте окно настройки поддержки. {{ :doc:panel1ccrm20:support.png? |}}
- Включите возможность изменения конфигурации. На предупреждение программы ответьте утвердительно.
- В появившемся окне укажите, что объекты поставщика не редактируются. {{ :doc:panel1ccrm20:rules.png |}}
- Затем для корневого объекта конфигурации ("УправлениеПредприятием") установите правило поддержки на **"Объект поставщика редактируется с сохранением поддержки"**.
Теперь конфигурация готова к внесению изменений.
{{page>astpanel:designer:unf#ehtap_2_vstraivanie_paneli_telefonii}}
===== Добавление кнопки "Позвонить" в область команд форм справочников и документов =====
Для автоматизации набора номера телефона добавим кнопку **"Позвонить"** в область команд форм некоторых справочников и документов.
Порядок действий следующий.
- Добавьте в обработку **МИКО_ПанельТелефонииДля1С** команду **"Позвонить"** и поместите в модуль команды
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Если сфпФормаТелефон <> Неопределено Тогда
Участник = ПолучитьСсылкуНаУчастникаИзДокумента(ПараметрКоманды);
Если Участник <> Неопределено Тогда
СписокУчастников = Новый Массив(1);
СписокУчастников[0] = Участник;
сфпФормаТелефон.ПозвонитьВыбравТелефон(СписокУчастников);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция ПолучитьСсылкуНаУчастникаИзДокумента(Ссылка)
Если ТипЗнч(Ссылка) = Тип("ДокументСсылка.ТелефонныйЗвонок")
И Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка.АбонентКонтакт)) Тогда
Возврат Ссылка.АбонентКонтакт;
ИначеЕсли Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда
Возврат Ссылка;
ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда
Попытка
Возврат Ссылка.Контрагент;
Исключение
КонецПопытки;
КонецЕсли;
КонецФункции // ПолучитьСсылкуНаУчастникаИзДокумента()
.
- Установите свойство **"Группа"** в значение **"Командная панель формы.Важное"**. {{:astpanel:designer:sostav_dial.png?500|}}
- Свойство **"Тип параметра команды"** должно иметь составной тип данных:
* **СправочникСсылка.Партнеры**;
* **СправочникСсылка.Контрагенты**;
* **СправочникСсылка.КонтактныеЛицаПартнеров**;
* **ДокументСсылка.ТелефонныйЗвонок**;
* **ДокументСсылка.ЗаказКлиента**;
Для ранее созданной роли "**МИКО_Софтфон**" добавьте права на доступ к команде "**Позвонить**".
{{ :astpanel:designer:permit_command_dial.png?nolink&450 |}}
Вы может указать и другие типы объектов, в которых будет отображена команда **"Позвонить"**. Основным критерием для выбора таких объектов является наличие табличной части **"КонтактнаяИнформация"**, если это справочник, или реквизита **"Контрагент"**, если это документ. В ином случае может потребоваться изменение текста модуля команды.
При желании можно добавить картинку на кнопку команды, предварительно разместив ее в библиотеке картинок.
- Раскройте дерево конфигурации на группе **"Общие картинки"** и добавьте в нее новый элемент **"МИКО_Телефон"**.
- Загрузите в созданный объект изображение для кнопки **"Позвонить"** ({{:doc:phonegray.png|}}).
- Вернитесь к команде **"Позвонить"** обработки **МИКО_ПанельТелефонииДля1С** и заполните свойства **"Отображение"** в значение **"Картинка и текст"**, **"Картинка"** в значение **"МИКО_Телефон"**.
Обновите конфигурацию базы данных и запустите программу в режиме **"Предприятие"**. Результат работы показан на рисунке ниже.
{{page>http://wiki.telefon1c.ru/astpanel:designer:unf#ehtap_3_dobavlenie_knopki_pozvonit_v_oblast_komand_form_spravochnikov_i_dokumentov}}
===== Этап 6. Добавление кнопки "Прослушать запись" в область команд документа "Телефонный звонок" =====
По завершению работы помощника первоначальной настройки для документа будет создано свойство "**ID_Звонок**", назначение которого - хранить ссылку на запись.
Порядок действий:
- Добавьте в обработку **МИКО_ПанельТелефонииДля1С** команду "**ПрослушатьЗапись**" и поместите в модуль команды &НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Если сфпФормаТелефон <> Неопределено Тогда
ID_Звонок = ПолучитьИдентификаторЗвонка(ПараметрКоманды);
Если ID_Звонок <> Неопределено Тогда
сфпФормаТелефон.ПрослушатьЗвонокПоИдентификатору(ID_Звонок);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Функция ПолучитьИдентификаторЗвонка(Ссылка)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СобытиеДополнительныеРеквизиты.Значение,
| СобытиеДополнительныеРеквизиты.ТекстоваяСтрока
|ИЗ
| Документ.ТелефонныйЗвонок.ДополнительныеРеквизиты КАК СобытиеДополнительныеРеквизиты
|ГДЕ
| СобытиеДополнительныеРеквизиты.Ссылка = &ДокументСсылка
| И СобытиеДополнительныеРеквизиты.Свойство В
| (ВЫБРАТЬ
| ДополнительныеРеквизитыИСведения.Ссылка
| ИЗ
| ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
| ГДЕ
| ДополнительныеРеквизитыИСведения.Наименование = &НаименованиеДопСвойства)";
Запрос.УстановитьПараметр("НаименованиеДопСвойства", "ID_Звонок");
Запрос.УстановитьПараметр("ДокументСсылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Если Не РезультатЗапроса.Пустой() Тогда
Выборка = РезультатЗапроса.Выбрать();
Выборка.Следующий();
Возврат Выборка.Значение;
КонецЕсли;
КонецФункции // ПолучитьИдентификаторЗвонка()
- "**Группа**" в значение "**Командная панель формы.Важное**".
- "**Тип параметра команды**" должно иметь тип данных: **ДокументСсылка.Телефонный звонок**.
- "**Отображение**" в значение "**Картинка и текст**", "**Картинка**" в значение "**МИКО_ЗаписьРазговора**".
- Раскройте дерево конфигурации на группе "**Общие картинки**" и добавьте в нее новый элемент "**МИКО_ЗаписьРазговора**".
- Загрузите в созданный объект изображение для кнопки "**Прослушать запись**" ({{:doc:cassetetape16.png|}}).
- Задайте картинку для команды
Данная команда будет доступна только для пользователей с полными правами.
Обновите конфигурацию базы данных и запустите программу в режиме "**Предприятие**". Результат работы показан на рисунке ниже.
{{ :astpanel:designer:telefon_ring.png?nolink&700 | }}