Miklix

ડાયનેમિક્સ 365માં X++ કોડમાંથી નાણાકીય પરિમાણ મૂલ્ય અપડેટ કરો

પ્રકાશિત: 16 ફેબ્રુઆરી, 2025 એ 12:02:46 PM UTC વાગ્યે

આ લેખ ડાયનેમિક્સ 365માં X++ કોડમાંથી નાણાકીય પરિમાણ મૂલ્યને કેવી રીતે અપડેટ કરવું તે સમજાવે છે, જેમાં કોડ ઉદાહરણનો પણ સમાવેશ થાય છે.


આ પૃષ્ઠ શક્ય તેટલા વધુ લોકો સુધી સુલભ બને તે માટે અંગ્રેજીમાંથી મશીન અનુવાદ કરવામાં આવ્યો હતો. કમનસીબે, મશીન અનુવાદ હજુ સુધી સંપૂર્ણ તકનીક નથી, તેથી ભૂલો થઈ શકે છે. જો તમે ઇચ્છો, તો તમે મૂળ અંગ્રેજી સંસ્કરણ અહીં જોઈ શકો છો:

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

આ પોસ્ટમાં માહિતી ડાયનામિક્સ 365 પર આધારિત છે. તેણે ડાયનેમિક્સ એએક્સ 2012 માં પણ કામ કરવું જોઈએ, પરંતુ મેં સ્પષ્ટપણે તેનું પરીક્ષણ કર્યું નથી.

મને તાજેતરમાં જ કેટલાક સ્વરૂપના તર્કના આધારે એક જ નાણાકીય પરિમાણના મૂલ્યને અપડેટ કરવાનું કામ સોંપવામાં આવ્યું હતું.

તમે કદાચ જાણતા હશો કે, ડાયનેમિક્સ AX 2012 નાણાકીય પરિમાણો અલગ કોષ્ટકમાં સંગ્રહિત થાય છે અને RecId દ્વારા સંદર્ભિત કરવામાં આવે છે, સામાન્ય રીતે ડિફોલ્ટડિમેન્શન ક્ષેત્રમાં.

પરિમાણોને સંભાળવા માટેનું સમગ્ર માળખું કંઈક અંશે જટિલ હોય છે અને હું ઘણી વાર જોઉં છું કે તેના પરના દસ્તાવેજો ફરીથી વાંચવા પડે છે, કદાચ એટલા માટે કે તે એવી કોઈ બાબત નથી જેની સાથે હું ઘણી વાર કામ કરું છું.

ખેર, હાલના ડાયમેન્શન સેટમાં ફિલ્ડને અપડેટ કરવું એ એક એવી બાબત છે જે વારંવાર સામે આવે છે, તેથી મેં વિચાર્યું કે હું મારી મનપસંદ રેસીપીનું લખાણ લખીશ ;-)


સ્થિર ઉપયોગિતા પદ્ધતિ આના જેવી લાગી શકે છે:

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 આપે છે, તેથી જો રેકોર્ડ માટે પરિમાણ મૂલ્યને અપડેટ કરી રહ્યા હોય - જે કદાચ સૌથી સામાન્ય દૃશ્ય છે - તો તમારે નવા મૂલ્ય સાથે તે રેકોર્ડ પર પરિમાણ ક્ષેત્રને અપડેટ કરવાની ખાતરી કરવી જોઈએ.

બ્લુસ્કી પર શેર કરોફેસબુક પર શેર કરોLinkedIn પર શેર કરોટમ્બલર પર શેર કરોX પર શેર કરોLinkedIn પર શેર કરોPinterest પર પિન કરો

મિકેલ બેંગ ક્રિસ્ટેનસેન

લેખક વિશે

મિકેલ બેંગ ક્રિસ્ટેનસેન
મિકેલ miklix.com ના સર્જક અને માલિક છે. તેમને એક વ્યાવસાયિક કમ્પ્યુટર પ્રોગ્રામર/સોફ્ટવેર ડેવલપર તરીકે 20 વર્ષથી વધુનો અનુભવ છે અને હાલમાં તેઓ એક મોટા યુરોપિયન IT કોર્પોરેશનમાં પૂર્ણ-સમય કાર્યરત છે. જ્યારે તેઓ બ્લોગિંગ કરતા નથી, ત્યારે તેઓ પોતાનો ફાજલ સમય વિવિધ રુચિઓ, શોખ અને પ્રવૃત્તિઓ પર વિતાવે છે, જે આ વેબસાઇટ પર આવરી લેવામાં આવેલા વિવિધ વિષયોમાં પ્રતિબિંબિત થઈ શકે છે.