Miklix

డైనమిక్స్ 365 లో X++ కోడ్ నుంచి ఫైనాన్షియల్ డైమెన్షన్ వాల్యూని అప్ డేట్ చేయండి

ప్రచురణ: 16 ఫిబ్రవరి, 2025 12:02:08 PM UTCకి
చివరిగా నవీకరించబడింది: 13 నవంబర్, 2025 1:38:28 PM UTCకి

ఈ వ్యాసం డైనమిక్స్ 365 లోని X++ కోడ్ నుండి ఆర్థిక పరిమాణ విలువను ఎలా నవీకరించాలో వివరిస్తుంది, కోడ్ ఉదాహరణతో సహా.


వీలైనంత ఎక్కువ మందికి అందుబాటులో ఉండేలా ఈ పేజీని ఇంగ్లీష్ నుండి యాంత్రికంగా అనువదించారు. దురదృష్టవశాత్తు, యాంత్రిక అనువాదం ఇంకా పరిపూర్ణమైన సాంకేతికత కాదు, కాబట్టి లోపాలు సంభవించవచ్చు. మీరు కోరుకుంటే, మీరు అసలు ఆంగ్ల సంస్కరణను ఇక్కడ చూడవచ్చు:

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

ఈ పోస్ట్‌లోని సమాచారం డైనమిక్స్ 365 ఆధారంగా రూపొందించబడింది. ఇది డైనమిక్స్ AX 2012లో కూడా పని చేస్తుంది, కానీ నేను దానిని స్పష్టంగా పరీక్షించలేదు.

ఇటీవల నాకు కొంత ఫారమ్ లాజిక్ ఆధారంగా ఒకే ఆర్థిక పరిమాణం యొక్క విలువను నవీకరించే పని అప్పగించబడింది.

మీకు బహుశా తెలిసినట్లుగా, డైనమిక్స్ 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ని అందిస్తుంది, కాబట్టి రికార్డ్ కోసం డైమెన్షన్ విలువను అప్‌డేట్ చేస్తుంటే - ఇది బహుశా అత్యంత సాధారణ దృశ్యం - మీరు ఆ రికార్డ్‌లోని డైమెన్షన్ ఫీల్డ్‌ను కొత్త విలువతో అప్‌డేట్ చేయాలని నిర్ధారించుకోవాలి.

మరింత చదవడానికి

మీరు ఈ పోస్ట్‌ను ఆస్వాదించినట్లయితే, మీరు ఈ సూచనలను కూడా ఇష్టపడవచ్చు:


బ్లూస్కీలో షేర్ చేయండిఫేస్‌బుక్‌లో షేర్ చేయండిలింక్డ్ఇన్‌లో షేర్ చేయండిTumblrలో షేర్ చేయండిX లో షేర్ చేయండిలింక్డ్ఇన్‌లో షేర్ చేయండిPinterestలో పిన్ చేయండి

మికెల్ క్రిస్టెన్సేన్

రచయిత గురుంచి

మికెల్ క్రిస్టెన్సేన్
మిక్కెల్ miklix.com సృష్టికర్త మరియు యజమాని. అతనికి ప్రొఫెషనల్ కంప్యూటర్ ప్రోగ్రామర్/సాఫ్ట్‌వేర్ డెవలపర్‌గా 20 సంవత్సరాలకు పైగా అనుభవం ఉంది మరియు ప్రస్తుతం ఒక పెద్ద యూరోపియన్ ఐటీ కార్పొరేషన్‌లో పూర్తి సమయం ఉద్యోగం చేస్తున్నాడు. బ్లాగింగ్ చేయనప్పుడు, అతను తన ఖాళీ సమయాన్ని విస్తృత శ్రేణి ఆసక్తులు, అభిరుచులు మరియు కార్యకలాపాలపై గడుపుతాడు, ఇవి కొంతవరకు ఈ వెబ్‌సైట్‌లో కవర్ చేయబడిన వివిధ అంశాలలో ప్రతిబింబిస్తాయి.