Показать сообщение отдельно
Старый 13.04.2012, 09:53   #1  
yahenz is offline
yahenz
Участник
 
12 / 10 (1) +
Регистрация: 27.12.2011
Адрес: Челябинск
? Выражение в QueryBuildRange с сумой полей
Всем привет!

Пытаюсь написать что-то подобное в АХ 3.0:
X++:
    QueryRun qr;
    Query query = new Query();
    QueryBuildDataSource dsTable2 = query.addDataSource(tableNum(Table2));
    QueryBuildRange qbr;
    Table2 t2;
    ;

    qbr = dsTable2.addRange(fieldNum(Table2, DataAreaId));
    qbr.value(strfmt('((%1 + %2) > 0)', fieldStr(Table2, Field1), fieldStr(Table2, Field2)));

    qr = new QueryRun(query);

    while(qr.next())
    {
        t2 = qr.get(tablenum(Table2));
        info(int2str(t2.Field1) + "+" + int2str(t2.Field2));
    }
Выдает ошибку:

Описание ошибки SQL: [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '='.
Оператор SQL: SELECT A.FIELD1,A.FIELD2,A.RECVERSION,A.RECID FROM TABLE2 A WHERE ((DATAAREAID=?) AND ((FIELD1+FIELD2)>1=?)) ORDER BY A.DATAAREAID,A.RECID OPTION(FAST 45)

В АХ 5.0 все работает. Неужели в 3.0 ничего не получится?