在采购订单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

[AX]AX2012 R2 采购订单的“Request change”的更多相关文章

  1. [AX]AX2012 R2 HR Jobs, Positions, Department和Workers

    部门.作业(Job的官方翻译)和位置(Position的官方翻译)是AX人力资源管理的基本组织元素,Job和Position在AX有的地方又称作工作和职位,其实这个翻译更为恰当. Job定义的是一个工 ...

  2. [AX]AX2012 R2 EP员工自助服务中的产品不能显示图片的问题

    在员工自助服务EP站点中员工可以通过Order products自助提交采购申请,在正确设置员工采购目录后会罗列出允许员工购买的产品,每个产品都可带有图片,我们可以通过Product image来为产 ...

  3. [AX]AX2012 R2 出差申请和支出报告

    AX2012中有个模块叫做出差和支出,用于管理出差以及相关的费用,用户只能在员工自助服务EP站点上提交出差申请.费用报销报告,在Client程序中做审核以及后续的支付动作等,最后形成相关的财务分录. ...

  4. Dynamics AX 2012 R2 业务系列-采购业务流程

    在博文Dynamics AX R2 业务系列中,Reinhard对这个系列做了一个规划,下面我们就按照规划开始说业务吧. 国际惯例,从采购开始. 1.采购的主要职责 简单点说,采购的主要职责,是从供应 ...

  5. SAP MM 按采购订单查询付款信息的报表?

    SAP MM 按采购订单查询付款信息的报表? 上午给P3项目采购部门用户做了一个采购相关的报表的培训.培训过程中,客户的采购部门经理提出了一个问题:有没有报表能查询到各个采购订单的付款情况,显示采购订 ...

  6. [AX]AX2012 Interaction class

    Ax2012 Client的form如果属性FormTemplate设置为DetailsPage或者ListPage,则必须同时设置属性InteractionClass为相应的Interaction类 ...

  7. U8采购订单联查采购入库单

    1.表头rdrecord01,字段ipurorderid(采购订单ID), cOrderCode(采购订单号)要与采购订单表头主键和单号对应 表体rdrecords01,字段cPOID(采购订单号), ...

  8. Dynamics AX 2012 R2 安装Reporting Services 扩展

    今天Reinhard在VS中部署SSRS报表时,接到以下错误: 部署因错误而被取消.在报表服务器上,验证:-SQL Server Reporting Services 服务是否正在运行. 接着,Rei ...

  9. Dynamics AX 2012 R2 如何处理运行时间较长的报表

    当处理的数据量较多,逻辑比较复杂时,报表可能会超时.为了解决这个问题,Reinhard一直使用SrsReportDataProviderPreProcess来做预处理报表.它会在调用SSRS前,在AX ...

随机推荐

  1. Spring Cloud Config 配置刷新

    客户端进行刷新操作. 1.添加 actuator包,这样 /refresh url才处于可用状态. <dependency> <groupId>org.springframew ...

  2. 连接两个点云中的字段或数据形成新点云以及Opennni Grabber初识

    (1)学习如何连接两个不同点云为一个点云,进行操作前要确保两个数据集中字段的类型相同和维度相等,同时了解如何连接两个不同点云的字段(例如颜色 法线)这种操作的强制约束条件是两个数据集中点的数目必须一样 ...

  3. CentOS 7系统LAMP配置PHP-FPM的示例

    CentOS 7 系统出来有一段时间了,今天我们来看在vps中的 CentOS 7 中给lamp环境配置php-fpm的过程,希望文章可以帮助到各位. CentOS 7 已经发布,并且采用 Apach ...

  4. 14款优秀的JavaScript调试工具大盘点

    JavaScript是一种非常简单的语言,一般说来任何人都可以在几小时内掌握它的基本知识. 然而就像其他任何语言一样,JavaScript存在着一些可以轻易避免的常见错误和不好的做法.开发人员喜欢使用 ...

  5. git使用情景2:commit之后,想撤销commit

    ================实际操作============================== 提交到git上撤回 git reset head^1 提交到本地 撤回 git reset --s ...

  6. 嵌入式开发之zynq驱动—— zynq ps pl ddr 内存地址空间映射

    http://www.wiki.xilinx.com/Zynq-7000+AP+SoC+-+32+Bit+DDR+Access+with+ECC+Tech+Tip http://patchwork.o ...

  7. 基于SOA的组件化业务基础平台[转]

    转自https://www.ibm.com/developerworks/cn/webservices/1111_xiaojg_soa/index.html 业务基础平台是业务逻辑和基础架构平台之间的 ...

  8. 使用ConcurrentLinkedQueue惨痛的教训【转】

    转自:http://blog.csdn.net/jackpk/article/details/49634577 服务端原本有个定时任务对一个集合ArrayList 中的消息做处理. 因为考虑到处理消息 ...

  9. pyhont备份php代码脚本

    #!/usr/bin/env python # encoding: utf-8 import time import os import sys import logging #create logg ...

  10. linq where in 排序

    List<INGREDIENT> selectedIngredients = db.INGREDIENT .Where(i => model.SelectedIngredients. ...