zoukankan      html  css  js  c++  java
  • 销售领料登记单与装箱单之间接关系

    领料单与装箱单之间没有关联关系,领料单登记时选择的的库存维度信息,在登记后并没有更新导销售订单行上的库存维度,后面装箱单操作也是获取不到登记时的库存维度(但最新的库存维度会在交易记录中更新)。而实际业务场景中,可能在装箱单过账时对于登记的库存维度进行一些处理等,可以通过找交易记录中对应的领料登记单,从而找到维度值。

    如下:

    [
        ExtensionOf(classStr(SalesPackingSlipJournalPost))
    ]
    final public class SalesPackingSlipJournalPost_Extension
    {
        protected void updateInventory(InventMovement _inventMovement)
        {
            InventSerial        inventSerial;
            InventDim           inventDim;
            InventTransOrigin   inventTransOrign;
            InventTrans         inventTrans;
            
            next updateInventory(_inventMovement);
    
            if(this.custPackingSlipTrans)
            {
                
                while select  inventTrans
                    where inventtrans.PackingSlipId     == this.custPackingSlipTrans.PackingSlipId
                    join inventTransOrign
                    where inventTrans.InventTransOrigin == inventTransOrign.RecId
                     &&   inventTransOrign.InventTransId == this.custPackingSlipTrans.InventTransId
                {
                    inventDim   = inventTrans.inventDim();
    
                    inventSerial = InventSerial::find(inventDim.inventSerialId, this.custPackingSlipTrans.ItemId, true);
    
                    if(inventSerial)
                    {
                        inventSerial.DeliveryDate       = this.custPackingSlipTrans.DeliveryDate;
                        inventSerial.WarrantyDate       = this.custPackingSlipTrans.salesLine().Warranty;
                        inventSerial.WarrantyExpireDate = inventSerial.DeliveryDate + inventSerial.WarrantyDate * 365;
                        inventSerial.update();
                    }
                }           
            }
        }
    
    }

    补充:

    领料登记时,拆分行会查分交易记录,即会拆分成多条Inventtrans记录,但InventTransOrin中的inventTransId不会拆分,销售订单行上的每行记录会对应一个inventTransId,同一行的数据不论是分批领料还是拆分登记,其对应的同一个inventTransId不会变。同一行记录拆分交易记录后,分开登记,装箱,则对应的inventTransid不变,PckingSlip会产生新的。

  • 相关阅读:
    Ubuntu18.04下使用pip3.8报错subprocess.CalledProcessError: Command ‘(‘lsb_release‘, ‘-a‘)‘ returned non-ze
    解决报错:ModuleNotFoundError: No module named ‘_sqlite3‘
    shell命令中find的用法
    Ubuntu 中卸载软件
    git使用
    django celery 使用
    Django 学习中遇到的问题
    1
    Mac 下安装brew(文末方法亲测有效)
    经典类与新式类的继承顺序
  • 原文地址:https://www.cnblogs.com/sunny-technology/p/9440421.html
Copyright © 2011-2022 走看看