如何实现检验单使用决策表体满足某些特定条件的数据拼接显示到检验单单据头字段

需求描述:在检验单使用决策表体增加了单选辅助资料字段,在检验单单据头增加了多行文本字段,当使用决策表体使用决策为工废或者料废时,将使用决策表体的使用决策、数量以及单选辅助资料值拼接显示在单据头字段上。
解决方案:由于是多个字段的拼接显示因此无法通过配置实体服务规则实现,需要二开python表单插件实现,在点击保存时将数据拼接显示在单据头字段,具体逻辑如下:
1、 检验单单据头增加多行文本类型字段:

2、检验单使用决策表体增加单选辅助资料字段:

3、注册python表单插件,在保存前将数据拼接显示到单据头字段上:

4、实现效果如下:

5、示例代码如下:
import clr
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference('Kingdee.K3.BD.ServiceHelper')
clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference('Kingdee.BOS.Business.DynamicForm')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference('Kingdee.BOS.Contracts')
from Kingdee.BOS.Contracts import *
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.Bill import*
from Kingdee.BOS.Orm.DataEntity import*
from Kingdee.K3.BD.ServiceHelper import*
from Kingdee.BOS.ServiceHelper import*
from System import *
from System.Collections import *
from System.Collections.Generic import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
def BeforeDoOperation(e):
if(str(e.Operation.FormOperation.Operation)=="Save"):
entity = this.View.BusinessInfo.GetEntryEntity("FEntity")
entryRows = this.View.Model.GetEntityDataObject(entity)
descrition=""
for entry in entryRows:
unitObj = entry["UnitId"]
precision=0
#有单位时,严格按单位精度显示
if (unitObj is not None):
pr
如何实现检验单使用决策表体满足某些特定条件的数据拼接显示到检验单单据头字段
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



