izenenie_predstavlenija_ssylki_v_rekvizite_i_v_spiskax_vybora

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

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

//++Троцкий 13012026

//Меняем представление сылки в самом реквизите
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)
	СтандартнаяОбработка 	= Ложь;
	Представление 			= ПолучитьКастомноеПредставление(Данные.Ссылка);
КонецПроцедуры

Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Поля.Добавить("Ссылка");
	Поля.Добавить("Наименование");
	Поля.Добавить("Область");
	Поля.Добавить("Район");
	Поля.Добавить("Тип");
	
КонецПроцедуры

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


Функция ПолучитьКастомноеПредставление(мСсылка)
	
	Возврат "" + мСсылка.Наименование + ", " + мСсылка.Тип + ", " + мСсылка.Область + ", " + мСсылка.Район;
	
КонецФункции


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


//--
  • /sites/data/pages/izenenie_predstavlenija_ssylki_v_rekvizite_i_v_spiskax_vybora.txt
  • Последнее изменение: 2026/01/15 10:26
  • tro