Miklix

Dynamics 365 मा X++ कोडबाट वित्तीय आयाम मान अपडेट गर्नुहोस्

प्रकाशित: २०२५ फेब्रुअरी १६: १२:०४:२१ UTC

यस लेखले Dynamics 365 मा X++ कोडबाट वित्तीय आयाम मान कसरी अपडेट गर्ने भनेर वर्णन गर्दछ, कोड उदाहरण सहित।


यो पृष्ठलाई सकेसम्म धेरै मानिसहरूको पहुँचयोग्य बनाउनको लागि अंग्रेजीबाट मेसिन अनुवाद गरिएको थियो। दुर्भाग्यवश, मेसिन अनुवाद अझै पूर्ण प्रविधि होइन, त्यसैले त्रुटिहरू हुन सक्छन्। यदि तपाईं चाहनुहुन्छ भने, तपाईं यहाँ मूल अंग्रेजी संस्करण हेर्न सक्नुहुन्छ:

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

यस पोस्टमा भएको जानकारी Dynamics 365 मा आधारित छ। यो Dynamics AX 2012 मा पनि काम गर्नुपर्छ, तर मैले यसलाई स्पष्ट रूपमा परीक्षण गरेको छैन।

मलाई हालसालै कुनै न कुनै तर्कको आधारमा एकल वित्तीय आयामको मूल्य अद्यावधिक गर्ने जिम्मेवारी दिइएको थियो।

तपाईंलाई थाहा नै होला, किनकि Dynamics 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 फर्काउँछ, त्यसैले यदि रेकर्डको लागि आयाम मान अपडेट गर्दै हुनुहुन्छ - जुन सम्भवतः सबैभन्दा सामान्य परिदृश्य हो - तपाईंले त्यो रेकर्डमा आयाम क्षेत्रलाई नयाँ मानको साथ अपडेट गर्न निश्चित गर्नुपर्छ।

ब्लुस्कीमा सेयर गर्नुहोस्फेसबुक मा शेयर गर्नुहोस्लिंक्डइनमा सेयर गर्नुहोस्Tumblr मा सेयर गर्नुहोस्X मा सेयर गर्नुहोस्लिंक्डइनमा सेयर गर्नुहोस्Pinterest मा पिन गर्नुहोस्

मिकेल बाङ क्रिस्टेनसेन

लेखकको बारेमा

मिकेल बाङ क्रिस्टेनसेन
मिकेल miklix.com का निर्माता र मालिक हुन्। उनीसँग एक पेशेवर कम्प्युटर प्रोग्रामर/सफ्टवेयर विकासकर्ताको रूपमा २० वर्ष भन्दा बढीको अनुभव छ र हाल उनी एक ठूलो युरोपेली आईटी निगममा पूर्ण-समय कार्यरत छन्। ब्लगिङ नगर्दा, उनी आफ्नो खाली समय विभिन्न रुचि, शौक र गतिविधिहरूमा बिताउँछन्, जुन केही हदसम्म यस वेबसाइटमा समेटिएका विषयहरूको विविधतामा प्रतिबिम्बित हुन सक्छ।