![]() |
#8 |
Программатор
|
X++: void updateBalances() { QueryRun queryRun; Query query; QueryBuildDataSource qbd; CustTrans custTrans; ; query = new Query(custTransDebit_Q); qbd = query.dataSourceNo(1); qbd.findRange(fieldnum(CustTrans,AmountMST)).value(SysQuery::valueUnlimited()); qbd.findRange(fieldnum(CustTrans,TransDate)).value(SysQuery::range(dateNull(),endDate.dateValue())); queryRun = new QueryRun(query); startBalance = 0; turnoverCredit = 0; turnoverDebit = 0; settleEndBalance = 0; while (queryRun.next()) { custTrans = queryRun.get(tablenum(CustTrans)); settleEndBalance += custTrans.remainAmountMST(); if (custTrans.TransDate < startDate.dateValue()) { startBalance += custTrans.AmountMST; } else { if (custTrans.AmountMST > 0) { turnoverDebit += custTrans.AmountMST; } else { turnoverCredit += custTrans.AmountMST; } } } element.redraw(); } X++: //BP deviation documented display AmountMST endBalance() { return startBalance + turnoverDebit + turnoverCredit; } |
|