Dynamics 365'te X++ Kodundan Finansal Boyut Değerini Güncelle
Yayınlandı: 16 Şubat 2025 12:01:38 UTC
Bu makalede, bir kod örneği de dahil olmak üzere Dynamics 365'te X++ kodundan bir finansal boyut değerinin nasıl güncelleneceği açıklanmaktadır.
Update Financial Dimension Value from X++ Code in Dynamics 365
Bu yazıda yer alan bilgiler Dynamics 365'e dayanmaktadır. Dynamics AX 2012'de de çalışması gerekir, ancak bunu açıkça test etmedim.
Yakın zamanda, bir tür mantığa dayalı olarak tek bir finansal boyutun değerini güncelleme görevi bana verildi.
Bildiğiniz gibi Dynamics AX 2012'den itibaren finansal boyutlar ayrı tablolarda saklanıyor ve genellikle DefaultDimension alanında bulunan RecId aracılığıyla referans alınıyor.
Boyutları ele almanın tüm çerçevesi oldukça karmaşıktır ve belki de çok sık çalışmadığım bir konu olduğu için, bununla ilgili belgeleri sık sık yeniden okumak zorunda kalıyorum.
Neyse, mevcut bir boyut kümesindeki bir alanı güncellemek sıkça karşılaşılan bir durum, bu yüzden en sevdiğim tarifi yazmayı düşündüm ;-)
Statik bir yardımcı program yöntemi şu şekilde görünebilir:
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;
}
Bu yöntem yeni (veya aynı) bir DimensionDefault RecId döndürür, dolayısıyla bir kayıt için boyut değerini güncelliyorsanız (ki bu muhtemelen en yaygın senaryodur), o kayıttaki boyut alanını yeni değerle güncellediğinizden emin olmalısınız.