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

如何实现库存单据在提交时校验序列号必录

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

如何实现库存单据在提交时校验序列号必录

问题描述:目前星空系统中针对启用序列号管理的物料,库存单据保存时针对序列号必录的校验是交互式的,可以选择是跳过这个校验继续保存单据,只有在单据审核的时候才会强制校验序列号必录。但是很多情况下,在企业操作流程上并不想走到审核的时候才提示,需要在审核前也就是提交的时候校验序列号必录;

解决方法:单据的提交操作上注册python插件校验器,针对启用序列号管理的物料分录提交时校验序列号是否全部录入,未全部录入则不允许提交。

此处以生产入库单为例介绍:

1、 生产入库单提交操作上注册python插件,增加校验器,如下图所示:

  2、python插件代码如下(注意格式:通过tab调整,不要使用空格):

import clr
clr.AddReference("System")
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Metadata.EntityElement import*
from Kingdee.BOS.Core.Validation import*
def OnPreparePropertys(e):
    e.FieldKeys.Add("FSerialNo")
    e.FieldKeys.Add("FSNQty")
def OnAddValidators(e):
    validator=ValidateSN()
    validator.EntityKey="FBillHead"
    validator.AlwaysValidate=True
    e.Validators.Add(validator)
class  ValidateSN(AbstractValidator):
def Validate(self,dataEntities,validateContext,ctx):
    for bill in dataEntities:
        billEntrys=bill.DataEntity["Entity"]
        billId=bill["Id"]
        for entry in billEntrys:
            mseq=(entry["Seq"])
            snQty=(entry["SNQty"])
            material=entry["MaterialId"]
            stocdate = material["MaterialStock"][0]
 

如何实现库存单据在提交时校验序列号必录

问题描述:目前星空系统中针对启用序列号管理的物料,库存单据保存时针对序列号必录的校验是交互式的,可以选择是跳过这个校验继续保存单据...
点击下载文档文档为doc格式

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

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