Показать сообщение отдельно
Старый 27.03.2013, 13:50   #1  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
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. Интересно, в более поздних версиях такая же логика?