Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
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>Процедура ПозвонитьПоТелефону(НомерТелефона) |