Виды контактной информация объекта. Виды контактной информация объекта.
// Виды контактной информация объекта.
//
// Параметры:
// ВладелецКонтактнойИнформации - Ссылка на владельца контактной информации.
// Объект владельца контактной информации.
// ДанныеФормыСтруктура (по типу объекта владельца свойств).
// Возвращаемое значение:
// ТаблицаЗначений - виды контактной информации.
//
Функция ВидыКонтактнойИнформацияОбъекта(ВладелецКонтактнойИнформации) Экспорт
Если ТипЗнч(ВладелецКонтактнойИнформации) = Тип("ДанныеФормыСтруктура") Тогда
ТипСсылки = ТипЗнч(ВладелецКонтактнойИнформации.Ссылка)
ИначеЕсли ОбщегоНазначения.ЭтоСсылка(ТипЗнч(ВладелецКонтактнойИнформации)) Тогда
ТипСсылки = ТипЗнч(ВладелецКонтактнойИнформации);
Иначе
ТипСсылки = ТипЗнч(ВладелецКонтактнойИнформации.Ссылка)
КонецЕсли;
МетаданныеСправочника = Метаданные.НайтиПоТипу(ТипСсылки);
ПолноеИмяОбъектаМетаданных = МетаданныеСправочника.ПолноеИмя();
ИмяГруппыВидовКИ = СтрЗаменить(ПолноеИмяОбъектаМетаданных, ".", "");
ГруппаВидовКИ = Неопределено;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ВидыКонтактнойИнформации.Ссылка КАК Ссылка,
|ВЫБОР
| КОГДА ВидыКонтактнойИнформации.ИмяПредопределенногоВида <> """"
| ТОГДА ВидыКонтактнойИнформации.ИмяПредопределенногоВида
| ИНАЧЕ ВидыКонтактнойИнформации.ИмяПредопределенныхДанных
|КОНЕЦ КАК ИмяПредопределенногоВида
|ИЗ
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
|ГДЕ
| ВидыКонтактнойИнформации.ЭтоГруппа = ИСТИНА
| И ВидыКонтактнойИнформации.ПометкаУдаления = ЛОЖЬ
| И ВидыКонтактнойИнформации.Используется = ИСТИНА";
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Пока РезультатЗапроса.Следующий() Цикл
Если СтрСравнить(РезультатЗапроса.ИмяПредопределенногоВида, ИмяГруппыВидовКИ) = 0 Тогда
ГруппаВидовКИ = РезультатЗапроса.Ссылка;
Прервать;
КонецЕсли;
КонецЦикла;
Если НЕ ЗначениеЗаполнено(ГруппаВидовКИ) Тогда
Возврат Новый ТаблицаЗначений;
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВидыКонтактнойИнформации.Ссылка,
| ВидыКонтактнойИнформации.Представление,
| ВидыКонтактнойИнформации.Наименование,
| ВидыКонтактнойИнформации.РазрешитьВводНесколькихЗначений,
| ВидыКонтактнойИнформации.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания,
| ВидыКонтактнойИнформации.Тип
|ИЗ
| Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
|ГДЕ
| ВидыКонтактнойИнформации.Родитель = &ГруппаВидовКИ
| И ВидыКонтактнойИнформации.ПометкаУдаления = ЛОЖЬ
| И ВидыКонтактнойИнформации.Используется = ИСТИНА
|
|УПОРЯДОЧИТЬ ПО
| РеквизитДопУпорядочивания";
Запрос.УстановитьПараметр("ГруппаВидовКИ", ГруппаВидовКИ);
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
Возврат РезультатЗапроса;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПервоеЗначениеКонтактнойИнформацииОбъектаПоТипу (БСП)
ПривестиКонтактнуюИнформациюXML (БСП)
ДанныеВидовКонтактнойИнформации (БСП)
НаименованияВидовКонтактнойИнформации (БСП)
ВидКонтактнойИнформацииПоИмени (БСП)
УстановитьСвойстваВидаКонтактнойИнформации (БСП)
ПредопределенныеВидыКонтактнойИнформации (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)