![]() |
#2 |
Участник
|
Баг в классе SysTableLookupBase, можно поправить например вот так метод formRun
X++: queryBuildDataSource = formDataSource.queryBuildDataSource(); if (queryBuildDataSource) { // Update the Query's select list. this.buildSelectionList(queryBuildDataSource); uniqueId = queryBuildDataSource.uniqueId(); } queryBuildDataSource = formDataSource.queryRunQueryBuildDataSource(); if (queryBuildDataSource) { // Update the QueryRun's select list. this.buildSelectionList(queryBuildDataSource); uniqueId = queryBuildDataSource.uniqueId(); } if(query != null && query.queryType() == QueryType::Union) { for(i = 1; i <= query.dataSourceCount(); i++) { queryBuildDataSource = query.dataSourceNo(i); if(queryBuildDataSource.uniqueId() != uniqueId) { this.buildSelectionList(queryBuildDataSource); //simple fix srf if (formDataSource.queryRun() && formDataSource.queryRun().query().dataSourceUniqueId(queryBuildDataSource.uniqueId())) { queryBuildDataSource = formDataSource.queryRun().query().dataSourceUniqueId(queryBuildDataSource.uniqueId()); if (queryBuildDataSource) { // Update the QueryRun's select list. this.buildSelectionList(queryBuildDataSource); } } //simple fix srf } } } Но логичнее посмотреть метод this.buildSelectionList и поправить его так, чтобы поля которые уже есть в запросе дополнительно в него не добавлялись, тогда метод formRun править не надо будет.
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: Oz (2), gl00mie (3), Logger (1). |
|
|