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