![]() |
#32 |
Участник
|
Цитата:
Сообщение от gl00mie
![]() Я не утверждал, что Query/QueryRun может генерить SQL-операторы update вместо select'а, однако, в Аксапте при обновлении записей в цикле (без использования update_recordset) принято в этом цикле выбирать записи на обновление (по аналогии с while select forupdate). Можно, конечно, в цикле их выбирать без указания, что они будут обновляться (по аналогии с while select), и потом либо перевыбирать на обновление, либо отрубать проверку, что запись была выбрана на обновление, но в общем случае надо понимать, зачем делать именно так, вместо того чтобы изначально просто выбирать записи на обновление и не усложнять код.А класс запускается изначально где, на сервере или на клиенте? И где он собственно использует запрос для выборки данных, на сервере или на клиенте? Если на сервере, то учитывают ли pack/unpack, что надо паковать запрос? Потому что без этого изменения, внесенные в критерии фильтрации запроса на клиенте, при возврате управления на сервер будут утеряны.
![]() В свойстве Run On стоит Called From. В методе пакую запрос посредством X++: return [#CurrentVersion,#CurrentList, queryrun.query().pack()]; X++: switch (version) { case #CurrentVersion: [version,#CurrentList] = packedClass; if (SysQuery::isPackedOk(queryCon)) queryRun = new QueryRun(queryCon); else this.initQuery(); break; default: return false; } ![]() |
|
Теги |
runbasereport, диалог, динамическая форма, периодическая операция, программно |
|
|