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

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

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


astpanel:designer:unf:modulecall

Это старая версия документа!


Модуль команды "Позвонить"

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
 
	Если сфпФормаТелефон <> Неопределено Тогда
 
		Участники = ПолучитьСсылкуНаУчастникаИзДокумента(ПараметрКоманды);
		Если Участники.Количество() > 0 Тогда
			сфпФормаТелефон.ПозвонитьВыбравТелефон(Участники);
		КонецЕсли;
 
	КонецЕсли;
 
КонецПроцедуры
 
Функция ПолучитьСсылкуНаУчастникаИзДокумента(Ссылка)
 
	Результат = Новый Массив;
 
	Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда
 
		Результат.Добавить(Ссылка);
 
	ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Ссылка)) Тогда
 
		РеквзитыДокумента = Ссылка.Метаданные().Реквизиты;
 
		// Определим список возможных типов реквизитов, где храняться контактные данные
		МассивТипов = Новый Массив;
		МассивТипов.Добавить("СправочникСсылка.Партнеры");
		МассивТипов.Добавить("СправочникСсылка.КонтактныеЛицаПартнеров");
		МассивТипов.Добавить("СправочникСсылка.Контрагенты");
		МассивТипов.Добавить("СправочникСсылка.Контрагенты3");
		// Выберем из списка те, которые присутствуют в конфигурации
		ТипыСправочников = Новый Массив;
		Для Каждого НазваниеТипа Из МассивТипов Цикл
			Попытка
				ТипыСправочников.Добавить(Тип(НазваниеТипа));
			Исключение
			КонецПопытки;
		КонецЦикла;
		// Найдем реквизиты документа, содержащие контактную информацию
		Для Каждого Реквизит Из РеквзитыДокумента Цикл
 
			Если МИКО_Софтфон.РеквизитИмеетТип(Реквизит, ТипыСправочников) Тогда
 
				Результат.Добавить(Ссылка[Реквизит.Имя]);
 
			КонецЕсли;
 
		КонецЦикла;
 
	КонецЕсли;
 
	Возврат Результат;
 
КонецФункции // ПолучитьСсылкуНаУчастникаИзДокумента()
astpanel/designer/unf/modulecall.1404220528.txt.gz · Последние изменения: 2014/11/14 22:32 (внешнее изменение)