Skip links

Query & Dialog Örnekleri 6

Query & Dialog Örnekleri 6

Merhaba
static void Query6(Args _args)
{
CustTable   cust;
CustTrans   custTrans;
Query                   q = new Query();
QueryRun                qr;
QueryBuildDataSource    qbdsCustTable;
QueryBuildDataSource    qdbsCustTrans;
QueryBuildRange         qbrCurrency;
QueryBuildRange         qbrRiskAmount;
CurrencyCode            currency;
Amount                  riskAmount;
dialog                  d = new Dialog(“Müşteriler”);
dialogField             dfCurrency;
dialogField             dfRiskAmount;
;
//Dialog
dfCurrency = d.addField(typeId(CurrencyCode));
dfRiskAmount = d.addField(typeId(Amount), “Max risk tutarı :”);
if(d.run())
{
//getFromDialog
currency    = dfCurrency.value();
riskAmount  = dfRiskAmount.value();

//fetch
qbdsCustTable   = q.addDataSource(tableNum(CustTable));
qbdsCustTable.addSortIndex(indexNum(CustTable, AccountIdx));
qbdsCustTable.addSortField(fieldNum(CustTable, Name), SortOrder::Descending);
qdbsCustTrans   = qbdsCustTable.addDataSource(tableNum(CustTrans));
qdbsCustTrans.addLink(fieldNum(CustTable, AccountNum), fieldNum(CustTrans, AccountNum));
qbrCurrency     = qbdsCustTable.addRange(fieldNum(CustTable, Currency));
qbrRiskAmount   = qbdsCustTable.addRange(fieldNum(CustTable, RiskAmount));
if(currency)
qbrCurrency.value(sysQuery::value(currency));
qbrRiskAmount.value(sysQuery::range(0.01, riskAmount));
//super ben yazmam
qr = new QueryRun(q);
while(qr.next())
{
cust = qr.get(tableNum(CustTable));
custTrans = qr.get(tableNum(CustTrans));
info(strFmt(“%1     %2      %3      %4”,
cust.Name,
cust.Currency,
cust.RiskAmount,
custTrans.AmountMST));
}
}
}

Join the Discussion