直接调拨单调入批号不更新保质期信息原创
金蝶云社区-陈元喜
陈元喜
2人赞赏了该文章 379次浏览 未经作者许可,禁止转载编辑于2022年10月24日 14:56:06

直接调拨单调入批号不更新保质期信息解决方案


背景:

  1. 标准系统直接调拨单调入批号隐藏,且和调出批号保持一致,无法修改调入批号内容。

  2. 客户因为自身业务需要,放开调入批号可见性,但是在 物料启用批号、启用保质期、启用批号附属信息 时,直接调拨单调入批号和调出批号不一致时,会出现调入批号保质期不更新现象。


现象:

(物料启用批号、启用保质期、启用批号附属信息时,直接调拨单放开调入批号可编辑)

直接调拨单调出调入批号不一致时.png

(调入批号保质期不更新

导致问题.png


解决方案

说明:

    标准系统直接调拨单 调出批号、调入批号,对应更新主档服务分为两个独立服务,由于默认调入批号和调出批号一致,则对应批号主档不能更新两次追踪记录,故标准系统调入批号追踪记录更新逻辑存在判断,组织调拨默认调入批号主档不更新,现客户放开调入批号可编辑,则导致调入批号不更新追踪记录后,又触发了通用的批号断号补号逻辑,而断号批号相关业务属性会被清空。故当前问题这里则需要在保存前判断调出调入是否一致、调入批号是否需要更新主档追踪记录 ,才可以解决当前问题。

步骤:

    1.BOS设计器-直接调拨单-扩展:表体增加复选框字段:FCheckBox  批号不一致标识  ,可见性设置不可见

1新增字段.png

    2.表体增加实体服务规则:

【规则条件】
描述:调出调入批号不一致时
公式:FLot  <> null  AND FDestLot  <> null AND FLot <> FDestLot

【成立时执行服务】
描述:批号不一致标识为"是"
公式: FCheckBox  = True

【不成立时执行服务】
描述:批号不一致标识为"是"
公式: FCheckBox  = False

批号标识规则.png

    3.保存操作-服务端服务-保存并更新批号主档_调入批号-单据跟踪执行条件-调整逻辑:

原公式: FTransferBizType  = 'OverOrgTransfer'   AND  FStockOrgId  <>  FStockOutOrgId 
调整为:( FTransferBizType  = 'OverOrgTransfer'   AND  FStockOrgId  <>  FStockOutOrgId )   OR  FCheckBox  = True

3调整原执行条件.png

    4.系统-缓存管理-清除缓存,验证效果。


赞 2