如何解决新增单据下推生成检验单时检验结果页签使用决策表体为空的问题
问题描述:由于业务需求,需要新增单据下推生成检验单,但是单据转换配置检验单明细表体相关字段映射之后,发现生成的检验单的检验结果页签的使用决策表体为空。
问题分析:由于检验单的使用决策表体为子表体,使用决策表体的数据不能通过单据转换字段映射携带,需要二开单据转换插件实现才可以。
此处以生产入库单下推检验单为例(注意:单据转换字段映射中不要配置到检验单使用决策表体相关字段的映射)
1、生产入库单表体增加基本单位检验选单数量和检验选单数量,控制不允许重复下推检验单(检验单保存时反写,可以参考现有检验单反写上游单据的检验选单数量的反写规则配置);
2、新增生产入库单到检验单的单据转换规则,相关配置如下图所示,其中字段映射部分只做了简单配置,其他需要携带字段自行配置即可:
3、二开单据转化插件继承BaseInspectConvert,处理使用决策表体数据的填充,挂在单据转换规则插件策略中。
说明:1、二开单据下推检验单建议下推生成其他检验类型的检验单,以免影响正常收料、生产等流程对应的检验单的一些相关操作以及反写的逻辑。
2、如果检验单的单据类型不是标准产品预置的而是二开增加的,则单据类型中的检验类型要设置为其他检验,且单据转换规则字段映射中检验单单据头的业务类型字段需要设置为'20' (即其他检验对应枚举值)。
示例代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.K3.Core.MFG.EntityHelper;
using Kingdee.BOS.Util;
namespace Kingdee.K3.MFG.QM.App.BillConvertServicePlugIn
{
public class otherInspectConvert : BaseInspectConvert
{
public override void AfterConvert(AfterConvertEventArgs e)
{
base.AfterConvert(e);
}
}
}
如何解决新增单据下推生成检验单时检验结果页签使用决策表体为空的问题
本文2024-09-23 03:28:13发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-159061.html