Miklix

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 فیلڈ میں حوالہ دیا جاتا ہے۔

طول و عرض کو سنبھالنے کا پورا فریم ورک کچھ پیچیدہ ہے اور مجھے اکثر اس پر دستاویزات کو دوبارہ پڑھنا پڑتا ہے، شاید اس لیے کہ یہ ایسی چیز نہیں ہے جس کے ساتھ میں اکثر کام کرتا ہوں۔

بہر حال، موجودہ طول و عرض کے سیٹ میں کسی فیلڈ کو اپ ڈیٹ کرنا ایک ایسی چیز ہے جو اکثر سامنے آتی ہے، اس لیے میں نے سوچا کہ میں اپنی پسندیدہ ترکیب لکھوں ؛-)


ایک جامد افادیت کا طریقہ اس طرح نظر آسکتا ہے:

public static DimensionDefault updateDimension( DimensionDefault    _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 لوٹاتا ہے، اس لیے اگر کسی ریکارڈ کے لیے ایک طول و عرض کی قدر کو اپ ڈیٹ کیا جا رہا ہے - جو شاید سب سے عام منظر نامہ ہے - آپ کو اس ریکارڈ پر موجود ڈائمینشن فیلڈ کو نئی قدر کے ساتھ اپ ڈیٹ کرنا یقینی بنانا چاہیے۔

بلوسکی پر شیئر کریں۔فیس بک پر شیئر کریں۔لنکڈ ان پر شیئر کریں۔ٹمبلر پر شیئر کریں۔ایکس پر شیئر کریں۔لنکڈ ان پر شیئر کریں۔پنٹرسٹ پر پن کریں

میکل بینگ کرسٹینسن

مصنف کے بارے میں

میکل بینگ کرسٹینسن
مائیکل miklix.com کا خالق اور مالک ہے۔ اس کے پاس ایک پیشہ ور کمپیوٹر پروگرامر/سافٹ ویئر ڈویلپر کے طور پر 20 سال سے زیادہ کا تجربہ ہے اور وہ اس وقت ایک بڑی یورپی آئی ٹی کارپوریشن میں کل وقتی ملازمت کر رہے ہیں۔ جب وہ بلاگنگ نہیں کرتے ہیں، تو وہ اپنا فارغ وقت دلچسپیوں، مشاغل اور سرگرمیوں کی ایک وسیع صف پر صرف کرتا ہے، جو کسی حد تک اس ویب سائٹ پر موجود مختلف موضوعات سے ظاہر ہو سکتا ہے۔