二开实现单据保存写入批号主档

一、【问题背景】:需要批号主档里面增加自定义字段,做单据的时候把自定义字段写进批号主档,出入库单选批号时将批号主档自定义字段带出来
二、【说明】
1、单据在"保存"操作中配置有"保存并更新批号主档"服务,该通用服务无法修改,只能二开保存插件写入数据
2、按照服务的执行顺序,保存操作先执行"保存并更新批号主档"服务,后执行保存插件中的逻辑,在插件中可以拿到保存的批号内码,以此作为更新的条件
三、【二开实现】:这里以"其他入库单"为例,说明具体的二开过程
1、扩展其他入库单表头,添加"批号备注"文本字段

2、扩展"批号主档"表头,添加"备注"文本字段

3、添加"保存"操作服务端插件,获取到单据的"批号备注信息"及单据体分录的批号,更新写入批号主档,代码逻辑参考附件

【实现效果】


4、将批号主档中的自定义字段携带到出库单上
import clr
clr.AddReference('Kingdee.BOS.ServiceHelper')
from Kingdee.BOS.ServiceHelper import *
from System import StringComparison
def DataChanged(e):
if e.Field.Key.Equals("FLot", StringComparison.OrdinalIgnoreCase):
orgId = 0
materialId = 0
lot = this.View.Model.GetValue("FLot", e.Row)
stockOrgObj = this.View.Model.GetValue("FStockOrgId")
if stockOrgObj is not None:
orgId = str(stockOrgObj["Id"])
matObj = this.View.Model.GetValue("FMaterialId", e.Row)
if matObj is not None:
materialId = str(matObj["msterId"])
sqlText = "SELECT FLOTNOTE FROM T_BD_LOTMASTER WHERE FBIZTYPE='1' AND FLOTSTATUS <> '2' AND FNUMBER = '" + str(lot) + "' AND FMATERIALID = " + str(materialId) + " AND FUSEORGID = " + str(orgId)
dyObjs = DB二开实现单据保存写入批号主档
一、【问题背景】:需要批号主档里面增加自定义字段,做单据的时候把自定义字段写进批号主档,出入库单选批号时将批号主档自定义字段带出来...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



