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

Автор: 1С
ОбщийМодуль.ВзаимодействияВызовСервера
БСП

Представление вся контактная информацию контакта. Получает представление и всю контактную информацию контакта.

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

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

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

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

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

ПолучитьКонтактыПоПредмету (БСП)

ПредставлениеКонтактнойИнформацииОбъекта (БСП)

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

КонтактнаяИнформацияXDTOПоПредставлению (БСП)

ДобавитьКонтактнуюИнформацию (БСП)

ОбновитьКонтактнуюИнформациюДляСписков (БСП)

TurboConf - расширение Конфигуратора 1С