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

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

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


astpanel:designer:crm2:modulesrc

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


Общий модуль "МИКО_Софтфон" для CRM 2.0

// Выполняет первичную настройку информационной базы
//
Процедура ВыполнитьПервичнуюУстановку(НазваниеПанелиТелефонии) Экспорт
 
	// устанавливаем новый вид контактной информации для хранения местных номеров
	ВидКИ_МестныйТелефон = ОпределитьВидКИ_МестныйТелефон();
 
	Если Не ЗначениеЗаполнено(ВидКИ_МестныйТелефон) Тогда
		ПодготовитьХранилищеМестныхНомеров();
	КонецЕсли;
 
	// добавляем новые параметры в настройки пользователя
	Если Метаданные.Имя = "CRM" Или Метаданные.Имя = "УправлениеТорговлей_CRM_2" Тогда
		пвхНастройкиПользователей = ?(Метаданные.ПланыВидовХарактеристик.Найти("НастройкиПользователей") <> Неопределено, ПланыВидовХарактеристик.НастройкиПользователей, ПланыВидовХарактеристик.CRM_НастройкиПользователей);
		Отбор = Новый Структура("Наименование", НазваниеПанелиТелефонии);
		Выборка = пвхНастройкиПользователей.Выбрать(пвхНастройкиПользователей.СофтФон, Отбор);
		Если ЗначениеПараметраПользователя(НазваниеПанелиТелефонии) = Неопределено Тогда
			НовЭлм = пвхНастройкиПользователей.СоздатьЭлемент();
			НовЭлм.Наименование = НазваниеПанелиТелефонии;
			НовЭлм.ТипЗначения = Новый ОписаниеТипов("Булево");
			НовЭлм.Родитель = пвхНастройкиПользователей.СофтФон;
 
			Попытка
				НовЭлм.Записать();
			Исключение
				Сообщить("Не удалось произвести запись в планы видов характеристик ""НастройкиПользователей""", СтатусСообщения.Важное);
			КонецПопытки;
		КонецЕсли;
	КонецЕсли;
 
КонецПроцедуры
 
Функция Использовать(НазваниеПанелиТелефонии) Экспорт
 
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Пользователь", Пользователи.ТекущийПользователь());
	Запрос.УстановитьПараметр("Настройка"   , ЗначениеПараметраПользователя(НазваниеПанелиТелефонии));
	Запрос.Текст = "
	|ВЫБРАТЬ
	|	Значение
	|ИЗ
	|	&рсНастройкиПользователей
	|
	|ГДЕ
	|	Пользователь = &Пользователь
	| И Настройка    = &Настройка";
 
	Запрос.Текст = СтрЗаменить(Запрос.Текст, "&рсНастройкиПользователей", ?(Метаданные.РегистрыСведений.Найти("НастройкиПользователей") <> Неопределено, "РегистрСведений.НастройкиПользователей", "РегистрСведений.CRM_НастройкиПользователей"));
 
	Выборка = Запрос.Выполнить().Выбрать();
   	Если Выборка.Следующий() Тогда
		Возврат Выборка.Значение;
	КонецЕсли;
	Возврат Ложь;
 
КонецФункции
 
Функция ЗначениеПараметраПользователя(Параметр)
 
	пвхНастройкиПользователей = ?(Метаданные.ПланыВидовХарактеристик.Найти("НастройкиПользователей") <> Неопределено, ПланыВидовХарактеристик.НастройкиПользователей, ПланыВидовХарактеристик.CRM_НастройкиПользователей);
	Отбор = Новый Структура("Наименование", Параметр);
	Выборка = пвхНастройкиПользователей.Выбрать(пвхНастройкиПользователей.СофтФон, Отбор);
 
	Если Выборка.Следующий() Тогда
		Возврат Выборка.Ссылка;
	КонецЕсли;
	Возврат Неопределено;
 
КонецФункции 
 
// Производит запись в справочник ВидыКонтактнойИнформации нового элеменнта.
// Элемент описывает вид контактной информации - внутренний номер сотрудника.
//
Процедура ПодготовитьХранилищеМестныхНомеров()
 
	НовыйЭлемент = Справочники.ВидыКонтактнойИнформации.СоздатьЭлемент();
	НовыйЭлемент.Наименование = "Внутренний телефон";
	НовыйЭлемент.Родитель = Справочники.ВидыКонтактнойИнформации.СправочникПользователи;
	НовыйЭлемент.Тип = Перечисления.ТипыКонтактнойИнформации.Телефон;
 
	Попытка
		НовыйЭлемент.Записать();
	Исключение
		Сообщить("Не удалось произвести запись в справочник ""ВидыКонтактнойИнформации""", СтатусСообщения.Важное);
	КонецПопытки;
 
КонецПроцедуры // ПодготовитьХранилищеМестныхНомеров()
 
// Определяет вид контактной информации отвечающей за хранение внутренних
// номеров сотрудников (элемент справочника ВидыКонтактнойИнформации). Элемент
// должен быть предварительно сформирован обработкой.
//
//  Возвращаемое значение [СправочникСсылка]   Ссылка на элемент справочника
//                                             ВидыКонтактнойИнформации.
//
Функция ОпределитьВидКИ_МестныйТелефон() Экспорт
 
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("Родитель", Справочники.ВидыКонтактнойИнформации.СправочникПользователи);
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ВидыКонтактнойИнформации.Ссылка
		|ИЗ
		|	Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
		|ГДЕ
		|	ВидыКонтактнойИнформации.Родитель = &Родитель
		|	И ВидыКонтактнойИнформации.Наименование = ""Внутренний телефон""";
 
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Возврат Выборка.Ссылка;
	КонецЕсли;
 
КонецФункции
astpanel/designer/crm2/modulesrc.1416004348.txt.gz · Последние изменения: 2015/02/11 11:37 (внешнее изменение)