Внимание!
Эта wiki об устаревших версиях
Документация к актуальной версии интеграции 1С и телефонии доступна по ссылке

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

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


astpanel:designer:bp3

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
astpanel:designer:bp3 [2018/09/11 13:05]
tpor
astpanel:designer:bp3 [2018/09/11 13:05] (текущий)
tpor
Строка 23: Строка 23:
 {{page>​astpanel:​designer:​unf#​ehtap_2_vstraivanie_paneli_telefonii}} {{page>​astpanel:​designer:​unf#​ehtap_2_vstraivanie_paneli_telefonii}}
  
 +===== Этап 3. Добавление кнопки "​Позвонить"​ =====
  
-===== Этап ​3. Добавление кнопки "​Позвонить"​ на закладку контактной информации справочников =====+Для автоматизации набора номера телефона добавим кнопку **"​Позвонить"​** в область команд форм некоторых справочников. 
 + 
 +Порядок действий следующий. 
 +  - Добавьте в обработку **МИКО_ПанельТелефонииДля1С** команду **"​Позвонить"​** и поместите в модуль команды <code 1c> 
 +&​НаКлиенте 
 +Процедура ОбработкаКоманды(ПараметрКоманды,​ ПараметрыВыполненияКоманды) 
 +  
 + Если сфпФормаТелефон <> Неопределено Тогда 
 +  
 + СписокУчастников = ПолучитьСсылкуНаУчастникаИзДокумента(ПараметрКоманды);​ 
 + Если СписокУчастников <> Неопределено Тогда 
 + сфпФормаТелефон.ПозвонитьВыбравТелефон(СписокУчастников);​ 
 + КонецЕсли;​ 
 +  
 + КонецЕсли;​ 
 +  
 +КонецПроцедуры 
 + 
 +// Для документов будет возвращено значение реквизита "​Контрагент"​ 
 +// Для справочников - возвращается ссылка на элемент 
 +// В случае ошибки возвращается "​Неопределено"​ 
 +//  
 +Функция ПолучитьСсылкуНаУчастникаИзДокумента(Знач Ссылка) Экспорт 
 +  
 + Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда 
 + МассивОбъектов = Новый Массив(1);​ 
 + МассивОбъектов[0] = Ссылка;​ 
 +  
 + Возврат МассивОбъектов;​ 
 + ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда 
 + МассивОбъектов = Новый Массив;​ 
 + ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​Контрагент"​);​ 
 + ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​Партнер"​);​ 
 + ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​КонтактноеЛицо"​);​ 
 + ДобавитьЗначениеРеквизитаВМассив(Ссылка,​ МассивОбъектов,​ "​АбонентКонтакт"​);​ 
 + Возврат МассивОбъектов;​ 
 + КонецЕсли;​  
 +КонецФункции // ПолучитьСсылкуНаУчастникаИзДокумента() 
 +  
 +// Получате значение раквизита,​ если значение заполнено - добавляет его в массив. 
 +//  
 +Функция ДобавитьЗначениеРеквизитаВМассив(Знач Ссылка,​ Массив,​ ИмяРеквизита) Экспорт 
 + Если Ссылка.Метаданные().Реквизиты.Найти(ИмяРеквизита) = Неопределено Тогда 
 + Возврат Ложь; 
 + КонецЕсли;​ 
 + Если ЗначениеЗаполнено(Ссылка[ИмяРеквизита]) Тогда 
 + Массив.Добавить(Ссылка[ИмяРеквизита]);​ 
 + КонецЕсли;​ 
 +  
 + Возврат Истина;​ 
 +КонецФункции // ДобавитьЗначениеРеквизитаВМассив() 
 +</​code>​. 
 +  - Установите свойство **"​Группа"​** в значение **"​Командная панель формы.Важное"​**. {{:​astpanel:​designer:​sostav_dial.png?​500|}} 
 +  - Свойство **"​Тип параметра команды"​** должно иметь составной тип данных:​ 
 +    * **СправочникСсылка.КонтактныеЛица**;​ 
 +    * **СправочникСсылка.Контрагенты**;​  
 +    * **СправочникСсылка.Пользователи**;​  
 +    * **СправочникСсылка.Организации**;​  
 +    * **СправочникСсылка.ФизическиеЛица**;​  
 + 
 +Для ранее созданной роли "​**МИКО_Софтфон**"​ добавьте права на доступ к команде "​**Позвонить**"​. 
 +{{ :​astpanel:​designer:​permit_command_dial.png?​nolink&​450 |}} 
 + 
 +Вы можете указать и другие типы объектов,​ в которых будет отображена команда **"​Позвонить"​**. Основным критерием для выбора таких объектов является наличие табличной части **"​КонтактнаяИнформация"​**,​ если это справочник,​ или реквизита **"​Контрагент"​**,​ если это документ. В ином случае может потребоваться изменение текста модуля команды. 
 + 
 +При желании можно добавить картинку на кнопку команды,​ предварительно разместив ее в библиотеке картинок. 
 +  - Раскройте дерево конфигурации на группе **"​Общие картинки"​** и добавьте в нее новый элемент **"​МИКО_Телефон"​**. 
 +  - Загрузите в созданный объект изображение для кнопки **"​Позвонить"​** ({{:​doc:​phonegray.png|}}). 
 +  - Вернитесь к команде **"​Позвонить"​** обработки **МИКО_ПанельТелефонииДля1С** и заполните свойства **"​Отображение"​** в значение **"​Картинка и текст"​**,​ **"​Картинка"​** в значение **"​МИКО_Телефон"​**. 
 + 
 +Обновите конфигурацию базы данных и запустите программу в режиме **"​Предприятие"​**. Результат работы показан на рисунке ниже. 
 + 
 +===== Этап ​4. Добавление кнопки "​Позвонить"​ на закладку контактной информации справочников =====
 Перейдите в общий модуль "​**УправлениеКонтактнойИнформациейКлиент**",​ процедуру "​**ПозвонитьПоТелефону**",​ пример:​ Перейдите в общий модуль "​**УправлениеКонтактнойИнформациейКлиент**",​ процедуру "​**ПозвонитьПоТелефону**",​ пример:​
 <code 1c>​Процедура ПозвонитьПоТелефону(НомерТелефона) <code 1c>​Процедура ПозвонитьПоТелефону(НомерТелефона)
astpanel/designer/bp3.1536671104.txt.gz · Последние изменения: 2018/09/11 13:05 — tpor