如下图:
从图中,我可以看到,在选单生成单据时,物料代码和物料名称均显示的是"物料名称"信息,保存之后再次打开,就正常了。
经后台跟踪,查询到BOS流转定义设置,老单对老单的流转,其物料的新增脚本如下:
INSERT INTO ICSelBills ( FID, FFieldName, FDstCtlField, FSelType, FDK, FColName, FName, FTableName, FTableAlias, FAction )Values('A05','71','FItemID',0,2,'FItemID','FItemID','POOrderEntry','U1','')
INSERT INTO ICSelBills ( FID, FFieldName, FDstCtlField, FSelType, FDK, FColName, FName, FTableName, FTableAlias, FAction )Values ( 'A05','71','FItemID',0,1,'FItemIDName','FName','t_ICItem','t_4','')
INSERT INTO ICSelBills ( FID, FFieldName, FDstCtlField, FSelType, FDK, FColName, FName, FTableName, FTableAlias, FAction )Values ( 'A05','71','FItemID',0,2,'FItemIDNumber','FNumber','t_ICItem','t_4','')
参照原工业老单的数据库设置,能正常显示物料代码的脚本应当是:
INSERT INTO ICSelBills ( FID, FFieldName, FDstCtlField, FSelType, FDK, FColName, FName, FTableName, FTableAlias, FAction )Values('A05','71','',-1,-1,'FItemID','FItemID','POOrderEntry','U1','')
INSERT INTO ICSelBills ( FID, FFieldName, FDstCtlField, FSelType, FDK, FColName, FName, FTableName, FTableAlias, FAction )Values('A05','71','FItemID',0,0,'FNumber','FNumber','ICItem','t_4','')
可以在删除 BOS 定义的脚本之后再新增上述脚本,或者直接新增上述脚本,选单生成时,物料代码就能正常显示了。
确认这应当时BOS系统的一个小问题。
工业老单对BOS新单没有这个问题,新单对新单没有测试。