二开:新增简单生产入库单到简单生产领料单的单据转换

背景:
因为客户那边是贸易企业不做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();
二开:新增简单生产入库单到简单生产领料单的单据转换
背景:因为客户那边是贸易企业不做BOM;需要用【简单生产入库单】下推【简单生产领料单】领料单就是领用入库单的物料本身,所以需要自己配...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



