Добрый день. Подскажите. как можно сделать быстрый отбор на части наименования в списке справочника.
Сейчас делаю так. Выполняется очень долго. особенно если база файловая.
Подскажите, как правильнее сделать, и чтобы быстрее выполнялось?
Сейчас делаю так. Выполняется очень долго. особенно если база файловая.
ЭлементыФормы.СправочникСписок.Значение.Отбор["Наименование"].ВидСравнения=ВидСравнения.Содержит;
ЭлементыФормы.СправочникСписок.Значение.Отбор["Наименование"].Значение=ФильтрНаименование;
ЭлементыФормы.СправочникСписок.Значение.Отбор["Наименование"].Использование=не (Сокрлп(ФильтрНаименование)="");
Подскажите, как правильнее сделать, и чтобы быстрее выполнялось?
По теме из базы знаний
- Заполнение табличной части документа "Списание материалов из эксплуатации" по МОЛ (Управляемый интерфейс!)
- Групповое изменение наименований и групп элементов справочников с отбором по любому реквизиту, в том числе по части наименования и группе (управляемая форма)
- Поиск контрагента по части наименования / Замена типа контрагента в элементе справочника / Исправление КЭК в документах, проводках
- Универсальный отбор строк для любой табличной части (Реализации, Заказа клиента, Возврата, Обработок и др.)
- Расширение: Быстрые отборы через буфер [Alt+C] Копировать список, [Alt+V] Вставить список, [Ctrl+C] Копировать из файлов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ваш код в принципе правильный, дело не в нём. В отладке посмотрите, не установлены ли еще какие-нибудь отборы в момент установки вашего отбора.
Реквизиты объекта "СправочникСписок" доступны в контексте модуля формы, то есть вместо ЭлементыФормы.СправочникСписок.Значение.Отбор["Наименование"] можно писать Отбор.Наименование.
Реквизиты объекта "СправочникСписок" доступны в контексте модуля формы, то есть вместо ЭлементыФормы.СправочникСписок.Значение.Отбор["Наименование"] можно писать Отбор.Наименование.
Процедура ФильтрНаименованиеПриИзменении(Элемент)
ФильтрНаименование = СокрЛП(ФильтрНаименование);
Если ЗначениеЗаполнено(ФильтрНаименование) Тогда
Отбор.Наименование.ВидСравнения = ВидСравнения.Содержит;
Отбор.Наименование.Значение = ФильтрНаименование;
Отбор.Наименование.Использование = Истина;
Иначе
Отбор.Наименование.Использование = Ложь;
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот