二开:新增简单生产入库单到简单生产领料单的单据转换
背景:
因为客户那边是贸易企业不做BOM; 需要用【简单生产入库单】下推【简单生产领料单】领料单就是领用入库单的物料本身,所以需要自己配置单据转换; 把系统预设的【BOM展开】下推【简单生产领料】的单据转换停用了;然后自己另外新增了【简单生产入库单】下推【简单生产领料单】的单据转换; 但是在系统下推时是选不到这个单据转换的,被系统强制控制了
操作步骤:
2、涉及简单生产领料的选单,简单生产入库的单据内下推,简单生产入库的列表下推,具体步骤:
停用BOM正向展开模型(禁止发布)-》简单生产领料单的单据转换.
停用简单生产入库单-简单生产领料单标准单据转换
新建简单生产入库单到简单生产领料单的单据转换,并配置字段映射(案例只配置了下推需要,如果有其他的可以在配置)
2.4、二开简单生产领料的表单插件(单据选单)
继承插件AbstractBillPlugIn,并将插件注册在简单生产领料单表单插件最后
重写OnGetConvertRule
具体实现:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.List.PlugIn.Args; using Kingdee.BOS.Core.Metadata.ConvertElement; using Kingdee.BOS.ServiceHelper; using Kingdee.K3.Core.SCM; namespace ITIBB.App.ServicePlugIn.Business.PlugIn { [Description("简单生产领料单单表单插件")] public class ExtSpPickMtrlEdit:AbstractBillPlugIn { public override void OnGetConvertRule(GetConvertRuleEventArgs e) { base.OnGetConvertRule(e); if (e.ConvertOperation == FormOperationEnum.Draw && (e.TargetFormId == SCMFormIdConst.SpPickMtrlBill)) { ConvertRuleElement rule = ConvertServiceHelper.GetConvertRules(this.Context, SCMFormIdConst.SpInStockBill, e.TargetFormId).FirstOrDefault(); if (rule != null) { e.Rule = rule; } } } } }
2.4、二开简单生产入库的表单插件(单据下推)
继承插件AbstractBillPlugIn,并将插件注册在简单生产入库单表单插件最后
重写OnGetConvertRule和OnShowConvertOpForm
具体实现:
using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.List.PlugIn.Args; using Kingdee.BOS.Core.Metadata.ConvertElement; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using Kingdee.K3.Core.SCM; namespace ITIBB.App.ServicePlugIn.Business.PlugIn { [Description("简单生产入库单表单插件")] public class ExtSpInStockEdit : AbstractBillPlugIn { public override void OnGetConvertRule(GetConvertRuleEventArgs e) { base.OnGetConvertRule(e); if (e.ConvertOperation == FormOperationEnum.Push && (e.TargetFormId == SCMFormIdConst.SpPickMtrlBill)) { ConvertRuleElement rule = ConvertServiceHelper.GetConvertRules(this.Context, SCMFormIdConst.SpInStockBill, e.TargetFormId).FirstOrDefault(); if (rule != null) { e.Rule = rule; } } } public override void OnShowConvertOpForm(ShowConvertOpFormEventArgs e) { base.OnShowConvertOpForm(e); if (e.ConvertOperation == FormOperationEnum.Push && e.Bills is List<ConvertBillElement>) { if (!e.ReplaceRelations.IsEmpty()) { ReplaceRelation replaceRelation = e.ReplaceRelations.Where(x => x.SourceFormId.EqualsIgnoreCase("ENG_BomExpandBill")).FirstOrDefault(); if (!replaceRelation.IsNullOrEmpty()) { e.ReplaceRelations.Remove(replaceRelation); } } } } } }
2.5、二开简单生产入库单的列表插件(列表下推)
继承插件AbstractListPlugIn,并将插件注册在简单生产入库单列表插件最后;
重写OnGetConvertRule和OnShowConvertOpForm
具体实现:
using System.Collections.Generic; using System.ComponentModel; using System.Linq; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Core.List.PlugIn.Args; using Kingdee.BOS.Core.Metadata.ConvertElement; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using Kingdee.K3.Core.SCM; namespace ITIBB.App.ServicePlugIn.Business.PlugIn { [Description("简单生产入库单列表插件")] public class ExtSpInStockList : AbstractListPlugIn { public override void OnGetConvertRule(GetConvertRuleEventArgs e) { base.OnGetConvertRule(e); if (e.ConvertOperation == FormOperationEnum.Push && (e.TargetFormId == SCMFormIdConst.SpPickMtrlBill)) { ConvertRuleElement rule = ConvertServiceHelper.GetConvertRules(this.Context, SCMFormIdConst.SpInStockBill, e.TargetFormId).FirstOrDefault(); if (rule != null) { e.Rule = rule; } } } public override void OnShowConvertOpForm(ShowConvertOpFormEventArgs e) { base.OnShowConvertOpForm(e); if (e.ConvertOperation == FormOperationEnum.Push && e.Bills is List<ConvertBillElement>) { if (!e.ReplaceRelations.IsEmpty()) { ReplaceRelation replaceRelation = e.ReplaceRelations.Where(x => x.SourceFormId.EqualsIgnoreCase("ENG_BomExpandBill")).FirstOrDefault(); if (!replaceRelation.IsNullOrEmpty()) { e.ReplaceRelations.Remove(replaceRelation); } } } } } }
效果演示
二开:新增简单生产入库单到简单生产领料单的单据转换
背景:因为客户那边是贸易企业不做BOM;需要用【简单生产入库单】下推【简单生产领料单】领料单就是领用入库单的物料本身,所以需要自己配...
点击下载文档
本文2024-09-23 03:21:29发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-158344.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章