电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.工序计划.生产订单生成工序计划携带二开字段

来源:金蝶云社区作者:金蝶2024-09-235

二开案例.工序计划.生产订单生成工序计划携带二开字段

生产订单生成工序计划插件二开指导

场景:对于生产订单生成工序计划的某些应用场景,无法通过BOS IDE配置带出工序计划上的一些字段。例如:1、某个字段是通过工序计划本身的某几个计算而来,或者2、要从其他单据上获取某些字段赋值到工序计划上。这个时候,需要使用插件来干预生产订单生成工序计划的过程。

生产订单生成工序计划的二开插件开发步骤如下:

1、二开工程,添加对Kingdee.K3.MFG.SFC.App.Core.dll组件的引用(组件在应用服务器的安装目录:Kingdee\K3Cloud\WebSite\bin下能够找到)。

2、新建一个二开的类,继承一下AbstractSFCPlugIn类,如图所示:

3、重写一下BeforeExecute方法,如图所示:

BeforeExecute方法的参数BeforeExecuteEventArgs e中有两个信息:

1)e.Context:当前登录上下文,这里包含了当前登录用户的相关信息,一般在执行sql的时候需要传入这个参数;

2)e.ObjectLst:当前待处理的工序计划对象集合,工序计划保存前的完整数据包。

因此,如果想要对生成的工序计划进行干预,只需要在重写的BeforeExecute方法中,对e.ObjectLst中的数据进行相应的处理即可。需要循环处理每一个数据包的每一行分录,示例代码清单如下(详细代码根据具体情况作相应的修改即可):

 

/// <summary>
        /// 保存前操作
        /// </summary>
        /// <param name="e"></param>
        public override void BeforeExecute(BeforeExecuteEventArgs e)
        {
            base.BeforeExecute(e);
            List<DynamicObject> lstObject = e.ObjectLst;
            foreach (DynamicObject obj in lstObject)
            {
                // 工序序列 列表
                DynamicObjectCollection entryCols = obj["Entity"] as DynamicObjectCollection;
                // 循环处理每一个工序序列
                foreach (DynamicObject entry in entryCols)
                {
                    // 获取当前工序序列对应的工序列表
                    DynamicObjectCollection subEntity = entry["SubEntity"] as DynamicObjectCollection;
                    // 下面循环处理工序列表的每一个分录
                    foreach (DynamicObject oper in subEntity)
                    {
                        // 在这里进行相应的操作,例如将某两个数量字段想乘,赋值到另一个二开所加的字段中
                        decimal operQty = Convert.ToDecimal(oper["OperQty"]); // 工序数量
                        decimal activity1BaseQty = Convert.ToDecimal(oper["Activity1B

二开案例.工序计划.生产订单生成工序计划携带二开字段

生产订单生成工序计划插件二开指导场景:对于生产订单生成工序计划的某些应用场景,无法通过BOS IDE配置带出工序计划上的一些字段。例如:...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信