Aktualizujte hodnotu finančnej dimenzie z kódu X++ v Dynamics 365
Publikované: 16. februára 2025 o 12:01:34 UTC
Posledná aktualizácia: 13. novembra 2025 o 13:37:44 UTC
Tento článok vysvetľuje, ako aktualizovať hodnotu finančnej dimenzie z kódu X++ v systéme Dynamics 365 vrátane príkladu kódu.
Update Financial Dimension Value from X++ Code in Dynamics 365
Informácie v tomto príspevku sú založené na systéme Dynamics 365. Malo by to fungovať aj v systéme Dynamics AX 2012, ale explicitne som to netestoval.
Nedávno som dostal za úlohu aktualizovať hodnotu jednej finančnej dimenzie na základe nejakej logiky formulára.
Ako pravdepodobne viete, finančné dimenzie v systéme Dynamics AX 2012 sú uložené v samostatných tabuľkách a odkazujú sa na ne prostredníctvom RecId, zvyčajne v poli DefaultDimension.
Celý rámec pre prácu s rozmermi je trochu zložitý a často si musím znova prečítať dokumentáciu k nemu, možno preto, že s tým nepracujem až tak často.
Každopádne, aktualizácia poľa v existujúcej sade dimenzií je niečo, čo sa objavuje často, tak som si pomyslel, že napíšem zoznam môjho obľúbeného receptu ;-)
Statická úžitková metóda by mohla vyzerať takto:
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;
}
Metóda vracia nový (alebo rovnaký) DimensionDefault RecId, takže ak aktualizujete hodnotu dimenzie pre záznam – čo je pravdepodobne najbežnejší scenár – mali by ste sa uistiť, že ste pole dimenzie v danom zázname aktualizovali novou hodnotou.
Ďalšie čítanie
Ak sa vám tento príspevok páčil, možno sa vám budú páčiť aj tieto návrhy:
- Prepnite Dynamics 365 FO Virtual Machine Dev alebo Test do režimu údržby
- Visual Studio sa pri načítaní posledných projektov zavesí pri spustení
- Pridajte metódu zobrazenia alebo úpravy prostredníctvom rozšírenia v Dynamics 365
