Программно устанавливаю отбор в динамическом списке.
Список.Отбор.Элементы.Очистить();
Если ЗначениеЗаполнено(НомерПартии) Тогда
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("НомерПартии");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Содержит;
ЧтоИскать = СтрЗаменить(НомерПартии, " ", Символы.НПП);
ЭлементОтбора.ПравоеЗначение = ЧтоИскать;
ЭлементОтбора.Использование = Истина;
КонецЕсли;
И ситуация такая. Если данных много, за два-три месяца, то поиск идёт только за последний месяц где-то.
Строка с нужным номером партии есть в списке. Но её не находит.
Скажем строка за май.
При выборке - параметрами задаётся период
- если выборка май-июль, то не находит.
- если же март-май, то находит.
Я немного поэкспериментировал. Суть в том, что она ищет записи нужные, но очень долго.
Если они в начале списка, то находит быстро, а если далеко то очень долго, то есть несколько минут или даже часов.
Как бы ускорить это?
Ну наверное не годится тогда в запросе делать Представление для числа в виде строки, нужно тогда в отдельном поле делать строку и её брать потом в запрос.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший