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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.06.2011, 11:15   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,983 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от kashperuk Посмотреть сообщение
research(true) потому так намного быстрее и работает, что работает напрямую с гридом (по сравнению с findRecord).
В 2009-й не заметил особой разницы.
Более того воспроизвелся один неприятный глюк (живет еще с 3-ки)

Пример.
1. Пользователь отфильтровал форму заказов по чекбоксу в гриде.
2. Жмет кнопку которая делает некую обработку с заказом, в результате которой галка снимается, таким образом заказ перестает попадать в выборку.
3. После обработки автоматом вызывается salesTable_ds.research(true); (раньше было salesTable_ds.research(); salesTable_ds.findRecord(common_Before)

При исполнении ядро безуспешно пытается найти запись, затягивая все выборку заказов на клиент, сжирая всю оперативку на терминальном сервере.
70 тысяч заказов съели порядка 1 гига памяти.

Судя по поведению аксапты salesTable_ds.research(true); внутри себя все таки дергает findRecord или аналогичный код.

Проблему удалось решить только за счет использования

X++:
        element.args().lookupField(fieldNum(SalesTable, salesID));
        element.args().lookupValue(locSalesId);
правда чтобы такой поиск заработал корректно пришлось сбрасывать пользовательские сортировки на форме. Иначе может некорректно позиционироваться.

Можно еще было обязательно ограничивать выборку заказов с тем чтобы даже при таком глюке с базы не затягивалась большая выборка. Но это дело вкуса - кому что удобнее.

P.S.
Глюк в ядре немного странно себя ведет. Так как если в моем примере галка не снимается а ставится, то затягивания все выборки заказов в память не происходит. Почему - пока не разобрался. Возможно дело в сортировках.

Последний раз редактировалось Logger; 02.06.2011 в 11:26. Причина: исправил опечатки в примерах кода
За это сообщение автора поблагодарили: Ace of Database (3).
Теги
executequery, query, research, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Research, refresh, reread шпаргалка Qaz Qwerty DAX: База знаний и проекты 7 03.05.2024 12:17
Kashperuk Ivan: Casing and text search/comparison tutorial Blog bot DAX Blogs 6 25.02.2010 15:41
Kashperuk Ivan: Lookup methods tutorial + custom list lookup implementation Blog bot DAX Blogs 0 04.05.2009 14:05
Kashperuk Ivan: TableBrowser.NET (a small .NET BC tutorial) Blog bot DAX Blogs 0 18.10.2008 02:08
Kashperuk Ivan: Dynamics AX Tutorials - Tutorial 2 - Classes\Box Blog bot DAX Blogs 0 25.04.2007 22:23

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

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

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