销售领料登记单与装箱单之间接关系

Posted sunny-technology

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了销售领料登记单与装箱单之间接关系相关的知识,希望对你有一定的参考价值。

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

如下:

[
    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会产生新的。

以上是关于销售领料登记单与装箱单之间接关系的主要内容,如果未能解决你的问题,请参考以下文章

未装箱类型和严格性之间有啥关系?

两个表之间的许多关系 - 代码优先

Hibernate一对多,多对多操作

想在ERP软件中添加一个触发器,触发在填写领料单时,领料用途和备注为必填项,领料用途的代码是kcckd1_yt

实验9-SPSS相关分析-超市销售数据

使用 ActionBar 旋转 Android 的双片段