|
|
#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). | |
|
|
|