Dynamics 365 میں X++ کوڈ سے فنانشل ڈائمینشن ویلیو کو اپ ڈیٹ کریں۔
شائع شدہ: 16 فروری، 2025 کو 12:01:49 PM UTC
یہ مضمون بتاتا ہے کہ کوڈ کی مثال سمیت Dynamics 365 میں X++ کوڈ سے مالی جہت کی قدر کو کیسے اپ ڈیٹ کیا جائے۔
Update Financial Dimension Value from X++ Code in Dynamics 365
اس پوسٹ میں موجود معلومات Dynamics 365 پر مبنی ہے۔ اسے Dynamics AX 2012 میں بھی کام کرنا چاہیے، لیکن میں نے واضح طور پر اس کا تجربہ نہیں کیا ہے۔
مجھے حال ہی میں کچھ فارم منطق کی بنیاد پر ایک مالیاتی جہت کی قدر کو اپ ڈیٹ کرنے کا کام سونپا گیا تھا۔
جیسا کہ آپ شاید جانتے ہوں گے، چونکہ Dynamics AX 2012 کی مالی جہتیں الگ الگ جدولوں میں محفوظ کی جاتی ہیں اور RecId کے ذریعے عام طور پر DefaultDimension فیلڈ میں حوالہ دیا جاتا ہے۔
طول و عرض کو سنبھالنے کا پورا فریم ورک کچھ پیچیدہ ہے اور مجھے اکثر اس پر دستاویزات کو دوبارہ پڑھنا پڑتا ہے، شاید اس لیے کہ یہ ایسی چیز نہیں ہے جس کے ساتھ میں اکثر کام کرتا ہوں۔
بہر حال، موجودہ طول و عرض کے سیٹ میں کسی فیلڈ کو اپ ڈیٹ کرنا ایک ایسی چیز ہے جو اکثر سامنے آتی ہے، اس لیے میں نے سوچا کہ میں اپنی پسندیدہ ترکیب لکھوں ؛-)
ایک جامد افادیت کا طریقہ اس طرح نظر آسکتا ہے:
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;
}
طریقہ ایک نیا (یا وہی) DimensionDefault RecId لوٹاتا ہے، اس لیے اگر کسی ریکارڈ کے لیے ایک طول و عرض کی قدر کو اپ ڈیٹ کیا جا رہا ہے - جو شاید سب سے عام منظر نامہ ہے - آپ کو اس ریکارڈ پر موجود ڈائمینشن فیلڈ کو نئی قدر کے ساتھ اپ ڈیٹ کرنا یقینی بنانا چاہیے۔