27.03.2013, 13:50 | #1 |
Участник
|
SysQueryForm и группировка в запросе
Наткнулся на интересную вещь: если в Query указана группировка (OrderMode = GroupBy), то в форме SysQueryForm не получается добавлять/удалять условия.
Мешает вот этот метод класса SysQueryForm X++: private void dataSourceLoad(QueryBuildDataSource _queryBuildDataSource) { if (_queryBuildDataSource.allowAdd() == QueryAllowAdd::AllFields && _queryBuildDataSource.orderMode() == OrderMode::OrderBy ) { allTables.clear(); allTables.DataSourceNo = _queryBuildDataSource.uniqueId(); allTables.Table_Id = _queryBuildDataSource.table(); allTables.Tablelabel = this.getDataSourceLabel(_queryBuildDataSource.uniqueId()); allTables.insert(); } } Axapta 3.0 SP3. Интересно, в более поздних версиях такая же логика? |
|
27.03.2013, 15:26 | #2 |
Участник
|
Microsoft Dynamics Ax 2009
application version: 5.0.1500.6491 X++: private void dataSourceLoad(QueryBuildDataSource _queryBuildDataSource) { if (_queryBuildDataSource.allowAdd() == QueryAllowAdd::AllFields) { allTables.clear(); allTables.DataSourceNo = _queryBuildDataSource.uniqueId(); allTables.Table_Id = _queryBuildDataSource.table(); allTables.Tablelabel = this.getDataSourceLabel(_queryBuildDataSource.uniqueId()); allTables.insert(); } } |
|
27.03.2013, 16:07 | #3 |
Участник
|
В АХ 2012 R2 чуть по-другому, но суть та же:
X++: private void dataSourceLoad(QueryBuildDataSource _queryBuildDataSource) { SysDictTable sysDictTable; if (_queryBuildDataSource.allowAdd() == QueryAllowAdd::AllFields) { sysDictTable = new SysDictTable(_queryBuildDataSource.table()); allTables.clear(); allTables.DataSourceNo = _queryBuildDataSource.uniqueId(); allTables.Table_Id = _queryBuildDataSource.table(); allTables.Prefix_Id = _queryBuildDataSource.table(); allTables.IsOriginalTable = true; allTables.PrefixLabel = this.getDataSourceLabel(_queryBuildDataSource.uniqueId()); allTables.Tablelabel = this.getDataSourceLabel(_queryBuildDataSource.uniqueId()); allTables.insert(); this.prefixLoad(_queryBuildDataSource,sysDictTable); } } |
|
27.03.2013, 16:46 | #4 |
Участник
|
То есть получается, что условие по OrderMode убрали. А как интересно поступают с новыми, добавленными пользователем на этой форме, источниками. Запрещают их добавлять каким-то иным способом или стало можно добавлять новые источники, если в запросе указана группировка?
|
|
28.03.2013, 07:29 | #5 |
Участник
|
В АХ 4.0:
X++: private void dataSourceLoad(QueryBuildDataSource _queryBuildDataSource) { if (_queryBuildDataSource.allowAdd() == QueryAllowAdd::AllFields) { allTables.clear(); allTables.DataSourceNo = _queryBuildDataSource.uniqueId(); allTables.Table_Id = _queryBuildDataSource.table(); allTables.Tablelabel = this.getDataSourceLabel(_queryBuildDataSource.uniqueId()); allTables.insert(); } }
__________________
// no comments |
|