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