1cv77 Торговля и Склад. Установить фильтр в списке номенклатуры

  • Автор темы Автор темы leznov
  • Дата начала Дата начала
L

leznov

Доброго времени суток!
Помогите решить задачку.
Заключается она в след. Есть справочник номенклатуры, менеджерам он должен быть виден не весь. У каждого элемента этого справочника есть реквизит Вид.Эл кот. принимает значения 0 или 1.
Пробовал решить задачу двумя вариантами:
в модуле Справочник.Номенклатура.МодульСписка.МодульСписка
1. Вариант:
УстановитьОтбор("ВидЭл",0);
2. Вариант:
СЗ=СоздатьОбъект("СписокЗначений");
номенклатура=СоздатьОбъект("Справочник.Номенклатур­а");
номенклатура.выбратьэлементы();
Пока номенклатура.получитьэлемент()=1 Цикл
Если номенклатура.ТекущийЭлемент().ВидЭл=0 Тогда
СЗ.ДобавитьЗначение(номенклатура.ТекущийЭлемент())­;
КонецЕсли;
КонецЦикла;
Предупреждение(СЗ.РазмерСписка());
ИспользоватьСписокЭлементов(СЗ);
Оба варианта не подходят ((. Менеджеры в обоих случаях ощущают проблемы с быстрым поиском по коду(указав колонку кода, набирают его и динамически перемещаются по списку). Проблемы следующие, во-первых медленнее ищет, во-вторых поиск идет только вниз по списку, при поиске вверх либо не ищет либо подвисает на 3-5 сек. При всем при этом поиск по наименованию идет нормально в обоих направлениях.
 
Эх, вы наткнулись на один из неблагоприятных размеров в семерке... Когда надо использовать не весь справочник, а только необходимый набор элементов. Метод ИспользоватьСписокЭлементов(<?>), как вы сами убедились приводит к тормозам и неудобной навигации (отключается механизм поиска по индексу). Если навигацией пренебречь, то этот метод использовать можно. Единственное, составлять список элементов методом обхода справочника - нельзя. "ДобавитьЗначение()" долго работает, лучше использовать SQL запрос компонентой v7plus. Как альтернативный вариант еще можно попробовать сделать вспомогательные справочники.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab