领料单自动预留

static void  Purch_SL_ReservedPhysical(Args _args)
{	
   salesTable           =  SalesTable::find('CNMF-000305');
    InventTrans              inventTrans;
    InventTransOrigin        inventTransOrigin;

    while select forupdate * from salesLine
        where salesLine.SalesId == salesTable.SalesId
    {
        select inventTrans
             where   inventTrans.ItemId                  == SalesLine.ItemId
             &&      inventTrans.StatusReceipt           == StatusReceipt::None
             &&      inventTrans.StatusIssue             == StatusIssue::OnOrder
             exists join inventTransOrigin
             where   inventTransOrigin.RecId             == inventTrans.InventTransOrigin;

       	if(inventTrans.RecId)
        {
             InventUpd_Reservation reservation;
                    
             reservation = InventUpd_Reservation::newInventDim(
             inventTrans.inventmovement(true),
             SalesLine.inventDim(),
             -salesLine.SalesQty,
             false);

             reservation.updateNow();
       	}

        info(strFmt("%1",salesLine.reservedPhysicalInSalesUnit()));
    }
}

  

原文地址:https://www.cnblogs.com/sunny-technology/p/11764008.html