Miklix

डायनॅमिक्स 365 मध्ये एक्स ++ कोडमधून फायनान्शियल डायमेंशन व्हॅल्यू अपडेट करा

प्रकाशित: १६ फेब्रुवारी, २०२५ रोजी १२:०२:०५ PM UTC
शेवटचे अपडेट केलेले: १३ नोव्हेंबर, २०२५ रोजी १:३८:२५ PM UTC

हा लेख डायनॅमिक्स ३६५ मधील X++ कोडमधून आर्थिक आयाम मूल्य कसे अपडेट करायचे ते स्पष्ट करतो, ज्यामध्ये कोड उदाहरण देखील समाविष्ट आहे.


हे पान जास्तीत जास्त लोकांना उपलब्ध व्हावे म्हणून इंग्रजीतून मशीन भाषांतरित करण्यात आले आहे. दुर्दैवाने, मशीन भाषांतर अद्याप परिपूर्ण तंत्रज्ञान नाही, त्यामुळे चुका होऊ शकतात. तुम्हाला हवे असल्यास, तुम्ही मूळ इंग्रजी आवृत्ती येथे पाहू शकता:

Update Financial Dimension Value from X++ Code in Dynamics 365

या पोस्टमधील माहिती डायनॅमिक्स ३६५ वर आधारित आहे. ती डायनॅमिक्स एएक्स २०१२ मध्ये देखील काम करेल, परंतु मी त्याची स्पष्टपणे चाचणी केलेली नाही.

मला अलिकडेच काही स्वरूपाच्या तर्काच्या आधारे एका आर्थिक परिमाणाचे मूल्य अद्यतनित करण्याचे काम देण्यात आले.

तुम्हाला कदाचित माहिती असेलच की, डायनॅमिक्स AX २०१२ आर्थिक परिमाणे वेगळ्या टेबलमध्ये संग्रहित केली जातात आणि 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 परत करते, म्हणून जर एखाद्या रेकॉर्डसाठी डायमेंशन व्हॅल्यू अपडेट करत असाल - जी कदाचित सर्वात सामान्य परिस्थिती असेल - तर तुम्ही त्या रेकॉर्डवरील डायमेंशन फील्ड नवीन व्हॅल्यूसह अपडेट करणे सुनिश्चित केले पाहिजे.

पुढील वाचन

जर तुम्हाला ही पोस्ट आवडली असेल, तर तुम्हाला हे सूचना देखील आवडतील:


ब्लूस्की वर शेअर कराफेसबुक वर शेअर करालिंक्डइन वर शेअर कराटंबलर वर शेअर कराX वर शेअर करालिंक्डइन वर शेअर कराPinterest वर पिन करा

मिकेल क्रिस्टेनसेन

लेखकाबद्दल

मिकेल क्रिस्टेनसेन
मिकेल हे miklix.com चे निर्माता आणि मालक आहेत. त्यांना व्यावसायिक संगणक प्रोग्रामर/सॉफ्टवेअर डेव्हलपर म्हणून २० वर्षांहून अधिक अनुभव आहे आणि सध्या ते एका मोठ्या युरोपियन आयटी कॉर्पोरेशनमध्ये पूर्णवेळ नोकरी करतात. ब्लॉगिंग करत नसताना, ते आपला मोकळा वेळ विविध आवडी, छंद आणि क्रियाकलापांमध्ये घालवतात, जे काही प्रमाणात या वेबसाइटवर समाविष्ट असलेल्या विविध विषयांमध्ये प्रतिबिंबित होऊ शकतात.