D365 批处理案例一:普通批处理

class Test extends RunBaseBatch
{
    DialogField         startdateField,enddateField,branchCodeField;
    FormBuildStringControl   branchCodeControl;
    str branchSum;
    date startdate,enddate;

    
    //批处理用于存储数据
    #define.CurrentVersion(1)
    #localMacro.CurrentList
            branchSum,
            startdate,
            enddate
    #endMacro

    public boolean unpack(container packedClass)
    {
        Integer          version         = conPeek(packedClass,1);
        switch (version)
        {
            case #CurrentVersion:
                [version,#CurrentList] = packedClass;
                break;

            default:
                return false;
        }
        return true;
    }

    public container pack()
    {
        return [#CurrentVersion,#CurrentList];
    }

    /// <summary>
    ///
    /// </summary>
    /// <returns></returns>
    public Object dialog()
    {
        DialogRunbase dialog = super();

        dialog.caption("Test");

        this.getlast();
        
        startdateField      = dialog.addField(extendedTypeStr(TransDate),"@SYS5209");
        enddateField        = dialog.addField(extendedTypeStr(TransDate),"@SYS14656");

        branchCodeField     = dialog.addFieldValue(extendedTypeStr(name),branchSum);
        branchCodeControl   = branchCodeField.control();
        branchCodeControl.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(Test, lookupBranch), this);
        //用于lookup多选
        branchCodeControl.replaceOnLookup(false);
        
        startdateField.value(startdate);
        enddateField.value(enddate);
        branchCodeField.value(branchSum);
        return dialog;
    }

    public static void Main(Args _args)
    {
        Testpr = new Test();
        if(pr.prompt())
        {
            pr.run();
        }
    }
    protected void lookupBranch(FormStringControl _control)

    {
        Query query = new Query();

        QueryBuildDataSource  queryBuildDataSource;
        SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(Table), _control);
        sysTableLookup.addLookupField(fieldNum(Table, BranchCode));
        
        sysTableLookup.parmQuery(query);
        sysTableLookup.performFormLookup();
    }

    /// <summary>
    ///
    /// </summary>
    /// <returns></returns>
    public ClassDescription caption()
    {
        ClassDescription ret;
    
        ret = super();
        ret = '测试';
        return ret;

    /// <summary>
    ///
    /// </summary>
    /// <returns></returns>
    public boolean getFromDialog()
    {
        boolean ret;
    
        ret = super();
        startdate = startdateField.value();
        enddate   = enddateField.value();
        branchSum= branchCodeField.value();

        this.saveLast();

        return ret;
    }

    /// <summary>
    ///
    /// </summary>
    public void run()
    {

    }


}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值