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