Dynamics AX 2012 – Eldeki Stoğu Cache Sınıflarını Kullanarak Alma

Bildiğiniz gibi ax da eldeki stoğu almak istediğimizde ya InventSum tablosuna select atarız yada InventOnHand sınıfını kullanırız. Çoğu zaman bu 2 yöntem işimizi görür. Fakat WMS modülünün kullanıldığı bazı durumlarda bizim koddan aldığımız değer ile ax’ın sorgulamalar > eldeki stok formu altında bize gösterdiği uyuşmayabilir.

Bu durumda doğru stoğu almak için ax’ın eldeki stok formunda kullandığı cache sınıfını direkt olarak kullanabiliriz. Bunun için aşağıdaki kod’u kullanabilirsiniz.

static void AvailPhysicalFromCache(Args _args)
{
    Qty                         ret;
    InventDim                   InventDim;
    InventAvailabilityFormCache InventAvailabilityFormCache;
    ;

    InventDim.clear();
    InventDim.inventSiteId       = "K001";
    InventDim.InventLocationId   = "KT01";
    InventDim.configId           = "B11";
    InventDim.InventColorId      = "01";


    InventAvailabilityFormCache = InventAvailabilityFormCache::construct();
    
    ret = InventAvailabilityFormCache.availabilityByItemId("ITEM-010", InventDim).availPhysical();
    
    info(strFmt("%1", ret));
}

Hoşçakalın.

Bir Cevap Yazın