如何实现检验单分录明细存在不合格数量时,对应的检验结果为不合格

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

如何实现检验单分录明细存在不合格数量时,对应的检验结果为不合格

需求描述:检验单分录明细存在不合格数量(即使用决策表体存在任意一行的状态为不合格)时,分录明细的检验结果为不合格;

解决方案:由于检验单分录明细修改合格数量、不合格数量或者样本破坏数以及使用决策表体修改数量或者决策状态时都会影响到分录明细的不合格数量,因此可以注册python表单插件,插件中利用上述这些字段的值更新实现该逻辑;

(1)检验单表单插件注册python插件,如下图所示:

上传图片

(2)python示例代码如下:

import clr

clr.AddReference('System')

clr.AddReference('System.Core')

clr.AddReference('Kingdee.BOS')

clr.AddReference('Kingdee.BOS.Core')

clr.AddReference('Kingdee.BOS.DataEntity')

#clr.AddReference('Kingdee.BOS.App')

 

from Kingdee.BOS import *

from Kingdee.BOS.Core import *

from Kingdee.BOS.Core.DynamicForm.PlugIn import *

from Kingdee.BOS.Core.Bill import*

from System import*

from Kingdee.BOS.Orm.DataEntity import*

from System.Collections import *

from System.Collections.Generic import *

#from Kingdee.BOS.App.Data import *

def DataChanged(e):

    fieldkey= str(e.Field.Key)

    if (fieldkey=="FQualifiedQty" or fieldkey=="FUnqualifiedQty" or  fieldkey=="FSampleDamageQty"):

       unquaQty=this.View.Model.GetValue("FUnqualifiedQty",e.Row) 

       if(unquaQty > 0):

           this.View.Model.SetValue("FInspectResult",'2', e.Row)

       else:

           this.View.Model.SetValue("FInspectResult",'1', e.Row)

       this.View.UpdateView("FInspectResult", e.Row)

    if(fieldkey=="FPolicyStatus" or fieldkey=="FPolicyQty" ):

       policyEntity=this.View.Model.BillBusinessInfo.GetEntity("FPolicyDetail")

       policyObjs = this.View.Model.GetEntityDataObject(policyEntity)

       entryRow = policyObjs.Parent

       rowIndex = entryRow["Seq"] - 1 

       isQua='1'

       unquaQty=entryRow["UnqualifiedQty"]

       if(unquaQty > 0):

           this.View.Model.SetValue("FInspectResult",'2', rowIndex)

       else:

           this.View.Model.SetValue("FInspectResult",'1',rowIndex)       

    this.View.UpdateView("FInspectResult", rowIndex)


说明(1)由于python对于合格要求比较严格,因此可以使用Tab键按如上截图调整代码缩进,最好不要使用空格键以防缩进不一致;

          (2)插件确定保存时如果弹出类似如下的提示信息,则可以忽略直接点击确定即可。  

上传图片

        (3)如果是不合格数量答到一定比例时检验结果为不合格,则可以直接在上述代码中进行修改,在获取不合格数量的同时将检验数量一起取出,算出对应的比例,将条件unquaQty > 0 修改为计算出的比例判断条件即可


如何实现检验单分录明细存在不合格数量时,对应的检验结果为不合格

需求描述:检验单分录明细存在不合格数量(即使用决策表体存在任意一行的状态为不合格)时,分录明细的检验结果为不合格;解决方案:由于检...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息