Как можно перехватить события OnKeyUp и OnKeyDown #304543


#0 by vladnet
Дело в том что у меня в номенклатуре при активизации строки выполняется куча запросов, и когда пользователь нажимает клавишу вниз, и держит все жутко тормозит :( Считать остатки заранее вроде плохо потому как могут быть изменения остатков пока сидит оператор в подборе, да и долго тогда будет открыватся список.
#1 by ТелепатБот
#2 by vladnet
Это конечно хорошо, и даже в моем случае применимо, но только для колонок, у меня же плюс к этом остатки и кстати цены показываются внизу в таблице.
#3 by Dem1urg
Стандартно - никак. Можно через внешнюю компоненту. А зачем выполнять кучу запросов именно при активизации строки? З.Ы. ТелепатБот он бот, с ним не нужно разговаривать.
#4 by Kraft
Ну ты это... с ботом то не разговаривай...
#5 by selenat
(3,4) а почему он не должен с ботом оворить? Что за дискриминация такая?
#6 by selenat
OnKeyUp телепатбот, ответь
#7 by Kraft
Бот?
#8 by vladnet
А она уже есть или надо самому писать? А когда их выполнять, если у меня при активизации строки считаются - остатки товара внизу (по нескольким складам), резерв и цены товара (несколько типов цен), итого 3 запроса. Если пытатся как то обобщить, то прийдется выполнять эти 3 запроса на всю базу, не долго ли будет? Или была мысль выполнять их при переходе в папку, и на всю папку считать, но тоже не очень да и актуальность никакая ( Думаешь ответит?
#9 by selenat
если правильно спросить - должен. Тока не помню точно как...
#10 by yalex
лучше не заниматься ерундой, а сделать отчёт. Всему своё место.
#11 by vladnet
ну можно конечно попробывать заставить пользователей подбирать номенклатуру из отчета, но там не очень удобно, да и колонок будет около 20 не влезет у них в экран... А если сперва смотреть в отчете что есть а потом подбирать это в документ то это извините лажа.
#12 by yalex
а, ну да..не до конца понял суть вопроса.
#13 by Vippi
Есть. Только для 7.7 FormEx
#14 by Dem1urg
За каким пользователю при КАЖДОМ позиционировании на строке списка запрашивать всю эту информацию????
#15 by Михей
ИМХО лучше делать временную таблицу с остатками (заполнять при открытии к примеру), например ТаблицаЗначений, и ее использовать нежели при активизации строки делать запросы
#16 by vladnet
Да формекс это хорошо, но нужно для 8ки Вот я и хочу чтобы не при каждом а только при окончания движения курсора. Долго будет вызыватся подбор, да и потом в ТЗ нужно будет искать, опять же пока на 8.0 сидим, а там индексов в тз нет.
#17 by Dem1urg
Кстати, насколько я помню УТ, подбор подгружает остатки в ТЗ при открытии группы, и потом отображает их в форме списка уже из ТЗ.
#18 by yalex
Из временной таблицы подбор не сделаешь. Автор как я понял хочет двух зайцев убить остатки показать и сделать подбор
#19 by vladnet
Ок гляну новую УТ, у нас достаточно старая. Но даже в этом случае, хорошо бы иметь событие чтобы в ТЗ не искать и не обновлять информацию об остатках когда это не нужно
#20 by yalex
Вернее сделаешь, но это очередная лажа
#21 by Dem1urg
Зачем данные нужно получать при КАЖДОМ окончании движения курсора??? Эта актуальность с точностью до секунды она ЗАЧЕМ? Пользователю РЕАЛЬНО нужно каждый раз при установке курсора на эту строку видеть все эти данные??? в реальном времени? а если он на ней стал и ушел курить, через 5 минут вернулся ... о ужас... данные то уже не актуальны, нужно "перевстать" на эту строку...
#22 by Scooter
при активизации строки реально считать остатки и ничего не будет тормозить, возможно запросы кривые (код давай да)
#23 by vladnet
Легко
#24 by vladnet
Вот еще запрос по резерву:
#25 by vladnet
Да выполнение 3 этих запросов проходит достаточно быстро, но когда пользователь нажимает кнопку вниз присходит выполнение запросов 3*КоличествоПереходовКурсора, а вот это уже тормозит
#26 by Scooter
запрос объединить и попытаться исключить обход выборки в мОбновитьОстатки но лучше использовать ПриПолученииДанных
#27 by vladnet
Не сильно ускорит, попробую конечно а при получении данных использовать не получится, нужно выводить данные внизу на строчку, разве что как то расчитывать и потом хранить в оформленииСтроки данные, и потом просто их показывать, но вот не знаю получится ли такое
#28 by Scooter
по поводу ускорения сможет ответить замер производительности я вообще кеширую данные и время изменения данных в кеше для разных пользователей разное у тебя файловый вариант?
#29 by vladnet
Делал я замеры производительности, где то 95 % времени это 3 запроса. Можно подробнее про кэш? Что ты файловый вариант на 8ке совсем не живой.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С