云星空销售退货单,如果按源单退货,可以获取源单的成本价,
一般分为三种:
第一种:加权或者移动下,直接新增销售退货单(无源单)
这种情况下,销售退货单会作为出库序列单据通过出库核算来算出成本。
特殊场景:如果该物料本期无期初和当期入库序列,则无法通过出库核算计算出销售退货单的成本,此时销售退货单成本算出来仍然为0。针对这种场景,可以在出库核算进程中勾选参数【零成本自动取价】并设置零成本取价来源。若零成本取价依旧无法获取到,可以通过【核算单据查询】手工维护单据成本。
第二种:根据销售出库单下推销售退货单,那么销售退货单的成本就取源单(销售出库单)的。
第三种:如果销售出库单下推退货通知单,然后退货通知单再下推销售退货单。这种场景下,以前我们系统判断为无源单,其取值逻辑跟方式1一样。
现在系统增加了参数“销售退货单通过退货通知单获取销售出库单成本”,用户可以根据需要选择是否勾选。
那如何控制操作人员只能由销售出库单下推销售退货单呢?或者由退货通知单下推销售退货单,而这张通货通知单又是由销售出库单下推得到的。
可以将控制逻辑做在销售退货单的保存操作的单据合法性检验上。
以销售退货单为例
进入BOS——批量编辑字段属性——表单属性——操作列表——保存操作——其它控制(单据合法性校验),条件是
ISDRAW() = 1 and FSrcBillTypeID in (‘SAL_OUTSTOCK’,’SAL_RETURNNOTICE’)
说明 ISDRAW()=1表示由关联生成,而FSrcBillTypeID是源单类型字段,但要注意取值不是单据类型表中的单据ID,而是名称
整个表达式表示:由关联生成,并且源单是销售出库单或者退货通知单。
同理,再在退货通知单上做类似配置
只是源单类型为销售出库单。
这样在保存销售退货单时,不符合条件的保存不了。
特别说明:如果是多组织,此方案要测试调整,否则生成内部销售出库单和采购入库单时可能会报错。