ВидыКонтактнойИнформацияОбъекта (БСП)

Автор: 1С
ОбщийМодуль.УправлениеКонтактнойИнформацией
БСП

Виды контактной информация объекта. Виды контактной информация объекта.

// Виды контактной информация объекта.
//
// Параметры:
//  ВладелецКонтактнойИнформации - Ссылка на владельца контактной информации.
//                                 Объект владельца контактной информации.
//                                 ДанныеФормыСтруктура (по типу объекта владельца свойств).
// Возвращаемое значение:
//  ТаблицаЗначений -  виды контактной информации.
//
Функция ВидыКонтактнойИнформацияОбъекта(ВладелецКонтактнойИнформации) Экспорт
	
	Если ТипЗнч(ВладелецКонтактнойИнформации) = Тип("ДанныеФормыСтруктура") Тогда
		ТипСсылки = ТипЗнч(ВладелецКонтактнойИнформации.Ссылка)
		
	ИначеЕсли ОбщегоНазначения.ЭтоСсылка(ТипЗнч(ВладелецКонтактнойИнформации)) Тогда
		ТипСсылки = ТипЗнч(ВладелецКонтактнойИнформации);
	Иначе
		ТипСсылки = ТипЗнч(ВладелецКонтактнойИнформации.Ссылка)
	КонецЕсли;
	
	МетаданныеСправочника = Метаданные.НайтиПоТипу(ТипСсылки);
	ПолноеИмяОбъектаМетаданных = МетаданныеСправочника.ПолноеИмя();
	ИмяГруппыВидовКИ = СтрЗаменить(ПолноеИмяОбъектаМетаданных, ".", "");
	ГруппаВидовКИ = Неопределено;
	
	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	|	ВидыКонтактнойИнформации.Ссылка КАК Ссылка,
	|ВЫБОР
	|	КОГДА ВидыКонтактнойИнформации.ИмяПредопределенногоВида <> """"
	|	ТОГДА ВидыКонтактнойИнформации.ИмяПредопределенногоВида
	|	ИНАЧЕ ВидыКонтактнойИнформации.ИмяПредопределенныхДанных
	|КОНЕЦ КАК ИмяПредопределенногоВида
	|ИЗ
	|	Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
	|ГДЕ
	|	ВидыКонтактнойИнформации.ЭтоГруппа = ИСТИНА
	|	И ВидыКонтактнойИнформации.ПометкаУдаления = ЛОЖЬ
	|	И ВидыКонтактнойИнформации.Используется = ИСТИНА";
	
	РезультатЗапроса = Запрос.Выполнить().Выбрать();
	Пока РезультатЗапроса.Следующий() Цикл 
		Если СтрСравнить(РезультатЗапроса.ИмяПредопределенногоВида, ИмяГруппыВидовКИ) = 0 Тогда
			ГруппаВидовКИ = РезультатЗапроса.Ссылка;
			Прервать;
		КонецЕсли;
	КонецЦикла;
	
	Если НЕ ЗначениеЗаполнено(ГруппаВидовКИ) Тогда
		Возврат Новый ТаблицаЗначений;
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	ВидыКонтактнойИнформации.Ссылка,
	|	ВидыКонтактнойИнформации.Представление,
	|	ВидыКонтактнойИнформации.Наименование,
	|	ВидыКонтактнойИнформации.РазрешитьВводНесколькихЗначений,
	|	ВидыКонтактнойИнформации.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
	|	ВидыКонтактнойИнформации.Тип
	|ИЗ
	|	Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
	|ГДЕ
	|	ВидыКонтактнойИнформации.Родитель = &ГруппаВидовКИ
	|	И ВидыКонтактнойИнформации.ПометкаУдаления = ЛОЖЬ
	|	И ВидыКонтактнойИнформации.Используется = ИСТИНА
	|
	|УПОРЯДОЧИТЬ ПО
	|	РеквизитДопУпорядочивания";
	
	Запрос.УстановитьПараметр("ГруппаВидовКИ", ГруппаВидовКИ);
	РезультатЗапроса = Запрос.Выполнить().Выгрузить();
	Возврат РезультатЗапроса;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ПервоеЗначениеКонтактнойИнформацииОбъектаПоТипу (БСП)

ПривестиКонтактнуюИнформациюXML (БСП)

ДанныеВидовКонтактнойИнформации (БСП)

НаименованияВидовКонтактнойИнформации (БСП)

ВидКонтактнойИнформацииПоИмени (БСП)

УстановитьСвойстваВидаКонтактнойИнформации (БСП)

ПредопределенныеВидыКонтактнойИнформации (БСП)

ПроверитьПараметрыВидаКонтактнойИнформации (БСП)

ТипВидаКонтактнойИнформации (БСП)

1С Менеджер конфигураций