Имя: Пароль:
1C
1С v8
УФ Тормозит быстрый отбор в динамическом списке
0 il
 
11.09.14
10:27
Справочник номенклатуры не больше 3000 позиций. В в подборе динамический список, собирает в себя товар остаток и цены. Есть быстрый поиск, реализованный такой процедурой (скачано где то в инете)

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

Обычный платформенный поиск.
2 Fedor-1971
 
11.09.14
10:37
Можешь добавить условие прямо в запрос заполнения ДС.
Только это не быстрый поиск в списке как в обычных формах, а именно отбор (ограничение на выбираемые к выводу данные)
3 il
 
11.09.14
10:46
(1) тормозит также, к тому же пользоваться неудобно