Miklix

ਡਾਇਨਾਮਿਕਸ 365 ਵਿੱਚ X++ ਕੋਡ ਤੋਂ ਵਿੱਤੀ ਮਾਪ ਮੁੱਲ ਅੱਪਡੇਟ ਕਰੋ

ਪ੍ਰਕਾਸ਼ਿਤ: 19 ਮਾਰਚ 2025 9:36:05 ਬਾ.ਦੁ. UTC

ਇਹ ਲੇਖ ਦੱਸਦਾ ਹੈ ਕਿ ਡਾਇਨਾਮਿਕਸ 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 ਵਾਪਸ ਕਰਦੀ ਹੈ, ਇਸ ਲਈ ਜੇਕਰ ਕਿਸੇ ਰਿਕਾਰਡ ਲਈ ਡਾਇਮੇੰਸ਼ਨ ਮੁੱਲ ਨੂੰ ਅਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ - ਜੋ ਕਿ ਸ਼ਾਇਦ ਸਭ ਤੋਂ ਆਮ ਸਨਾਰੀਓ ਹੈ - ਤਾਂ ਤੁਹਾਨੂੰ ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਉਸ ਰਿਕਾਰਡ 'ਤੇ ਨਵੇਂ ਮੁੱਲ ਨਾਲ ਡਾਇਮੇੰਸ਼ਨ ਫੀਲਡ ਨੂੰ ਅਪਡੇਟ ਕੀਤਾ ਗਿਆ ਹੋਵੇ।

ਬਲੂਸਕੀ 'ਤੇ ਸਾਂਝਾ ਕਰੋਫੇਸਬੁੱਕ 'ਤੇ ਸਾਂਝਾ ਕਰੋਲਿੰਕਡਇਨ 'ਤੇ ਸਾਂਝਾ ਕਰੋਟਮਬਲਰ 'ਤੇ ਸਾਂਝਾ ਕਰੋX 'ਤੇ ਸਾਂਝਾ ਕਰੋਲਿੰਕਡਇਨ 'ਤੇ ਸਾਂਝਾ ਕਰੋPinterest 'ਤੇ ਪਿੰਨ ਕਰੋ

ਮਿੱਕੇਲ ਕ੍ਰਿਸਟਨਸਨ

ਲੇਖਕ ਬਾਰੇ

ਮਿੱਕੇਲ ਕ੍ਰਿਸਟਨਸਨ
ਮਿਕੇਲ miklix.com ਦਾ ਸਿਰਜਣਹਾਰ ਅਤੇ ਮਾਲਕ ਹੈ। ਉਸਨੂੰ ਇੱਕ ਪੇਸ਼ੇਵਰ ਕੰਪਿਊਟਰ ਪ੍ਰੋਗਰਾਮਰ/ਸਾਫਟਵੇਅਰ ਡਿਵੈਲਪਰ ਵਜੋਂ 20 ਸਾਲਾਂ ਤੋਂ ਵੱਧ ਦਾ ਤਜਰਬਾ ਹੈ ਅਤੇ ਉਹ ਵਰਤਮਾਨ ਵਿੱਚ ਇੱਕ ਵੱਡੇ ਯੂਰਪੀਅਨ ਆਈਟੀ ਕਾਰਪੋਰੇਸ਼ਨ ਲਈ ਪੂਰਾ ਸਮਾਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਉਹ ਬਲੌਗ ਨਹੀਂ ਲਿਖਦਾ, ਤਾਂ ਉਹ ਆਪਣਾ ਖਾਲੀ ਸਮਾਂ ਬਹੁਤ ਸਾਰੀਆਂ ਰੁਚੀਆਂ, ਸ਼ੌਕ ਅਤੇ ਗਤੀਵਿਧੀਆਂ 'ਤੇ ਬਿਤਾਉਂਦਾ ਹੈ, ਜੋ ਕਿ ਕੁਝ ਹੱਦ ਤੱਕ ਇਸ ਵੈੱਬਸਾਈਟ 'ਤੇ ਕਵਰ ਕੀਤੇ ਗਏ ਵਿਸ਼ਿਆਂ ਦੀ ਵਿਭਿੰਨਤਾ ਵਿੱਚ ਪ੍ਰਤੀਬਿੰਬਤ ਹੋ ਸਕਦਾ ਹੈ।