26.04.2007, 12:33 | #1 |
Участник
|
форма SysQueryForm
Разбираю работу формы SysQueryForm.
При вызове разбирает dataSource формы. Аккуратненько все расписыват по двум табличкам TmpSysQuery. Все понятно. Потом пользователь в таблички добавляет описание фильтров. Тоже понятно. А вот дальше непонятно. Как из описания появляется dataSource ( хотя это вообщем то понятно... метод queryBuild класса SysQueryForm ) и самое главное, как подменяется старый dataSource на модифицированный. Подскажите куда смотреть. Последний раз редактировалось Asking questions; 26.04.2007 в 12:36. |
|
26.04.2007, 12:48 | #2 |
Участник
|
Обновляется Query, находящий в объекте QueryRun формы.
Смотрите класс SysQueryForm, метод queryUpdate()
__________________
Axapta v.3.0 sp5 kr2 |
|
26.04.2007, 16:38 | #3 |
Участник
|
Спасибо. Именно туда и смотрю, пока не совсем понятен механизм. Разбираюсь... )
но вот в чем проблема, все вроде исполняется правильно... квери судя по сиквельному выражению формируемому правильно... код if (sysQueryForm.allowSave()) { xSysLastValue::saveLast(element); } отрабатывает... а что дальше ???))) Последний раз редактировалось Asking questions; 26.04.2007 в 17:02. |
|
26.04.2007, 17:14 | #4 |
Участник
|
А дальше внутри super() происходит вызов _ds.research(), в результате чего на сервер летит запрос из queryRun().query()
__________________
Axapta v.3.0 sp5 kr2 |
|
26.04.2007, 17:32 | #5 |
Участник
|
|
|
26.04.2007, 17:33 | #6 |
Участник
|
Хотя нет, вру.
Вызывается \Classes\FormDataSource\prompt() и из него _ds.ExcuteQuery()
__________________
Axapta v.3.0 sp5 kr2 |
|
26.04.2007, 17:41 | #7 |
Участник
|
метод task() класса SysSetupFormRun.
Сначала вызывается форма фильтра. В случае нажатия на Ok - вызываются методы из предыдущего сообщения
__________________
Axapta v.3.0 sp5 kr2 |
|
26.04.2007, 17:47 | #8 |
Участник
|
|
|
26.04.2007, 19:44 | #9 |
Участник
|
Спасибо за помощь.. разобрался.. все оказалось просто до банальности )))
_ds.queryRun().query(sysQueryForm.query()); _ds.research(); |
|