Opdater økonomisk dimensionsværdi fra X++-kode i Dynamics 365
Udgivet: 16. februar 2025 kl. 12.00.58 UTC
Sidst opdateret: 13. november 2025 kl. 13.35.56 UTC
Denne artikel forklarer, hvordan du opdaterer en finansiel dimensionsværdi fra X++-kode i Dynamics 365, inklusive et kodeeksempel.
Update Financial Dimension Value from X++ Code in Dynamics 365
Oplysningerne i dette indlæg er baseret på Dynamics 365. Det burde også virke i Dynamics AX 2012, men jeg har ikke eksplicit testet det.
Jeg fik for nylig til opgave at opdatere værdien af en enkelt finansiel dimension baseret på en form for logik.
Som du sikkert ved, gemmes finansielle dimensioner i Dynamics AX 2012 i separate tabeller og refereres til via et RecId, normalt i et DefaultDimension-felt.
Hele rammeværket for håndtering af dimensioner er noget komplekst, og jeg er ofte nødt til at genlæse dokumentationen om det, måske fordi det ikke er noget, jeg arbejder med så ofte.
Nå, men opdatering af et felt i et eksisterende dimensionssæt er noget, der ofte opstår, så jeg tænkte, at jeg ville skrive en beretning om min yndlingsopskrift ;-)
En statisk nyttemetode kunne se sådan ud:
Name _dimensionName,
DimensionValue _dimensionValue)
{
DimensionAttribute dimAttribute;
DimensionAttributeValue dimAttributeValue;
DimensionAttributeValueSetStorage dimStorage;
DimensionDefault ret;
;
ret = _defaultDimension;
ttsbegin;
dimStorage = DimensionAttributeValueSetStorage::find(_defaultDimension);
dimAttribute = DimensionAttribute::findByName(_dimensionName);
if (_dimensionValue)
{
dimAttributeValue = DimensionAttributeValue::findByDimensionAttributeAndValue( dimAttribute,
_dimensionValue,
true,
true);
dimStorage.addItem(dimAttributeValue);
}
else
{
dimStorage.removeDimensionAttribute(dimAttribute.RecId);
}
ret = dimStorage.save();
ttscommit;
return ret;
}
Metoden returnerer et nyt (eller det samme) DimensionDefault RecId, så hvis du opdaterer en dimensionsværdi for en post - hvilket sandsynligvis er det mest almindelige scenarie - skal du sørge for at opdatere dimensionsfeltet på den pågældende post med den nye værdi.
Yderligere læsning
Hvis du kunne lide dette indlæg, kan du måske også lide disse forslag:
- Oprettelse af et opslagsfelt for en finansiel dimension i Dynamics 365
- Visual Studio hænger ved opstart under indlæsning af seneste projekter
- Tilføj visnings- eller redigeringsmetode via udvidelse i Dynamics 365
