stok etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
stok etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

8 Ağustos 2017 Salı

AX 2012 - Dönem kapanış kontrolü

Muhasebe için:

FiscalCalendars::checkModuleIsOpen(SysModule::Ledger, myTable.TransDate,FiscalCalendars::findPeriodByPeriodCodeDate(Ledger::fiscalCalendar(CompanyInfo::find().RecId),myTable.ETGTransDate),false)

veya

select firstOnly period
        where transDate >= period.StartDate  && transDate <= period.EndDate
            exists join ledgerPeriod
                where ledgerPeriod.FiscalCalendarPeriod == period.RecId &&
                      ledgerPeriod.Status != FiscalPeriodStatus::Open;
    if (period.RecId != 0)
        throw error("Yeni tarih için ilgili mali dönem kapalı!..");

Satış için:

FiscalCalendars::checkModuleIsOpen(SysModule::Sales, CustInvoiceJour.InvoiceDate,FiscalCalendars::findPeriodByPeriodCodeDate(Ledger::fiscalCalendar(CompanyInfo::find().RecId),CustInvoiceJour.InvoiceDate),false)

Stok kapanışı için:

InventClosing::findClosingDate(endmth(InventJournalTrans.TransDate))

9 Ağustos 2016 Salı

AXAPTA - Eldeki miktar (invent on hand)

//source: http://microsoft-dynamics-ax-erp.blogspot.com.tr/2012/07/find-inventonhand-in-axapta-x.html
static InventOnHand findOnHandByLocationId(ItemId _itemId, InventLocationId _inventLocationId = "")
{
    InventDim           inventDim;
    InventDimParm       inventDimParm;
    InventOnHand        inventOnHand = new InventOnHand();
    ;

    if (_inventLocationId == "")

         return InventOnhand::newItemId(_itemId);
    //Take a combination of dimension , against which you want to find the stock
    inventDim.InventLocationId  = _inventLocationId;

    //Set the flag for the selected dimensions as active
    inventDimParm.initFromInventDim(inventDim);

    //Initialize the inventSumDateDim with Date,item,dimension and dim parameter
    inventOnHand = InventOnHand::newParameters(_itemid,
                                               inventDim,
                                               inventDimParm);

    return inventOnHand;
}



veya:

//http://daxtechies.blogspot.com/2013/03/to-find-stock-on-hand-in-ax-through-x.html
InventSum           inventsum;
    Qty                 availableQty = 0;
    ;

    select sum(PostedQty),
        sum(Received),
        sum(Deducted),
        sum(Registered),
        sum(Picked),
        sum(ReservPhysical),
        sum(Ordered),
        sum(Arrived),
        sum(ReservOrdered),
        sum(OnOrder) from inventsum
        where inventsum.ItemId      == "KCYIWU001";
    if (inventsum)
    {
        availableQty = inventsum.PostedQty
            + inventsum.Received
            - inventsum.Deducted
            + inventsum.Registered
            - inventSum.Picked
            - inventSum.ReservPhysical
            + inventsum.Ordered
            + inventsum.Arrived
            - inventsum.ReservOrdered
            - inventsum.OnOrder;

    }

20 Temmuz 2015 Pazartesi

AXAPTA - Stok rezervasyonu kaldırma ve ekleme

Volkan Şişman'dan öğrendiğim bu kodla stok rezervasyonu kaldırabilir ve ekleyebilirsiniz:



InventUpd_Reservation       invUpdReservation;
...
//rezervasyon kaldır
invUpdReservation = InventUpd_Reservation::newInventDim(InventMovement::construct(invTrans,InventMovSubType::None),myInventDim,200,false);
            invUpdReservation.updateNow();

...
//rezervasyon ekle
          invUpdReservation = InventUpd_Reservation::newInventDim(InventMovement::construct(invTrans,InventMovSubType::None),myInventDim,400,false);
            invUpdReservation.updateNow();


Ya da:

//rezervasyon ekle
     InventUpd_Reservation::updateReserveBuffer(journalTrans, journalTrans.Qty);

//rezervasyon kaldır
     InventUpd_Reservation::updateReserveBuffer(journalTrans, abs(journalTrans.Qty));

Ya da:

//rezervasyon kaldır
InventUpd_Reservation::newInventDim(InventTrans.inventMovement(true),InventTrans.inventDim(),-InventTrans.qty,true).updateNow();