Convert Default Dim. to Ledger Dim. with main account
Mon Oct 28 2024 07:29:51 GMT+0000 (Coordinated Universal Time)
Saved by @MinaTimo
internal final class TI_TestProcu { /// <summary> /// Class entry point. The system will call this method when a designated menu /// is selected or when execution starts and this class is set as the startup class. /// </summary> /// <param name = "_args">The specified arguments.</param> public static void main(Args _args) { // 1st part is working fine AgreementLine AgreementLine; select AgreementLine where AgreementLine.RecId == 5637407089; LedgerDimensionAccount LedgerDimensionAccount = LedgerDimensionFacade::serviceCreateLedgerDimension( LedgerDefaultAccountHelper::getDefaultAccountFromMainAccountRecId( MainAccount::findByMainAccountId('210106'/*'610101'*/).RecId), AgreementLine.DefaultDimension); LedgerJournalTrans LedgerJournalTrans; select forupdate LedgerJournalTrans where LedgerJournalTrans.Voucher == 'GEN-005903'; LedgerJournalTrans.LedgerDimension = LedgerDimensionAccount; ttsbegin; LedgerJournalTrans.update(); ttscommit; ///--------------------------- int hcount, hidx; RecId dimAttrId_mainAcc; LedgerRecId ledgerRecId; MainAccount MainAccount; RefRecId recValue; DimensionAttribute DimensionAttribute; DimensionAttributeValue DimensionAttributeValue; DimensionSetSegmentName DimensionSetSegmentName; DimensionStorage DimensionStorage; LedgerAccountContract LedgerAccountContract = new LedgerAccountContract(); DimensionAttributeValueContract DimensionAttributeValueContract; List valueContracts = new List(Types::Class); DimensionAttributeValueCombination combina; MainAccount = MainAccount::findByMainAccountId('210106'); recValue = DimensionHierarchy::getAccountStructure(MainAccount.RecId, Ledger::current()); hcount = DimensionHierarchy::getLevelCount(recValue); DimensionSetSegmentName = DimensionHierarchyLevel::getDimensionHierarchyLevelNames(recValue); info(strFmt("%1", hcount)); str value; DimensionAttributeValueSetStorage dimStorage; dimStorage = DimensionAttributeValueSetStorage::find(AgreementLine.DefaultDimension); for(hidx=1; hidx<=hcount; hidx++) { DimensionAttribute = DimensionAttribute::findByLocalizedName(DimensionSetSegmentName[hidx]); value = dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName(DimensionAttribute.Name).RecId); //if(DimensionAttribute) //{ // DimensionAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue( // DimensionAttribute, // conPeek( //} } //AgreementLine AgreementLine; //select AgreementLine where AgreementLine.RecId == 5637407089; //DimensionAttributeValueSetStorage dimStorage; //dimStorage = DimensionAttributeValueSetStorage::find(AgreementLine.DefaultDimension); //str budget = dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName('BudgetCode').RecId); //str Department = dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName('Department').RecId); //str General = dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName('General').RecId); //str Vendor = dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName('Vendor').RecId); //str Worker = dimStorage.getDisplayValueByDimensionAttribute(DimensionAttribute::findByName('Worker').RecId); //info(strFmt("%1 %2 %3 %4 %5", budget, Department, General, Vendor, Worker)); //MainAccount = MainAccount::findByMainAccountId('610101'); //recValue = DimensionHierarchy::getAccountStructure(MainAccount.RecId, Ledger::current()); //hcount = DimensionHierarchy::getLevelCount(recValue); //DimensionSetSegmentName = DimensionHierarchyLevel::getDimensionHierarchyLevelNames(recValue); //info(strFmt("%1", hcount)); //for(hidx=1; hidx<=hcount; hidx++) //{ // DimensionAttribute = DimensionAttribute::findByLocalizedName(DimensionSetSegmentName[hidx]); // info(DimensionAttribute.Name); //} } }
Comments