BOS:关于金蝶云星空单据体的字段赋值顺序问题的总结原创
金蝶云社区-imY身份
imY
15人赞赏了该文章 3,075次浏览 未经作者许可,禁止转载编辑于2021年09月03日 10:26:21
summary-icon摘要由AI智能服务提供

在处理生产退料单时,发现复制物料后“生产任务单号”为空。经分析,问题源于BOS明细实体的字段顺序排列。调整顺序后问题解决。总结指出BOS字段顺序影响系统赋值,且BOS中与用户前端看到的顺序可不同,用户可自定义前端顺序。

一、遇到的问题

        如下图,操作生产退料单的时候,先是从生产用料清单下推了两条物料到生产退料单中,然后复制了第一行的物料出来想改一下退料类型为不良退料,结果发现“生产任务单号”为空(这个生产任务单号就是系统预置的生产订单号,我们内部沿用WISE的叫法改成了任务单号)。

    然后经过后台查看,发现这个退料单的生产订单内码和行ID都是有存储了的,结果却没有带出任务单号,这个是什么问题呢?

image.png

二、分析问题

        经过一段分析之后,对比了同一个账套的生产料单是正常的,然后发现了演示账套的生产退料单也是正常的,后面有个同事发现这个有问题的账套的生产订单编号是排在BOS里面的表体第一位的,所以他推测是和这个字段的排列顺序有关系,如下图

image.png


三、验证思路

        在测试账套把这个生产任务单编号挪到物料编码后面,重新回到生产退料单中复制分录行,就可以正常带出任务单号了(如下图)。至此,问题已得到解决,原因就是BOS-明细实体的字段顺序排列导致的。

image.png

四、总结

        1、BOS中-明细实体的字段顺序排列,会影响系统对单据明细表体的赋值,所以大家在BOS中移动实体的字段顺序的时候需要注意这个问题。

        2、BOS中-明细实体的字段排列顺序,和用户在前端看到的字段顺序是不一样的。也就是说,我BOS里面可以把生产订单号排在物料编码后面,但是前台依然是可以由用户自己拖动任务单号放到第一位(这个是根据单据选项参数中的用户参数来决定的,可以根据用户的需求自己定义排列的顺序,如下图)。

image.png


至此,全文终!

赞 15