在采购订单List或者Detail窗口的操作面板上有一个叫做“Request change”的按钮,如果这个按钮是激活的,采购订单不能直接编辑,而必须先使用这个按钮请求修改后,采购订单才能进入编辑状态,如果有配置工作流,更改后的采购订单需要重新提交到工作流等待批准。“Request change”按钮的激活状态是Interaction class控制的,它调用VersioningPurchaseOrder.checkCanChangeBeRequested()方法来判断是否需要激活,激活的条件有两个:

  • 采购订单的ChangeRequestRequired字段为真
  • 采购订单DocumentState字段为Approved或者Confirmed。

ChangeRequestRequired字段的设置在采购订单详细信息的Header view>Setup>Administration>Active change management,但是这个设置是灰化不能手工修改的,它是在初始化采购订单时在PurchTable.initFromVendTableIL()方法中被初始化的,不论采购订单是手工创建还是从采购申请创建都会调用到这个方法,重要的一行是:

purchTable.ChangeRequestRequired      = (PurchParameters::find().ChangeRequestAllowOverride && vendTable.ChangeRequestOverride) ? vendTable.ChangeRequestEnabled : PurchParameters::find().ChangeRequestEnabled;

在Procurement and sourcing parameters参数设置中能找到“Activate change management”和“Allow override of settings per vendor”两个checbox,而在Vendor详细信息的Purchase order defaults>Change management for purchase orders下也能找到“Override settings”和“Activate change management”两个Checkbox,所以上面的代码翻译过来就是:如果采购参数中允许按供应商覆盖设置并且供应商信息中也允许覆盖设置,那么“启用更改管理”会取用供应商信息中的设定,反之则使用采购参数中的设定。通过这样的设置,我们可以全局激活订单更改需要审核,而某些信任的供应商的订单更改则不必审核。

在Vendor详细信息Purchase order defaults>Change management for purchase orders下还有一个叫做“Allow override of settings per purchase order”的Checkbox,只有在允许供应商“Override settings”它才能修改,选中这个设置时,在我们创建采购订单时允许修改单个订单的“Activate change management”,但是一旦订单创建,就不能再修改这个选项了。

相关采购流程的设置可以参考http://technet.microsoft.com/en-us/library/hh802989.aspx

最新文章

  1. 用Xcode 安装ipa,查看程序资源文件夹
  2. 使用dom4j读取xml连接数据库与之单例模式
  3. iOS开发之WebView
  4. HTML5新增的属性
  5. 【python】类中__slots__使用
  6. C#四舍五入保留两位小数
  7. jdk 多版本安装 for mac
  8. 如何利用git shell提交代码到github
  9. MySQL 多版本并发控制(MVCC)
  10. nginx配置中root与alias的区别
  11. word中编辑论文公式对齐问题
  12. 20175236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
  13. Splay-Tree总结一:模拟队列
  14. django admim后台不转义提交的html
  15. tchart2
  16. UnicodeString基本操作(Ring0)
  17. Eclipse创建一个Maven Web项目
  18. assert_param
  19. bootstrap框架中data-toggle="tab"属性会取消a标签默认行为
  20. 不用软件快速拥有几百个QQ群并都是管理员

热门文章

  1. Java以UTF-8编码读写文件
  2. Spring Cloud 获取注册中心所有服务以及服务下的所有实例
  3. 《jdk10》删除javah.exe文件,在Android studio编译jni,使用jdk10生成头文件
  4. SparkR(R on Spark)编程指南 含 dataframe操作 2.0
  5. sparkR的一个运行的例子
  6. 安卓程序代写 网上程序代写[原]自定义View
  7. qt configure参数配置介绍
  8. SSD 固态硬盘,Trim指令 ,查看状态、开启、关闭
  9. List<Map<String, Object>>是什么意思
  10. mac下配置android环境变量