销售订单成对销售校验试例

在某些实际业务场景下,可能需要将某两种物料成批销售给客户,即不允许单独将某一物料销售给客户,这种需求除了写二开插件代码外,还可以通过在销售订单保存操作上添加'单据合法性校验'来实现的,本文将演示相关步骤。
首先打开BOSIDE,扩展销售订单,在销售订单的保存操作的校验规则中添加相关配置,如下图1-1所示:

图1-1
上图1-1中利用了python表达式:(len(filter(lambda x: x.FMaterialId.FNumber = '1.0.0.6', FSaleOrderEntry)) > 0 AND len(filter(lambda x: x.FMaterialId.FNumber = '1.0.0.5', FSaleOrderEntry)) <= 0 ) OR ( len(filter(lambda x: x.FMaterialId.FNumber = '1.0.0.5', FSaleOrderEntry)) > 0 AND len(filter(lambda x: x.FMaterialId.FNumber = '1.0.0.6', FSaleOrderEntry)) <= 0 )
其中的1.0.0.5和1.0.0.6分别代表两种要成对销售的物料编码(客户可按需要替换成对应的物料编码),filter函数利用lambda表达式过滤销售订单单据体中的某种物料后再调用len函数计算过滤后的条目数,当有销售订单单据体中有1.0.0.5物料但没有1.0.0.6物料,或者有1.0.0.6物料但没有1.0.0.5物料时,校验不通过。如果是成对销售的物料的数量必
销售订单成对销售校验试例
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



