Saturday, September 28, 2019

Available Physical Qty

public display SalesOrderedQty God_AvailablePhysical()
{
    InventSum       invSum;
    InventDim       invDim, salesDim;
    SalesOrderedQty            FactorConv,_qty;
    ;

    salesDim = InventDim::find(this.InventDimId);

    select  sum(postedQty), sum(Received), sum(deducted), sum(registered), sum(Picked), sum(ReservPhysical),
            sum(Ordered), sum(Arrived), sum(ReservOrdered),sum(OnOrder)
    from invSum group by ItemId
    where invSum.ItemId     ==  this.ItemId
    exists join invDim
    where invDim.inventDimId    ==  invSum.InventDimId
    &&  invDim.InventLocationId ==  salesDim.InventLocationId
    &&  invDim.InventSiteId     ==  salesDim.InventSiteId;

    _qty = invSum.PostedQty + invSum.Received - invSum.Deducted + invSum.Registered - invSum.Picked - invSum.ReservPhysical;

    FactorConv =      UnitOfMeasureConverter::convert(_Qty,
                                        UnitOfMeasure::unitOfMeasureIdBySymbol(InventTableModule::find(this.ItemId,ModuleInventPurchSales::Invent).UnitId),
                                        UnitOfMeasure::unitOfMeasureIdBySymbol(this.SalesUnit),  NoYes::Yes,
                                         InventTable::itemProduct(this.ItemId));

    return FactorConv;
}

No comments:

Post a Comment