获取批号自定义批号编码规则案例原创
金蝶云社区-邱育华
邱育华
28人赞赏了该文章 1,469次浏览 未经作者许可,禁止转载编辑于2022年03月25日 15:00:27

一、问题现象

供应商协同送货通知单上面加了获取批号的按钮,生成通知单的时候,默认直接有获取到批号,但是由于生成的时候有一个产线字段为空(要求是要生成完之后再手工填写的),填写了字段之后再把批号清空了,然后再去获取批号,但是这个时候获取出来的批号就之后流水号和间隔符了

image.png

image.png


二、原因排查

1、自定义的批号编码规则,物料是否绑定对应

2、批号序列号的属性是否绑定单据的对应字段

3、获取批号,单据各对应批号编码规则属性对应的字段是否有值


从以上步骤分析得出:批号属性中缺少对应单据"送货通知单-SCP_ReceiveBill"字段的绑定

image.png


解决步骤

1、批号/序列号属性(FormId: BD_LotCodeItem),添加对应单据的枚举值

image.png


2、批号属性字段(FormId: LotCodeField), 加入单据过滤条件值

image.png


FNumber IN ('STK_AssembledApp','SP_InStock','SUB_SUBREQORDER','PRD_MO','PUR_ReceiveBill','STK_InStock','PUR_PurchaseOrder','PRD_INSTOCK','STK_MISCELLANEOUS','STK_OEMInStock','PRD_MORPT','PRD_MOChange','SUB_ReqChange','REM_IndepenReqPlan','REM_MixedFlowPlan','REM_INSTOCK','REM_ProdSubDayPlan','STK_OEMReceive','SFC_OperationReport','SAL_RETURNNOTICE','QM_OtherInspectAppQc','SCP_ReceiveBill')


3、页面上"批号/序列号属性",添加对应单据,并绑定对应字段值

image.png


4、单据录入字段值,获取批号

image.png



值更新触发"获取批号"操作的实现方案

1、单据头添加按钮,配置"获取批号操作"

2、注册Python表单插件

clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.DataEntity')
from Kingdee.BOS.Util import *
from Kingdee.BOS import LocaleValue
from Kingdee.BOS.Core.Metadata import *
from Kingdee.BOS.Core.Bill.PlugIn import *
from Kingdee.BOS.Orm.DataEntity import *
from System import *

def DataChanged(e):
    if e.Key.Equals("FLine", StringComparison.InvariantCultureIgnoreCase):
        this.Model.SetValue("FLot", "", e.Row)
        this.View.InvokeFieldUpdateService("FLot", e.Row);

        this.View.GetMainMenu().ItemClick("tbButton")
        this.View.SendDynamicFormAction(this.View)

image.png


图标赞 28
28人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!