Saturday, September 28, 2019

Customized Logic in Sale line table

//GITL::366842 added for BPC to display BarCode
public display str GOD_BarCodeBCP()
{
    RetailInventTable       _RetailInventTable;
    InventDim       invDim, salesDim;
    ;

    _RetailInventTable = RetailInventTable::find(this.ItemId);

    return _RetailInventTable.getDefaultBarcode();
}
-------------------------------------------------------------------------------
customer reserved qty 

public display SalesOrderedQty God_CustReser()
{
    InventBlocking              _inventBlocking;
    SalesOrderedQty                        FactorConv;

    Select sum(Qty) from _inventBlocking where _InventBlocking.ItemId == this.ItemId &&
                                               _inventBlocking.God_HoldCode == SalesTable::find(this.SalesId).God_HoldCode;
                                               //_inventBlocking.GOD_ParentCustomer == CustTable::find(SalesTable::find(this.SalesId).CustAccount).GOD_ParentCustomer;



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


    return FactorConv;
}


------------------------------------------------------------


//GITL::366842 added for BPC to display ItemPackingType
public display str GOD_ItemPackingType()
{

    return InventTable::find(this.ItemId).GOD_ItemPackingType;
}

----------------------------------------------------------

//GITL::366842 added for BPC to display last Invoiced Date
public display date GOD_LastInvoiceDate()
{
    SalesTable        _SalesTable;
    CustInvoiceJour   _CustInvoiceJour;
    CustInvoiceTrans  _CustInvoiceTrans;
    ;

     _SalesTable     = SalesTable::find(this.SalesId);
     select firstonly _CustInvoiceJour
        index InvoiceNumIdx
        order by InvoiceId desc
        join _CustInvoiceTrans
        where _CustInvoiceJour.InvoiceAccount == _SalesTable.InvoiceAccount
        &&    _CustInvoiceTrans.InvoiceId     == _CustInvoiceJour.InvoiceId
        &&    _CustInvoiceTrans.ItemId        == this.ItemId;


    return _CustInvoiceJour.InvoiceDate;
}

----------------------------------------------

//GITL::366842 added for BPC to display last Invoiced Id
public display str GOD_LastInvoiceId()
{
    SalesTable       _SalesTable;
    CustInvoiceJour  _CustInvoiceJour;
    CustInvoiceTrans _CustInvoiceTrans;
    ;

     _SalesTable     = SalesTable::find(this.SalesId);
    select firstonly _CustInvoiceJour
    index InvoiceNumIdx
    order by InvoiceId desc
    join _CustInvoiceTrans
    where _CustInvoiceJour.InvoiceAccount == _SalesTable.InvoiceAccount
    &&    _CustInvoiceTrans.InvoiceId     == _CustInvoiceJour.InvoiceId
    &&    _CustInvoiceTrans.ItemId        == this.ItemId;



    return _CustInvoiceJour.InvoiceId;
}

---------------------------------------

//GITL::366842 added for BPC to display last Invoiced Price
public display Amount GOD_LastInvoicePrice()
{
    SalesTable       _SalesTable;
    CustInvoiceTrans _CustInvoiceTrans;
    CustInvoiceJour  _CustInvoiceJour;
    ;

     _SalesTable     = SalesTable::find(this.SalesId);
     select firstonly _CustInvoiceJour
     index InvoiceNumIdx
     order by InvoiceId desc
     join _CustInvoiceTrans
     where _CustInvoiceJour.InvoiceAccount == _SalesTable.InvoiceAccount
     &&    _CustInvoiceTrans.InvoiceId     == _CustInvoiceJour.InvoiceId
     &&    _CustInvoiceTrans.ItemId        == this.ItemId;


    return _CustInvoiceTrans.SalesPrice;
}


--------------------------------------------------------------

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

    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;



    FactorConv =      UnitOfMeasureConverter::convert(invSum.OnOrder,
                                        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