zoukankan      html  css  js  c++  java
  • 库存维度检查

    AX采用库存维度检查,在库存的各个环节都会检查库存维度,我们知道check的任务大部分都交给了InventMovent系列的类去完成了。
    库存维度检查主要有两个层面的任务:
    1.用户指定的维度在相关主表中是否存在;
    比如InventSize,InventColor,InventBatch,WMSLocation中是否存在相应的记录。
    2.不允许为空的维度用户是否已经指定。
    比如如果库房维度处在激活状态,并且不允许空收获或者空发货,就必须指定相应的值。
    对于第一点,AX只在发货之前进行检查,也就是在库存交易记录变成Deducted(出库)和Received(入库)之前检查。具体的检查代码调用顺序如下:
    InventUpd_Estimated:
    updateNow->checkUpdateMovement->InventDim::checkUpdateEstimatedMovement
    InventUpd_Reservation:
    updateNow->checkUpdateMovement->InventMovement.checkDimFieldsValid->InventDim.checkDimFieldsValid
    InventUpd_Picked:
    updateNow->checkUpdateMovement->InventMovement.checkUpdatePicked->InventMovement.checkDimFieldsValid->InventDim.checkDimFieldsValid
    InventUpd_Registered:
    updateNow->checkUpdateMovement->InventMovement.checkUpdateRegistered->InventMovement.checkDimFieldsValid->InventDim.checkDimFieldsValid
    对于第二点,AX在Pick,Registe和PackingSlip,Invoice的时候都会调用InventMovent的checkDimPhysical方法去检查的。
    这样我们可以做一些适当的修改让其适应客户的需求,比如针对第一点,AX原有的逻辑是如果相应主表中不存在相应记录就报错,如果客户需要可以将其修改为如果不存在就在相应主表中插入相应记录。

  • 相关阅读:
    硬件的那些事
    seaJS学习资料参考
    nodejs前端自动化构建
    移动端开发的坑【持续更新...】
    【retina】手机上 1PX 边框
    【面试季之三】IE6兼容问题
    【面试季二】前端性能优化
    【面试季一】若干前端面试题
    【面试的坑】行内元素是否可以设置宽高
    Bootstrap和IE何时能相亲相爱啊~
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/1148247.html
Copyright © 2011-2022 走看看