Изенение представления ссылки в реквизите и в списках выбора

В модуле менеджера

//++Троцкий 13012026
//Меняем представление сылки в самом реквизите
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
СтандартнаяОбработка	= Ложь;
Представление	= ПолучитьКастомноеПредставление(Данные.Ссылка);
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
Поля.Добавить("Ссылка");
Поля.Добавить("Наименование");
Поля.Добавить("Область");
Поля.Добавить("Район");
Поля.Добавить("Тип");
КонецПроцедуры
//Меняем представление сылки в списке выбора
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка)
Если СтрДлина(Параметры.СтрокаПоиска)>0 Тогда
СтандартнаяОбработка = Ложь;
ДанныеВыбора = Новый СписокЗначений;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 20
|	НП.Ссылка КАК Ссылка
|ИЗ
|	Справочник.НП_СписокНаселенныхПунктов КАК НП
|ГДЕ
|	НП.Наименование ПОДОБНО &СтрокаПоиска
|
|УПОРЯДОЧИТЬ ПО
|	НП.Наименование";
Запрос.УстановитьПараметр("СтрокаПоиска", "%" + Параметры.СтрокаПоиска + "%");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ПредставлениеЭлемента = ПолучитьКастомноеПредставление(Выборка.Ссылка);
ДанныеВыбора.Добавить(Выборка.Ссылка, ПредставлениеЭлемента);
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Функция ПолучитьКастомноеПредставление(мСсылка)
Возврат "" + мСсылка.Наименование + ", " + мСсылка.Тип + ", " + мСсылка.Область + ", " + мСсылка.Район;
КонецФункции
Функция ПолучитьИнформациюПоНаселенномуПункту(НП_НаселенныйПунктСсылка) Экспорт
СтруктураВозврата = Новый Структура;
СтруктураВозврата.Вставить("CityRef");
СтруктураВозврата.Вставить("RecipientCityName");
СтруктураВозврата.Вставить("CityType");
СтруктураВозврата.Вставить("RecipientArea");
СтруктураВозврата.Вставить("RecipientAreaRegions");
СтруктураВозврата.Вставить("CityCode");
Если не ЗначениеЗаполнено(НП_НаселенныйПунктСсылка) Тогда Возврат СтруктураВозврата; КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|	НП_СписокНаселенныхПунктов.Код КАК CityRef,
|	НП_СписокНаселенныхПунктов.Наименование КАК RecipientCityName,
|	НП_СписокНаселенныхПунктов.Тип КАК CityType,
|	НП_СписокНаселенныхПунктов.Область КАК RecipientArea,
|	НП_СписокНаселенныхПунктов.Район КАК RecipientAreaRegions,
|	НП_СписокНаселенныхПунктов.КодГорода КАК CityCode
|ИЗ
|	Справочник.НП_СписокНаселенныхПунктов КАК НП_СписокНаселенныхПунктов
|ГДЕ
|	НП_СписокНаселенныхПунктов.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Ссылка", НП_НаселенныйПунктСсылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ЗаполнитьЗначенияСвойств(СтруктураВозврата, ВыборкаДетальныеЗаписи);
КонецЦикла;
УстановитьПривилегированныйРежим(Истина);
Возврат СтруктураВозврата;
КонецФункции
//--