uvelichenie_skorosti_otkrytija_dinamicheskogo_spiska

Увеличение (повышение) скорости открытия динамического списка

В модуле формы, содержащей динамический список. Сортировка и поиск по полям не указанным в поиске работать не будет.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
   РазрешенныеПоля = СтрРазделить("Ссылка,Дата,Партнер", ",", Ложь); //Тут список полей как они называются в динамичсеском списке
   УстановитьОграничениеДинамическогоСписка(ЭтотОбъект.Список, РазрешенныеПоля);
  
КонецПроцедуры
&НаСервере
Процедура УстановитьОграничениеДинамическогоСписка(Список, РазрешенныеПоля)
	
	Для Каждого ЭлементНастроек Из Список.КомпоновщикНастроек.Настройки.УсловноеОформление.Элементы Цикл
		Для Каждого ЭлементОтбора Из ЭлементНастроек.Отбор.Элементы Цикл
			РазрешенныеПоля.Добавить(Строка(ЭлементОтбора.ЛевоеЗначение));
		КонецЦикла;
	КонецЦикла;
	
	МассивПолей = Новый Массив;
	Для Каждого ЭлементСписка Из Список.КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы Цикл
		Если РазрешенныеПоля.Найти(Строка(ЭлементСписка.Поле)) = Неопределено ИЛИ ЭлементСписка.Папка Тогда
			МассивПолей.Добавить(Строка(ЭлементСписка.Поле));
		КонецЕсли;
	КонецЦикла;
	
	Список.УстановитьОграниченияИспользованияВГруппировке(МассивПолей);
	Список.УстановитьОграниченияИспользованияВОтборе(МассивПолей);
	Список.УстановитьОграниченияИспользованияВПорядке(МассивПолей);
	
КонецПроцедуры
  • /sites/data/pages/uvelichenie_skorosti_otkrytija_dinamicheskogo_spiska.txt
  • Последнее изменение: 2022/10/11 12:24
  • tro