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原有的逻辑是如果相应主表中不存在相应记录就报错,如果客户需要可以将其修改为如果不存在就在相应主表中插入相应记录。

  • 相关阅读:
    Unity3D-集成Sqlite
    unity3d 规范默认 目录结构
    隐私政策(玩儿英语)
    看漫画学知识:详解获得苹果推荐的4大要素
    加密你的SQLite
    解决JME SDK中文乱码(显示方框)
    Unity安卓共享纹理
    Android/iOS内嵌Unity开发示例
    Unity音量可视化——粒子随声浪跳动
    Windows环境下为Android编译OpenCV4.3
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/1148247.html
Copyright © 2011-2022 走看看