Dynamics 365 Finance and Operations Boyut işlemleri?
Bu yazıda Dynamics 365 Finance and Operations için boyut işlemlerini nasıl yapabiliriz bir job ile anlatmaya çalışacağım. Ax2012 DimensionStore sınıfı birçok metodu barındırıyordu ancak MsDyn365FO ile helper sınıfları kullanılır oldu bu yüzden birçok metot bu sınıflara taşındı. Ax2012 için hazırladığım yazıya buradan ulaşabilirsiniz. Birkaç metot eksik olmakla birlikte genel manada 3 tane sınıf işimizi görüyor.
class FDDimJob1
{
public static void main(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(22565427296);
dimAttrValueComb = DimensionAttributeValueCombination::find(22565428050);
dimAttrValueCombCompare = DimensionAttributeValueCombination::find(22565428053);
mainAccount = MainAccount::find(22565425069);
custTable = CustTable::find(“US-006″);
// Bir hesap ve tip alarak size LedgerDimension’da kayıt varsa getirir yoksa oluşturur.
dimAttrValueCombCust = DimensionAttributeValueCombination::find(
LedgerDynamicAccountHelper::getDynamicAccountFromAccountNumber(custTable.AccountNum , LedgerJournalACType::Cust));
info(strfmt(“LedgerDimension RecId = %1″ , dimAttrValueCombCust.RecId));
// Bir MainAccount ait defaultAccount varsa getirir yoksa oluşturur.
info(strfmt(“DafaultAccount RecId = %1″ ,
LedgerDefaultAccountHelper::getDefaultAccountFromMainAccountRecId(mainAccount.RecId)));
// Bir MainAccount ait defaultAccount varsa getirir yoksa oluşturur.
info(strfmt(“DafaultAccount RecId = %1″ ,
LedgerDefaultAccountHelper::getDefaultAccountFromMainAccountId(mainAccount.MainAccountId)));
// Bir LedgerDimension’daki boyutları yanzı DimensionAttributeValueSet recId sini veriri.
info(strfmt(“DafaultDimension RecId = %1″ ,
LedgerDimensionFacade::getDefaultDimensionFromLedgerDimension(dimAttrValueComb.RecId)));
// LedgerDimension’a ait DefaultAccount’u verir.
info(strfmt(“DefaultAccount RecId = %1″ ,
LedgerDefaultAccountHelper::getDefaultAccountFromLedgerDimension(dimAttrValueComb.RecId)));
// LedgerDimension’a ait MainAccount’u verir.
info(strfmt(“MainAccount Name = %1″ ,
LedgerDimensionFacade::getMainAccountFromLedgerDimension(dimAttrValueComb.RecId).Name));
// LedgerDimension’a ait MainAccount’u verir.
info(strfmt(“MainAccount RecId = %1″ ,
LedgerDimensionFacade::getMainAccountRecIdFromLedgerDimension(dimAttrValueComb.RecId)));
// LedgerDimension’a ait AccountNum’u verir.
info(strfmt(“CustTable AccountNum = %1″ ,
LedgerDynamicAccountHelper::getAccountNumberFromDynamicAccount( dimAttrValueCombDefaultAccount.RecId)));
}
}
Resim-1
İlerleyen yazılarda Ax2012 ile aradaki farkları açıklayan yazılar yazmaya devam edeceğim.
Selamlar.
www.fatihdemirci.net
TAGs: Microsoft Life Cycle Services, LCS, Azure, Azure DevOps, DefaultAccount, LedgerDimension, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 ERP, Dynamics 365 CRM