lingdanglfw(DAX)

导航

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  阅读(260)  评论(0编辑  收藏  举报