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

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

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


astpanel:designer:ut11:community_module

Текст общего модуля для панели телефонии УТ 11

К инструкции по встраиванию...

&НаСервере
Функция ИспользоватьПанельТелефонии() Экспорт
	Возврат РольДоступна("МИКО_ИспользованиеСофтфона") ИЛИ РольДоступна("ПолныеПрава");	
КонецФункции // ИспользоватьПанельТелефонии()
 
&НаСервере
// Получение списка номеров объекта контактной информации
// 
Функция ПолучитьНомераТелефоновСервер(Источник, СписокНомеров = Неопределено) Экспорт
	Если НЕ ТипЗнч(СписокНомеров) = Тип("СписокЗначений") Тогда
		СписокНомеров = Новый СписокЗначений;
	КонецЕсли; 
 
	Для каждого Контакт Из Источник.КонтактнаяИнформация Цикл
		// только телефоны
		Если Контакт.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон Тогда
			СтруктураНомера = ПолучитьЗначениеСвойстваСтруктуры(Контакт.ЗначенияПолей);
 
			Если ЗначениеЗаполнено(СтруктураНомера.КодСтраны) 
				 ИЛИ ЗначениеЗаполнено(СтруктураНомера.КодГорода) 
				 ИЛИ ЗначениеЗаполнено(СтруктураНомера.НомерТелефона) Тогда // внешний номер
				СписокНомеров.Добавить("" + СтруктураНомера.КодСтраны + СтруктураНомера.КодГорода + СтруктураНомера.НомерТелефона, " • ("+Контакт.Вид+") " + Контакт.Представление);
			ИначеЕсли ЗначениеЗаполнено(СтруктураНомера.Добавочный) Тогда // внутренний	
				СписокНомеров.Добавить(СтруктураНомера.Добавочный, Контакт.Представление);
			Иначе 
				// номер пуст
				Продолжить;
			КонецЕсли; 
		КонецЕсли; // Проверка на тип контактной информации
	КонецЦикла; // Обход контактной информации
 
	Возврат СписокНомеров;
КонецФункции // ПолучитьНомераТелефоновСервер() 
&НаСервере
Функция ПолучитьЗначениеСвойстваСтруктуры(ЗначенияПолей)
	СписокПолейНомера = Неопределено;
	СтруктураНомера = Новый Структура("КодСтраны,КодГорода,НомерТелефона,Добавочный","","","","");			
 
	// для УТ 11 старых версий
	// СписокПолейНомера = УправлениеКонтактнойИнформацией.ПреобразоватьСтрокуВСписокПолей(ЗначенияПолей);
	// для УТ 11.1.1.17
	СписокПолейНомера = УправлениеКонтактнойИнформациейКлиентСервер.ПреобразоватьСтрокуВСписокПолей(ЗначенияПолей); 
 
	Если ТипЗнч(СписокПолейНомера) = Тип("СписокЗначений") Тогда
		Для каждого ПолеНомера Из СписокПолейНомера Цикл
		 	Если ПолеНомера.Представление = "КодСтраны" 
				 ИЛИ ПолеНомера.Представление = "КодГорода" 
				 ИЛИ ПолеНомера.Представление = "НомерТелефона" 
				 ИЛИ ПолеНомера.Представление = "Добавочный" Тогда	
				СтруктураНомера[ПолеНомера.Представление] = УбратьИзСтрокиВсеБуквы(ПолеНомера.Значение);
			Иначе
				Продолжить;
			КонецЕсли; 
		КонецЦикла; 
	КонецЕсли; 
 
	Возврат СтруктураНомера;
КонецФункции // ПолучитьЗначениеСвойстваСтруктуры()
&НаСервере
// Оставляет в номере телефона только цифры, все остальные символы удаляются
// 
Функция УбратьИзСтрокиВсеБуквы(НомерТелефона)
	ТолькоЦифрыНомера = "";
	Для а=1 По СтрДлина(НомерТелефона) Цикл
		Если СтрЧислоВхождений("1234567890",Сред(НомерТелефона,а,1)) > 0 Тогда
			ТолькоЦифрыНомера = ТолькоЦифрыНомера + Сред(НомерТелефона,а,1);
		КонецЕсли;
	КонецЦикла;
	Возврат ТолькоЦифрыНомера;
КонецФункции
 
// Процедура добавляет декорацию - гиперссылку на форму
//
&НаСервере
Процедура ДобавитьДействиеПозвонитьНаФорму(Форма, полеСледЭлемента = Неопределено)Экспорт
 
	Если Форма.Элементы.Найти("декорация_МИКО_Позвонить") = Неопределено Тогда
		Если полеСледЭлемента = Неопределено Тогда
			полеСледЭлемента = Форма.Элементы.Найти("Комментарии");
		КонецЕсли; 
		Попытка
			декорация_МИКО_Позвонить = Форма.Элементы.Вставить("декорация_МИКО_Позвонить", Тип("ДекорацияФормы"), ,полеСледЭлемента);
		Исключение
			// может возникнуть при неверном типе полеСледЭлемента
			Возврат;
		КонецПопытки; 
		декорация_МИКО_Позвонить.Вид = ВидДекорацииФормы.Надпись;
		декорация_МИКО_Позвонить.Заголовок = "Набрать номер контакта";
		декорация_МИКО_Позвонить.Гиперссылка = Истина;
		декорация_МИКО_Позвонить.УстановитьДействие("Нажатие", "МИКО_КомандаПозвонить");
		декорация_МИКО_Позвонить.РастягиватьПоГоризонтали = Истина;
	КонецЕсли;
 
КонецПроцедуры // ДобавитьДействиеПозвонитьНаФорму()

К инструкции по встраиванию...

astpanel/designer/ut11/community_module.txt · Последние изменения: 2014/11/14 22:32 (внешнее изменение)