Dynamics Ax 2012 DimensionStorage sınıfı
Merhaba
Ax 2012 muhasebe yapısında işimizi kolaylaştıracak bir sınıftan bahsetmek istiyorum. DimensionStorage sınıfı. Bu sınıf bir çok işlemi bizim için yapacak statik metotlara sahip. Özellikle genel muhasebe hesabı ve boyutların birbirleriyle olan ilişkilerinde çok işe yarıyor. Bir job ile bazı statik metotlarını anlatmaya çalışacağım.
static void FD_DimensionStorage(Args _args) { DimensionAttributeValueCombination dimAttrValueCombDefaultAccount; DimensionAttributeValueCombination dimAttrValueComb; DimensionAttributeValueCombination dimAttrValueCombCompare; DimensionAttributeValueCombination dimAttrValueCombCust; DimensionAttributeValueSet dimAttrValueSet; MainAccount mainAccount; CustTable custTable; LedgerJournalACType ledgerJournalACType; DimensionHierarchy dimHierarchy; ; // Örneklerde kullanmak için bazı kayıtları buluyorum dimAttrValueCombDefaultAccount = DimensionAttributeValueCombination::find(5637159810); dimAttrValueComb = DimensionAttributeValueCombination::find(5747268059); dimAttrValueCombCompare = DimensionAttributeValueCombination::find(5747267556); mainAccount = MainAccount::find(5637146572); dimAttrValueSet = DimensionAttributeValueSet::find(5747251227); custTable = CustTable::find("1101"); // Bir hesap ve tip alarak size LedgerDimension'da kayıt varsa getirir yoksa oluşturur. dimAttrValueCombCust = DimensionAttributeValueCombination::find( DimensionStorage::accountNum2LedgerDimension(custTable.AccountNum , LedgerJournalACType::Cust)); info(strfmt("LedgerDimension RecId = %1" , dimAttrValueCombCust.RecId)); // İki LedgerDimension'nın MainAccount'larının eşit olup olmadığını kontrol eder. info(strfmt("MainAccount'lar aynı mı? %1" , DimensionStorage::compareMainAccounts(dimAttrValueComb.RecId , dimAttrValueCombCompare.RecId))); // LedgerDimension' a ait hiyerarşi kaydını verir. info(strfmt("DimHierarchy Name = %1" , DimensionStorage::getAccountStructureFromLedgerDimension(dimAttrValueComb.RecId).Name)); // Bir MainAccount ait defaultAccount varsa getirir yoksa oluşturur. info(strfmt("DafaultAccount RecId = %1" , DimensionStorage::getDefaultAccount(mainAccount.RecId))); // Bir MainAccount ait defaultAccount varsa getirir yoksa oluşturur. info(strfmt("DafaultAccount RecId = %1" , DimensionStorage::getDefaultAccountForMainAccountNum(mainAccount.MainAccountId))); // Bir LedgerDimension'daki boyutları yanzı DimensionAttributeValueSet recId sini veriri. info(strfmt("DafaultDimension RecId = %1" , DimensionStorage::getDefaultDimensionFromLedgerDimension(dimAttrValueComb.RecId))); // LedgerDimension' a ait hiyerarşi kaydını verir. info(strfmt("DimHierarchy Name = %1" , DimensionStorage::getFirstDimHierarchyFromLedgerDimension(dimAttrValueComb.RecId).Name)); // LedgerDimension'a ait DefaultAccount'u verir. info(strfmt("DefaultAccount RecId = %1" , DimensionStorage::getLedgerDefaultAccountFromLedgerDim(dimAttrValueComb.RecId))); // LedgerDimension'a ait MainAccount'u verir. info(strfmt("MainAccount Name = %1" , DimensionStorage::getMainAccountFromLedgerDimension(dimAttrValueComb.RecId).Name)); // LedgerDimension'a ait MainAccount'u verir. info(strfmt("MainAccount RecId = %1" , DimensionStorage::getMainAccountIdFromLedgerDimension(dimAttrValueComb.RecId))); // LedgerDimension'a ait MainAccount'u verir. info(strfmt("MainAccount Num = %1" , DimensionStorage::getMainAccountNumFromLedgerDimension(dimAttrValueComb.RecId))); // LedgerDimension'a ait AccountNum'u verir. info(strfmt("CustTable AccountNum = %1" , DimensionStorage::ledgerDimension2AccountNum(dimAttrValueCombCust.RecId))); }
Job’ı çalıştırdığınızda şöyle bir çıktı alacaksınız.
Selamlar.
Hocam çok değerli bir bilgi paylaşmışsın emeğine sağlık
Rica ederim