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

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


astpanel:designer:ut11:callcommand_ut11_1

Добавление кнопки "Позвонить" на закладку контактной информации справочников

В формах некоторых справочников (например, «Контрагент») присутствует закладка «Контактная информация». Для полей адреса и электронной почты уже разработан механизм добавляющий кнопку с соответствующим действием. Добавим для поля телефон аналогичную кнопку с действием «Позвонить».

Порядок действий следующий.

  1. Откройте окно настройки поддержки и установите правило поддержки на «Объект поставщика редактируется с сохранением поддержки» для объектов:
    • ОбщийМодуль.УправлениеКонтактнойИнформацией;
    • ОбщийМодуль.УправлениеКонтактнойИнформациейКлиент.
  2. Откройте модуль «УправлениеКонтактнойИнформацией» и перейдите к функции «Действие».
  3. Измените текст функции как показано ниже. Добавьте текст, выделенный в комментарий PT1C
    Функция Действие(Форма, Тип, ИмяРеквизита, ГруппаДействий, КоличествоАдресов, ЕстьКомментарий = Ложь)
     
     
            МожноСоздаватьДействие = Истина;
    	Если Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда
    		Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.РаботаСПочтовымиСообщениями") Тогда
    			МодульРаботаСПочтовымиСообщениями = ОбщегоНазначения.ОбщийМодуль("РаботаСПочтовымиСообщениями");
    			Если НЕ МодульРаботаСПочтовымиСообщениями.ДоступнаОтправкаПисем() Тогда
    				МожноСоздаватьДействие = Ложь;
    			КонецЕсли;
    		Иначе
    			МожноСоздаватьДействие = Ложь;
    		КонецЕсли;
    	КонецЕсли;
     
    	Если МожноСоздаватьДействие И ((Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница
    		// PT1C / Панель телефонии Asterisk / Начало
    		Или Тип = Перечисления.ТипыКонтактнойИнформации.Телефон
    		// PT1C / Панель телефонии Asterisk / Конец
    		Или Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты)
    		Или (Тип = Перечисления.ТипыКонтактнойИнформации.Адрес И КоличествоАдресов > 1)) Тогда
     
    		// Есть действие
    		...
     
    		Если Тип = Перечисления.ТипыКонтактнойИнформации.Адрес Тогда
     
    			...
     
    		ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.ВебСтраница Тогда
     
    			...
     
    		ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.АдресЭлектроннойПочты Тогда
     
    			...
    		// PT1C / Панель телефонии Asterisk / Начало
    		ИначеЕсли Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
     
    			Элемент.Заголовок = НСтр("ru='Позвонить'");
    			Команда.Подсказка = НСтр("ru='Позвонить'");
    			Команда.Картинка = БиблиотекаКартинок.МИКО_Телефон;
     
    		// PT1C / Панель телефонии Asterisk / Конец
    		КонецЕсли;
     
    		...
     
    	Иначе
     
    		...
     
    	КонецЕсли;
     
    	Возврат Элемент;
     
    КонецФункции
  4. Откройте модуль «УправлениеКонтактнойИнформациейКлиент» и перейдите к функции «ПодключаемаяКоманда».
  5. Измените текст процедуры как показано ниже. Добавьте текст, выделенный в комментарий PT1C
    Функция ПодключаемаяКоманда(Форма, Знач ИмяКоманды) Экспорт
     
    	...
     
    	Если КомандаКонтекстногоМеню Тогда
     
    		...
     
    	ИначеЕсли ТипКонтактнойИнформации = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Адрес") Тогда
     
    			...
     
    	ИначеЕсли ТипКонтактнойИнформации = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты") Тогда
     
    			...
     
    	ИначеЕсли ТипКонтактнойИнформации = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.ВебСтраница") Тогда
     
    			...
     
    	// PT1C / Панель телефонии Asterisk / Начало
    	ИначеЕсли ТипКонтактнойИнформации = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон") Тогда
     
    		ПозвонитьПоТелефону(Форма, ИмяРеквизита);
    	// PT1C / Панель телефонии Asterisk / Конец	
     
    	КонецЕсли;
     
    	Возврат Неопределено;
    КонецФункции
  6. Затем добавьте в этот модуль процедуру «ПозвонитьПоТелефону» с текстом, расположенным по данной ссылке.
astpanel/designer/ut11/callcommand_ut11_1.txt · Последние изменения: 2016/07/07 12:44 — apor