前言:
公司采购部领导提出要控制采购额,这需求乍一看有点奇怪,一般不都是控制客户的信贷额度么?而且控制的话,在前端需求就该进行控制吧,在系统下单时进行控制有些滞后了。但是奇怪归奇怪,实现起来还是有很多方式的,这篇文章用来探讨通过系统标准的合同来进行控制。抛砖引玉之作,欢迎各位进行指教。
实现控制的总体逻辑为:控制点1为用户必须参考合同才能创建采购订单,控制点2为合同的目标值如果被超过了需要报错,无法下达采购订单,下面是详细的说明。
1、通过配置用户参数,控制必须依照合同进行采购订单的创建。
配置路径为:Materials Management -> Purchasing -> Authorization Management -> Define Function Authorizations for Buyers
作者比较浅显地理解为,需要把EFB作为用户参数维护给相应的账号。
2、配置好了权限参数之后,将Z1分配给对应的用户--SU01
3、测试创建采购订单---ME21N
4、创建一个价值合同--ME31K
维护物料的价格及税率后进行保存
5、修改消息号06042的配置,将W改为E
配置路径为:
至此,所有的准备工作已经完成,下面将是验证效果的时刻!
-----------------------------------------------------分割线---------------------------------------------------------------------------------------------------------------------------------------------------------------------------分割线----------------------------------------------------------------------------------------------------------------------
验证:
基于合同创建采购订单,没有任何报错,结合前面第3步的内容,说明控制点1实现。
而当订单的净价大于合同目标金额时,弹出错误消息如下,说明控制点2实现。
后记:
至此,需求得到实现。可能有些同事会说,领导要求控制的肯定是含税金额,你这控制的不对。我的想法是,系统里面标准的合同价值写的是净价,那是不是可以在创建合同的时候,扣掉税的部分作为合同目标金额来处理。当前如果有别的更好的方式,欢迎大家评论区留言。