0
il
11.09.14
✎
10:27
|
Справочник номенклатуры не больше 3000 позиций. В в подборе динамический список, собирает в себя товар остаток и цены. Есть быстрый поиск, реализованный такой процедурой (скачано где то в инете)
Поле = Новый ПолеКомпоновкиДанных(ИмяПоля);
Элемент = Неопределено;
Для каждого Эл Из Отбор.Элементы Цикл
Если Эл.ЛевоеЗначение = Поле Тогда
Элемент = Эл;
Прервать;
КонецЕсли;
КонецЦикла;
Если Текст <> "" Тогда
Если Элемент = Неопределено Тогда
Элемент = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
Элемент.ЛевоеЗначение = Поле;
КонецЕсли;
Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
Элемент.ПравоеЗначение = Текст;
Элемент.Использование = Истина;
Если СтарыйВидОтображения = Неопределено Тогда
СтарыйВидОтображения = Список.Отображение;
КонецЕсли;
Список.Отображение = ОтображениеТаблицы.Список;
Иначе
Если Элемент <> Неопределено Тогда
Отбор.Элементы.Удалить(Элемент);
КонецЕсли;
Если Список.Отображение = ОтображениеТаблицы.Список Тогда
Список.Отображение = СтарыйВидОтображения;
КонецЕсли;
СтарыйВидОтображения = Неопределено;
КонецЕсли;
тормозит все это дело просто зверски: 4-5 секунд отбор делает. Подскажите пожалуйста другой способ отбора, или какая грубая ошибка здесь есть
|
|