Miklix

ଡାଇନାମିକ୍ସ AX 2012 ରେ ଏକ SysOpation ଡାଟା ଚୁକ୍ତି ଶ୍ରେଣୀରେ ଏକ କ୍ୱେରୀ ବ୍ୟବହାର କରିବା

ପ୍ରକାଶିତ: 1:26:09 AM UTC ଠାରେ ଫେବୃଆରୀ 16, 2025

ଡାଇନାମିକ୍ସ AX 2012 (ଏବଂ ଅପରେସନ୍ ପାଇଁ ଡାଇନାମିକ୍ସ 365) ରେ ଏକ ସିସ୍ଅପରେସନ୍ ଡାଟା କଣ୍ଟ୍ରାକ୍ଟ କ୍ଲାସରେ କିପରି ଏକ ଉପଭୋକ୍ତା-କନଫିଗ୍ରେବଲ୍ ଏବଂ ଫିଲ୍ଟରେବଲ୍ କ୍ୱେରୀ ଯୋଡିବେ ସେ ବିଷୟରେ ଏହି ଲେଖାଟି ବିବରଣୀ ଉପରେ ଯାଇଛି।


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

Using a Query in a SysOperation Data Contract Class in Dynamics AX 2012

ଏହି ପୋଷ୍ଟରେ ଥିବା ସୂଚନା ଡାଇନାମିକ୍ସ ଏଏକ୍ସ ୨୦୧୨ ଆର୩ ଉପରେ ଆଧାରିତ । ଏହା ଅନ୍ୟ ସଂସ୍କରଣ ପାଇଁ ବୈଧ ହୋଇପାରେ କିମ୍ବା ହୋଇନପାରେ। (ଅପଡେଟ୍: ମୁଁ ନିଶ୍ଚିତ କରିପାରିବି ଯେ ଏହା ଅପରେସନ୍ ପାଇଁ ଡାଇନାମିକ୍ସ 365 ରେ ମଧ୍ୟ କାର୍ଯ୍ୟ କରେ)

ମୁଁ ସବୁବେଳେ ସିଆଇଏସ୍ ଅପରେସନ ଫ୍ରେମୱାର୍କରେ ଏକ ପ୍ରଶ୍ନକୁ କିପରି ନିର୍ଦ୍ଦିଷ୍ଟ ଏବଂ ପ୍ରାରମ୍ଭିକ କରିବି ସେ ବିଷୟରେ ବିବରଣୀ ଭୁଲିଯାଉଛି । ମୁଁ ଭାବୁଛି ଯେ ମୁଁ କରୁଥିବା ଅଧିକାଂଶ ବ୍ୟାଚ୍ ଚାକିରି ଉପଭୋକ୍ତାଙ୍କ-କନଫିଗ୍ରେବଲ୍ ପ୍ରଶ୍ନ ଉପରେ ଆଧାରିତ ନୁହେଁ, କିନ୍ତୁ ପ୍ରତ୍ୟେକ ସମୟରେ ମୋତେ ଏପରି ଏକ ବ୍ୟାଚ୍ ଚାକିରି କରିବାକୁ ପଡିବ, ତେଣୁ ଏହି ପୋଷ୍ଟମୋର ନିଜ ରେଫରେନ୍ସ ପାଇଁ ମଧ୍ୟ ଅଟେ ।

ପ୍ରଥମେ, ଡାଟା କଣ୍ଟ୍ରାକ୍ଟ କ୍ଲାସରେ, କ୍ୱେରୀକୁ ଏକ ଷ୍ଟ୍ରିଙ୍ଗରେ ପ୍ୟାକ୍ କରାଯିବ। ଏହାର ପାର୍ମ ପଦ୍ଧତିକୁ ଆଇଫ୍କ୍ୱେରିଟାଇପ୍ ଆଟ୍ରିବ୍ୟୁଟ୍ ଗୁଣ ସହିତ ସଜ୍ଜିତ କରାଯିବା ଆବଶ୍ୟକ, ଯେପରିକି (ଏହି ଉଦାହରଣରେ ମୁଁ ସେଲ୍ସଅପଡେଟ୍ କ୍ୱେରୀ ବ୍ୟବହାର କରିଛି, କିନ୍ତୁ ଆପଣ ଏହାକୁ କୌଣସି AOT କ୍ୱେରୀ ସହିତ ବଦଳାଇ ପାରିବେ):

[
    DataMemberAttribute,
    AifQueryTypeAttribute('_packedQuery', queryStr(SalesUpdate))
]
public str parmPackedQuery(str _packedQuery = packedQuery)
{
    ;

    packedQuery = _packedQuery;
    return packedQuery;
}

ଯଦି ଆପଣ ଚାହାଁନ୍ତି ଯେ ପ୍ରଶ୍ନଟି କଣ୍ଟ୍ରୋଲର ଶ୍ରେଣୀ ଦ୍ୱାରା ସ୍ଥିର କରାଯାଉ, ତେବେ ଆପଣ ଏକ ଖାଲି ଷ୍ଟ୍ରିଂ ମଧ୍ୟ ବ୍ୟବହାର କରିପାରିବେ। ସେହି କ୍ଷେତ୍ରରେ, ଆପଣଙ୍କୁ କିଛି ସହାୟକ ପଦ୍ଧତି ମଧ୍ୟ କାର୍ଯ୍ୟକାରୀ କରିବା ଆବଶ୍ୟକ (ଯାହାକୁ ଆପଣ ସମ୍ଭବତଃ ଆପଣଙ୍କ ନିଜ ସୁବିଧା ପାଇଁ କାର୍ଯ୍ୟକାରୀ କରିବା ଉଚିତ୍ ଯେତେବେଳେ ଆପଣ ପ୍ରଶ୍ନ ଆକସେସ୍ କରିବା ଆବଶ୍ୟକ କରନ୍ତି):

public Query getQuery()
{
    ;

    return new Query(SysOperationHelper::base64Decode(packedQuery));
}

public void setQuery(Query _query)
{
    ;

    packedQuery = SysOperationHelper::base64Encode(_query.pack());
}

ଯଦି ଆପଣ ପ୍ରଶ୍ନଆରମ୍ଭ କରିବା ଆବଶ୍ୟକ କରନ୍ତି (ଉଦାହରଣ ସ୍ୱରୂପ, ରେଞ୍ଜ ଯୋଡନ୍ତୁ), ଆପଣ ଏକ ଇନିଟ୍କ୍ୱେରୀ ପଦ୍ଧତି କାର୍ଯ୍ୟକାରୀ କରିବା ଉଚିତ୍:

public void initQuery()
{
    Query queryLocal = this.getQuery();
    ;

    // add ranges, etc...

    this.setQuery(queryLocal);
}

ଆପଣ ନିୟନ୍ତ୍ରକ ଶ୍ରେଣୀରୁ ଏହି ପଦ୍ଧତିକୁ କଲ୍ କରିବାକୁ ନିଶ୍ଚିତ କରିବା ଆବଶ୍ୟକ।

ବ୍ଲୁସ୍କିରେ ସେୟାର କରନ୍ତୁଫେସବୁକରେ ସେୟାର କରନ୍ତୁଲିଙ୍କଡିନ୍‌ରେ ସେୟାର୍‌ କରନ୍ତୁଟମ୍ବଲରରେ ସେୟାର କରନ୍ତୁX ରେ ସେୟାର କରନ୍ତୁଲିଙ୍କଡିନ୍‌ରେ ସେୟାର୍‌ କରନ୍ତୁପିନ୍ଟରେଷ୍ଟରେ ପିନ୍ କରନ୍ତୁ

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

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

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