![]() |
#21 |
Moderator
|
Вот-вот! Тоже не уверены?
![]() А оно так и есть. Понятно, что можно исправить имя на любое, но кто об этом специально заботится без особой нужды? Вот создал картинку, дабы запомнить навсегда про эту "_1": Ну, и теперь, раз уж пошла успешно дифференциальная диагностика, то можно и другие выводы закрепить: Цитата:
hated8, ну, а у Вас-то заработало наконец с _1?? |
|
![]() |
#22 |
Участник
|
![]() Ларчик просто открывался! ![]() qbds = this.query().dataSourceTable(tablenum(RAssetTransferTable)); qbds.addDataSource(tablenum(RAssetLocation)); this.query().dataSourceTable(tablenum(RAssetLocation)).addRange(fieldNum(RAssetLocation, recid)).value('((RAssetTransferTable.NewLocation==Location) || (RAssetTransferTable.OldLocation==Location))'); this.query().dataSourceTable(tablenum(RAssetLocation)).addRange(fieldNum(RAssetLocation, userGroupId)).value( (select groupId from UserGroupList where UserGroupList.UserId == currentUserId).groupId ); ![]() ![]() |
|
![]() |
#23 |
Moderator
|
Не очень понял... так про "убрать RAssetLocation" мы давно уже говорили и вроде не помогало?... А суффикс "_1" , смотрю, так и не понадобился?
|
|
![]() |
#24 |
Участник
|
вся проблема была в том что я делал:
qbds.addDataSource(tablenum(RAssetLocation)); qbds.addRange(fieldNum(RAssetLocation, recid)).value('((RAssetTransferTable.NewLocation==Location) || (RAssetTransferTable.OldLocation==Location))'); поменял qbds на this.query().dataSourceTable(tablenum(RAssetLocation)) и стало счастье!) |
|
![]() |
#25 |
MCITP
|
![]() Цитата:
Но с qbds.name() как-то уверенности больше! ![]()
__________________
Zhirenkov Vitaly |
|
![]() |
#26 |
Moderator
|
Цитата:
![]() По крайней мере, в AX 3.0 SP4. Может, в 4-ке хавает? У меня же в 3-ке вот так - только с "_1": X++: static void Job129(Args _args) { Query query = new Query(); QueryBuildDatasource qbds = new QueryBuildDatasource() ; QueryRun qr; ; qbds = query.addDataSource(tablenum(RAssetTransferTable)); // НЕ РАБОТАЕТ // qbds.addRange(fieldnum(RAssetTransferTable,RecId)) // .value(@'(RAssetTransferTable.TransDate==29\12\2008)'); // РАБОТАЕТ - c _1 qbds.addRange(fieldnum(RAssetTransferTable,RecId)) .value(@'(RAssetTransferTable_1.TransDate==29\12\2008)'); qr = new QueryRun(query); qr.userUpdate(false); qr.prompt(); box::info(strFmt('Кол-во записей: %1', sysQuery::countLoops(qr))); } |
|
![]() |
#27 |
Moderator
|
Цитата:
Сообщение от hated8
![]() вся проблема была в том что я делал:
qbds.addDataSource(tablenum(RAssetLocation)); qbds.addRange(fieldNum(RAssetLocation, recid)).value('((RAssetTransferTable.NewLocation==Location) || (RAssetTransferTable.OldLocation==Location))'); поменял qbds на this.query().dataSourceTable(tablenum(RAssetLocation)) и стало счастье!) Оператор this.query().dataSourceTable(tablenum(RAssetLocation)).addRange(...) добавлял диапазон уже к датасорсу от RAssetLocation, в которой поле Location присутствует и поэтому счастье стало возможным и без имени датасорса. Если же сейчас то попробовать "==Location" с именем датасорса, то, почти уверен, что "==RAssetLocation.Location" вызовет ошибку, а "==RAssetLocation_1.Location" отработает нормально. Попробуете? (для завершенности эксперимента). Вы меня спросите, а почему же работает без _1 имя RAssetTransferTable? Я отвечу: "Она приезжала в Москву в командировку!" (шутка!) Я отвечу: потому что, вероятно, имя датасорса от таблицы RAssetTransferTable было исправлено на "без _1" в том таинственном this.query(), к которому всё пристраивается. Либо это датасорс формы, в котором _1 не добавляется при перетаскивании в него таблицы (первого экземпляра! а ко второму (!) уже добавляется "единичка", но без подчеркинания). ![]() |
|
|
За это сообщение автора поблагодарили: ZVV (1). |
![]() |
#28 |
MCITP
|
![]() Цитата:
Сообщение от Gustav
![]() Да вот не хавает
![]() По крайней мере, в AX 3.0 SP4. Может, в 4-ке хавает? У меня же в 3-ке вот так - только с "_1": X++: static void Job129(Args _args) { Query query = new Query(); QueryBuildDatasource qbds = new QueryBuildDatasource() ; QueryRun qr; ; qbds = query.addDataSource(tablenum(RAssetTransferTable)); // НЕ РАБОТАЕТ // qbds.addRange(fieldnum(RAssetTransferTable,RecId)) // .value(@'(RAssetTransferTable.TransDate==29\12\2008)'); // РАБОТАЕТ - c _1 qbds.addRange(fieldnum(RAssetTransferTable,RecId)) .value(@'(RAssetTransferTable_1.TransDate==29\12\2008)'); qr = new QueryRun(query); qr.userUpdate(false); qr.prompt(); box::info(strFmt('Кол-во записей: %1', sysQuery::countLoops(qr))); } я с такими проблемами не сталкивался, всё по той же причине ![]()
__________________
Zhirenkov Vitaly |
|
![]() |
#29 |
MCITP
|
![]() Цитата:
![]()
__________________
Zhirenkov Vitaly |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|