代码创建采购贸易协议日记账

// 自动创建采购贸易协议日记账
static void Purch_SL_CreatePriceDisc(Args _args)
{
    priceDiscAdmName        priceDiscAdmName;
    PriceDiscAdmTable       priceDiscAdmTable;
    PriceDiscAdmTrans       PriceDiscAdmTrans;
    PriceDiscAdmCheckPost  priceDiscAdmCheck;

    select firstOnly priceDiscAdmName
        where priceDiscAdmName.DefaultRelation == PriceType::PricePurch;

    if (!priceDiscAdmName)
    {
        throw Error("没有关系是价格(采购)的日记账名称");
    }

    ttsBegin;

    PriceDiscAdmTable.clear();
    PriceDiscAdmTable.initValue();
    PriceDiscAdmTable.initFromPriceDiscAdmName(priceDiscAdmName);
    PriceDiscAdmTable.insert();

    if(PriceDiscAdmTable)
    {
        PriceDiscAdmTrans.clear();
        PriceDiscAdmTrans.initValue();
        PriceDiscAdmTrans.JournalNum        = PriceDiscAdmTable.JournalNum;
        PriceDiscAdmTrans.relation          = PriceDiscAdmTable.DefaultRelation;
        PriceDiscAdmTrans.AccountCode       = TableGroupAll::Table;
        PriceDiscAdmTrans.ItemCode          = TableGroupAll::Table;
        PriceDiscAdmTrans.AccountRelation   = "CNMF-000000002";
        PriceDiscAdmTrans.ItemRelation      = "000000001-1";//"D0001";
        PriceDiscAdmTrans.initFromAccountCode();    //日期
        PriceDiscAdmTrans.FromDate          = systemDateGet()-1;

        PriceDiscAdmTrans.ToDate            = systemDateGet() + 6;  //采购价取值,查询下一个是否勾选,都会查找第一条有效的在范围内的采购价
        PriceDiscAdmTrans.initFromItemCode();
        PriceDiscAdmTrans.InventDimId       = InventDim::findOrCreateBlank().inventDimId;
        PriceDiscAdmTrans.Amount            = 100;
        PriceDiscAdmTrans.SearchAgain       = NoYes::Yes;//查找下一个
        PriceDiscAdmTrans.insert();
    }

    //过账日记账
    priceDiscAdmCheck = new PriceDiscAdmCheckPost(false);
    priceDiscAdmCheck.initJournalNum(PriceDiscAdmTable.JournalNum);
    priceDiscAdmCheck.run();
    ttsCommit;

    info(strFmt("采购贸易协议日记账%1已产生!", PriceDiscAdmTable.JournalNum));
}

  

原文地址:https://www.cnblogs.com/sunny-technology/p/11763975.html