AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.05.2002, 11:15   #1  
Pavlo AKA Panok is offline
Pavlo AKA Panok
Участник
 
64 / 10 (1) +
Регистрация: 01.05.2002
Адрес: Москва
? Lookupы при большом количестве записей выводимой таблицы
При работе с Lookup - выподающимим списками по таблицам, содержащим огромное количество записей (например InventTable при хранении в ней 140000 записей) возникает проблема. Предположим, что все артикулы представлены числами, лежащими в диапазоне от 000000 до 999999. Нажимаем на кнопочку Lookup и вызываем выпадающий список артикулов - это все работает быстро... Но теперь ничего не трогая (т.е. активна та колонка Lookup-формы, которая содержит артикулы) начинаем вводить начало некоего требуемого артикула... Здесь то и начинаются проблемы - при вводе номера начинающегося на 0 или 1 все еще ничего - время позиционирования курсора на нужной строчке Lookup-формы сносное. Но если мы сразу же наберем ченить с 5 до 9 то система занимает все ресурсы ЭВМ на неопределенный срок... у нас такое позиционирование при занимании громадных ресурсов (памяти и процессорного времени) неслабой ЭВМ занимает 5-10 минут

Как с этим бороться?
Старый 02.05.2002, 08:46   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
попробуй ПЕРЕД тем, как нажать на кнопку lookup, ввести фильтр.

например, 5000*. При нажатии на * лукап откроется сам .

Таким образом количество записей в лукапе резко сократится.
Старый 05.05.2002, 18:08   #3  
Pavlo AKA Panok is offline
Pavlo AKA Panok
Участник
 
64 / 10 (1) +
Регистрация: 01.05.2002
Адрес: Москва
Да что я... ребята обидятся:))
Спасибо за ответ но только...

Я то нажму, а кто бы юзеру объяснил, что это выход... Так конечно быстрее работает и мне никакой разницы нет, но только ребята привыкли 1С-ом курсоры по спискам гонять, им в лом всякие звезды нажимать...

А других вариантов решения прогрессивная часть человечества не придумала?
Старый 06.05.2002, 08:56   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Кроме тебя юзеру объяснить больше никто не сможет.

Курсоры по спискам... А ты никогда не задумывался почему С.Нуралиев так сильно против вычисляемых динамических фильтров?

Звезды нажимать будут, если ты объяснишь. И преимущества будут осознаны и востребованы пользователями.

Прогрессивная часть человечества придумала многое. Но будешь ли ты этим пользоваться... Что делает лукап? он просто и тупо выдает запрос SQL-серверу. Сервер готовит курсор и... просто возвращает потихоньку записи из курсора. Все просто. Все штатными вредствами (и Аксапты, и Сервера) НО сервер тратит прорву времени на подготовку курсора.

Выход? Работать с записями вручную. Готовить курсор другого вида (править query вручную). В крайнем случае, работать с сервером в обход Аксапты. Тебе это надо? Может энергию направить по более конструктивному пути?
Старый 06.05.2002, 10:40   #5  
Алексей Контев is offline
Алексей Контев
Участник
 
118 / 31 (2) +++
Регистрация: 28.12.2001
Адрес: Барнаул
Можно вопрос по 1с?
А как в SQL 1C реализован механизм быстрого поиска? (в смысле не SQL запрос, а нажатие клавиш)
Как я понял, эта возможность появилась из любви к 1с.
На маленьких справочниках это удобно, а при больших ...
У нас раньше стояла Dos (Fox) Бухгалтерия, где поиск осуществлялся последовательным вводом наименования. После запуска Аксапты многие (все) очень плевались, что надо жать Ctl-F и т.п., но через 2 недели в старой программе хотели иметь возможность сложного поиска. Так что не стоит идти на поводу у неграмотного пользователя. Они просто не понимают своего счастья.
А про быстрый поиск в 1C -SQL я серьезно, есть он там или нет.
Старый 06.05.2002, 11:12   #6  
Pavlo AKA Panok is offline
Pavlo AKA Panok
Участник
 
64 / 10 (1) +
Регистрация: 01.05.2002
Адрес: Москва
Нет, в принципе переучиться можно - ну нажимал ты F3 а теперь жмешь Ctrl-F...

Но в 1с есть фича от которой все писаються кипятком - значит стоишь на артикулах, и начинаешь ввод - предположим нужен тебе артикул 6343535. Набрали 634 а потом ошиблись и вместо 3 набрали 6. Если в системе нет ни одного артикула на 6346... то раздается звук из динамиков... Beep! Вот сидит юзер на экран не смотрит - колотит артикул - бип - ошибка посмотрел и исправил...

А со скоростью теже проблемы...

В Аксане этого бипа нет и врядли ктото скажет "через 2 недели" - во, супер, без бипа кайф!!! Он помогает, хотя конечно не всегода ошибочного артикула нет в картотеке. Я не спорю что Аксана предоставляет широчаайшие возможности, но существует ряд таких вот "бипов", которые засядут вечной занозой в молодое неокрепшее тело Аксаны у нас на фирме и будут вечным набатом...

Вот конретный пример - на нем и объясните мне как все зависит от меня и какие доводы могут быть за отсутсвие этого бипа)))

А со звездой идея продвижима в жизнь, это точно!!!!!!
Старый 06.05.2002, 12:49   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
А как в SQL 1C реализован механизм быстрого поиска?
Очень просто
Вся таблица скачивается на клиента. После чего нормальным DBF-способом делается поиск.

Нажатие клавиш реализовно точно так же, как и нажатие первых символов в лукапе или в AOT'е.


Насчет бипа...
Действительно бипа нет. Неаккуратненько
Старый 06.05.2002, 13:12   #8  
Pavlo AKA Panok is offline
Pavlo AKA Panok
Участник
 
64 / 10 (1) +
Регистрация: 01.05.2002
Адрес: Москва
Я подозреваю что чегото не допонимаю в работе Лукапа...

Когда мы жмем на кнопку Лукап SQL сервер формирует курсор и возвращает его нам весь? Или при перемещении по списку или при позиционировании при нажатии на какой либо символ идет дополнительный обмен данными между клиентом и сервером?
Старый 06.05.2002, 13:54   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Да. Сервер формирует курсор и возвращает только его часть. При перемещении по списку идет дополнительный обмен данными.
Старый 07.05.2002, 22:02   #10  
Kura is offline
Kura
Участник
 
4 / 10 (1) +
Регистрация: 04.05.2002
Адрес: Москва
Можно и перед нажатием на лукап ввести 5000*, как уже предлагалось.
А можно и в отрытом лукапе спозиционировавшись на поле "Код номенклатуры", нажать клавиши CTRL+F(или бинокль) и там ввести теже 5000* - результат потрясающий. Все очень быстро и все довольны. Проверено на очень большом объеме данных. И пользователь к этому быстро привыкает.
Успехов.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
Set записей таблицы OOuph DAX: Программирование 6 11.02.2008 10:27
Как добавить в фильтрацию записей доп. таблицы n:1 или 1:n? Hidden DAX: Программирование 6 11.08.2006 14:04
вывод количества записей в таблице на web форме и указание текущей страницы таблицы bambuk1960 DAX: Программирование 1 06.07.2006 13:27
Ограничить вывод записей master таблицы, наложением фильтра на detail таблицу Андре DAX: Программирование 12 03.02.2003 14:52

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:20.