ഡൈനാമിക്സ് 365-ൽ X++ കോഡിൽ നിന്ന് ഫിനാൻഷ്യൽ ഡൈമൻഷൻ മൂല്യം അപ്ഡേറ്റ് ചെയ്യുക.
പ്രസിദ്ധീകരിച്ചത്: 2025, ഫെബ്രുവരി 16 12:03:15 PM UTC
ഡൈനാമിക്സ് 365-ൽ X++ കോഡിൽ നിന്ന് ഒരു ഫിനാൻഷ്യൽ ഡൈമൻഷൻ മൂല്യം എങ്ങനെ അപ്ഡേറ്റ് ചെയ്യാമെന്ന് ഈ ലേഖനം വിശദീകരിക്കുന്നു, ഒരു കോഡ് ഉദാഹരണം ഉൾപ്പെടെ.
Update Financial Dimension Value from X++ Code in Dynamics 365
ഈ പോസ്റ്റിലെ വിവരങ്ങൾ ഡൈനാമിക്സ് 365 നെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. ഇത് ഡൈനാമിക്സ് AX 2012 ലും പ്രവർത്തിക്കും, പക്ഷേ ഞാൻ അത് വ്യക്തമായി പരീക്ഷിച്ചിട്ടില്ല.
അടുത്തിടെ, ഏതെങ്കിലും തരത്തിലുള്ള ലോജിക്കിന്റെ അടിസ്ഥാനത്തിൽ ഒരൊറ്റ സാമ്പത്തിക മാനത്തിന്റെ മൂല്യം അപ്ഡേറ്റ് ചെയ്യാൻ എന്നെ ചുമതലപ്പെടുത്തി.
നിങ്ങൾക്ക് അറിയാവുന്നതുപോലെ, ഡൈനാമിക്സ് 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 നൽകുന്നു, അതിനാൽ ഒരു റെക്കോർഡിനായി ഒരു dimension മൂല്യം അപ്ഡേറ്റ് ചെയ്യുകയാണെങ്കിൽ - ഒരുപക്ഷേ ഏറ്റവും സാധാരണമായ സാഹചര്യം ഇതാണ് - ആ റെക്കോർഡിലെ dimension ഫീൽഡ് പുതിയ മൂല്യം ഉപയോഗിച്ച് അപ്ഡേറ്റ് ചെയ്യുന്നത് നിങ്ങൾ ഉറപ്പാക്കണം.