发货通知单下推分布试调出单报错问题排查

问题总结:
问题1、报错“表达式计算出错:FDestMaterialID = FMaterialID(请先录入调入库存组织内容(调入物料))”
配置步骤:在单据转换做的到分步式调出单的单据映射是发货通知单的对应组织映射到分步式掉出单的调入组织。并且做了表单服务策略是调入物料=物料编码。但是清除缓存后就可以下推了,不定时清楚缓存

解决方案:偶发性问题,每次清除缓存可正常使用,暂未定位出原因。该服务策略的配置是为了解决调入物料的赋值,实际根据系统标准插件的逻辑会做相应赋值处理,不需要特殊配置 未避免出现此类错误,可将该表单服务策略取消,至于调入物料未赋值参考下面问题的解决方案。
问题2、不做表单服务策略"调入物料=物料编码", 下推调入物料编码为空,没有进行赋值
问题3、下推组织内调拨,调入物料赋值为空,跨组织调拨,调入物料正常赋值

分析:从系统的处理逻辑看,在单据转换插件中OnCreateLink方法中会取调入组织及物料编码,取对应调入物料的内码,进行赋值,OnCreateLink方法执行时字段映射关系方法已经执行完,之所以出现"下推组织内调拨,调入物料赋值为空,跨组织调拨,调入物料正常赋值",是因为:
跨组织调拨:上游单据对应组织不为空,映射到分步式调出单调入组织,在取调入物料数据时,正常获取到调入组织,赋值成功
组织内调拨:上游单据对应组织不为空,映射到分步式调出单调入组织,在取调入物料数据时,获取调入组织为空,进而导致获取调入物料为空,赋值失败
解决方案:配置Python脚本,判断是组织内调拨,强制进行调入物料的赋值
import clr
clr.AddReference("System")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS.App")
clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference('Kingdee.BOS.DataEntity')
clr.AddReference("Kingdee.BOS.App.Core")
clr.AddReference('Kingdee.BOS.ServiceHelper')
clr.AddReference("Kingdee.BOS.Contracts")
from System import *
from System import StringComparison
from Kingdee.BOS.Core.Metadata.ConvertElement.PlugIn.Args import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import *
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Core.Metadata import SelectorItemInfo
from Kingdee.BOS.Core.SqlBuilder import QueryBuilderParemeter
from Kingdee.BOS.Orm.DataEntity import *
from Kingdee.BOS.Contracts import *
from Kingdee.BOS.App.Core import *
def AfterConvert(e):
dataObjs = e.Result.FindByEntityKey("FBillHead");
viewService = ViewService()
for dataObj in dataObjs:
transferBizType = dataObj.DataEntity["FTransferBizType"]
if transferBizType == "InnerOrgTransfer":
stockInOrgId = Convert.ToInt64(dataObj.DataEntity["StockOrgID_Id"])
entrys = dataObj.DataEntity["STK_STKTRANSFEROUTENTRY"]
for entry in entrys:
发货通知单下推分布试调出单报错问题排查
问题总结:问题1、报错“表达式计算出错:FDestMaterialID = FMaterialID(请先录入调入库存组织内容(调入物料))”配置步骤:在单据转换...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



