Lemming, должно работать. Просто надо чтобы с обоих сторон были поля, насколько я знаю.
Толкьо что проверил - работает.
Так что показывайте весь код - будем ошибку искать
X++:
static void Job1(Args _args)
{
Query q = new Query();
QueryBuildDataSource qbds = q.addDataSource(tableNum(Table1));
QueryBuildRange qbr = qbds.addRange(fieldNum(Table1, RecId));
QueryRun qr;
Table1 table1;
;
qbr.value(strFmt('((%1+%2) > (%3))', fieldStr(Table1, Field1), fieldStr(Table1, Field2), fieldStr(Table1, Field3)));
qr = new QueryRun(q);
while (qr.next())
{
table1 = qr.get(tableNum(Table1));
info(strFmt("Field1 = %1, Field2 = %2, Field3 = %3, Field4 = %4", table1.Field1, table1.Field2, table1.Field3, table1.Field4));
}
}
Вот данные из Table1:
Field1 Field2 Field3 Field4 dataAreaId recVersion RecId
100.00 100.00 100.00 100 tst 1 5637144576
50.00 100.00 30.00 120 tst 1 5637144577
20.00 20.00 80.00 -40 tst 458154613 5637144578
Данные из Infolog:
Info Message (12:27:00 pm) Field1 = 100.00, Field2 = 100.00, Field3 = 100.00, Field4 = 100
Info Message (12:27:00 pm) Field1 = 50.00, Field2 = 100.00, Field3 = 30.00, Field4 = 120