CustVend Settlement by programming
在这里备注一下:(程序结算)
static void testCustTransSettle(Args _args)
{
    custtable ct;
    custaccount acc;
    custtrans cut, cut1,cut2;
    custTransOpen custVendTransOpen;
    //初始化结算辅助类,传入客户代码
    Specification_OffsetVoucher specification   = Specification::constructServer(SpecType::OffsetVoucher,
                                                                                     tablenum(custtable),
                                                                                     custtable::find("000001").RecId);
;
    //客户000001
    ct = custtable::find("000001");
    //客户的交易5637146576,发票交易
    cut = custtrans::find(5637146576);
    //找到相应交易未结记录
    select firstonly custVendTransOpen
    where custVendTransOpen.RecId == custtransopen::findRefId(cut.RecId).RecId;
//通过结算辅助类创建发票结算项
    specification.create(custVendTransOpen.TableId,
                         custVendTransOpen.RecId,
                         500,   //设置结算金额
                         cut.CurrencyCode);
//客户预付款交易记录5637146577,预付款交易
cut1 = custtrans::find(5637146577);
    //找到相应交易未结记录
    select firstonly custVendTransOpen
    where custVendTransOpen.RecId == custtransopen::findRefId(cut1.RecId).RecId;
//通过结算辅助类创建预付款结算项
    specification.create(custVendTransOpen.TableId,
                         custVendTransOpen.RecId,
                         -3000, ////设置结算金额,设置一个就可以了,这个可以由系统根据结算算出,给出默认的
                         cut1.CurrencyCode);
    //调用结算功能,实现结算。
    custtrans::settleTransact(ct);
}
posted on 2008-10-14 10:17 lingdanglfw 阅读(270) 评论(0) 收藏 举报
 
                    
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号