К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Ускорение поиска в табличном поле при вводе с клавиатуры

Гость
0 - 24.04.2013 - 18:23
Приветствую всех! Наверняка, такая тема всплывала, но ответа не нашел. Суть вопроса - есть табличное поле, в котором, скажем, 20 тыщ строк. Пользователь ищет по первым буквам в колонке, скажем, "Наименование" нужное значение. Поиск первой же буквы происходит ну ОООЧЕНЬ медленно. Вроде поиск строки в массиве информации по первой букве равной заданной должен происходить молниеносно, как в 1С оптимизировать это действие?


Гость
1 - 24.04.2013 - 19:35
В табличном поле, предположим, только одна колонка, никаких там вычислений при получении данных не происходит, все вроде бы все очень просто...
Гость
2 - 24.04.2013 - 19:53
у тебя там, небось, динамический список с адским запросом?
Гость
3 - 24.04.2013 - 20:20
Да нет же, написал в 1, что просто одна колонка, допустим, содержимое - это результат загрузки из ТЗ, полученной из запроса выгрузки наименований справочника Номенклатура. А что - у кого то быстрее работает? Прям на букву "Я" смещается очень быстро при большом количестве строк в табличном поле?
Гость
4 - 24.04.2013 - 20:39
24 000 - меньше секунды, специально попробовал
Гость
5 - 24.04.2013 - 20:50
Просто кто-то немытыми руками испохабил 1С. А в нормальном режиме она работает вот так:
http://screencast.com/t/ObWSVtKJDR7S
Гость
6 - 25.04.2013 - 00:05
А там не задействована ли ПриВыводеСтроки?
Гость
7 - 25.04.2013 - 00:28
6-Азик Обозов > Нет. У него источник данных для табличного поля выбран... с большим талантом:
Цитата:
Сообщение от VDS Посмотреть сообщение
результат загрузки из ТЗ, полученной из запроса выгрузки наименований справочника Номенклатура
Прозреваю феерический опус.
Гость
8 - 25.04.2013 - 00:42
вычисляемые колонки?
Гость
9 - 25.04.2013 - 05:27
Никаких ПриВыводеСтроки. Все банально просто: Запрос.Текст = "ВЫБРАТЬ
Номенклатура.Наименование КАК Наименование
ИЗ
Справочник.Номенклатура КАК Номенклатура

УПОРЯДОЧИТЬ ПО
Наименование";
ТЗ.Загрузить(Запрос.Выполнить.Выгрузить());
10 - 25.04.2013 - 06:05
9-VDS >Проиндексируй колонку в ТЗ
Гость
11 - 25.04.2013 - 10:14
ТЗ - это табличное поле на форме, как проиндексировать колонку в табличном поле? В Таблице значений, понятно, можно, а как насчет табличного поля?
Гость
12 - 25.04.2013 - 10:29
11-VDS > табличное поле само по себе мало интересно. Оно наполняется смыслом когда связано с некоторым источником данных...
Гость
13 - 25.04.2013 - 11:08
Цитата:
Сообщение от roma n Посмотреть сообщение
11-VDS > табличное поле само по себе мало интересно. Оно наполняется смыслом когда связано с некоторым источником данных...
Понимаю, а будет ли при этом поиск идти быстрее, если я проиндексирую источник данных по колонке наименований - надо проверить...


К списку вопросов






Copyright ©, Все права защищены