====== Интеграция панели телефонии в конфигурацию "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 | }}