Miklix

ଡାଇନାମିକ୍ସ 365 ରେ X++ କୋଡ୍ ରୁ ଆର୍ଥିକ ପରିମାଣ ମୂଲ୍ୟ ଅପଡେଟ୍ କରନ୍ତୁ

ପ୍ରକାଶିତ: 12:04:01 PM UTC ଠାରେ ଫେବୃଆରୀ 16, 2025

ଏହି ଆର୍ଟିକିଲ୍ ବ୍ୟାଖ୍ୟା କରେ ଯେ ଡାଇନାମିକ୍ସ 365 ରେ X++ କୋଡ୍ ରୁ ଏକ ଆର୍ଥିକ ପରିମାପ ମୂଲ୍ୟକୁ କିପରି ଅପଡେଟ୍ କରିବେ, ଏକ କୋଡ୍ ଉଦାହରଣ ସହିତ।


ଏହି ପୃଷ୍ଠାକୁ ଅଧିକରୁ ଅଧିକ ଲୋକଙ୍କ ପାଖରେ ପହଞ୍ଚାଇବା ପାଇଁ ଇଂରାଜୀରୁ ମେସିନ୍ ଅନୁବାଦ କରାଯାଇଥିଲା। ଦୁର୍ଭାଗ୍ୟବଶତଃ, ମେସିନ୍ ଅନୁବାଦ ଏପର୍ଯ୍ୟନ୍ତ ଏକ ସିଦ୍ଧ ପ୍ରଯୁକ୍ତିବିଦ୍ୟା ନୁହେଁ, ତେଣୁ ତ୍ରୁଟି ହୋଇପାରେ। ଯଦି ଆପଣ ଚାହାଁନ୍ତି, ତେବେ ଆପଣ ଏଠାରେ ମୂଳ ଇଂରାଜୀ ସଂସ୍କରଣ ଦେଖିପାରିବେ:

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

ଏହି ପୋଷ୍ଟରେ ଥିବା ସୂଚନା ଡାଇନାମିକ୍ସ 365 ଉପରେ ଆଧାରିତ। ଏହା ଡାଇନାମିକ୍ସ 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 ରେ ସେୟାର କରନ୍ତୁଲିଙ୍କଡିନ୍‌ରେ ସେୟାର୍‌ କରନ୍ତୁପିନ୍ଟରେଷ୍ଟରେ ପିନ୍ କରନ୍ତୁ

ମିକେଲ୍ ବାଙ୍ଗ୍ କ୍ରିଷ୍ଟେନସେନ୍

ଲେଖକଙ୍କ ବିଷୟରେ

ମିକେଲ୍ ବାଙ୍ଗ୍ କ୍ରିଷ୍ଟେନସେନ୍
ମିକେଲ୍ ହେଉଛନ୍ତି miklix.com ର ସୃଷ୍ଟିକର୍ତ୍ତା ଏବଂ ମାଲିକ। ତାଙ୍କର ଜଣେ ବୃତ୍ତିଗତ କମ୍ପ୍ୟୁଟର ପ୍ରୋଗ୍ରାମର/ସଫ୍ଟୱେର୍ ଡେଭଲପର ଭାବରେ 20 ବର୍ଷରୁ ଅଧିକ ଅଭିଜ୍ଞତା ଅଛି ଏବଂ ସେ ବର୍ତ୍ତମାନ ଏକ ବଡ଼ ୟୁରୋପୀୟ IT କର୍ପୋରେସନରେ ପୂର୍ଣ୍ଣକାଳୀନ ନିଯୁକ୍ତି ପାଇଛନ୍ତି। ବ୍ଲଗ୍ ନ ଲେଖିବା ସମୟରେ, ସେ ତାଙ୍କର ଖାଲି ସମୟ ବିଭିନ୍ନ ପ୍ରକାରର ଆଗ୍ରହ, ହବି ଏବଂ କାର୍ଯ୍ୟକଳାପରେ ବିତାଇଥାନ୍ତି, ଯାହା କିଛି ପରିମାଣରେ ଏହି ୱେବସାଇଟରେ ଆବୃତ ବିଭିନ୍ନ ବିଷୟଗୁଡ଼ିକରେ ପ୍ରତିଫଳିତ ହୋଇପାରେ।