Amfani da Tambaya a cikin Ajin Kwangilar Bayanan Bayanan SysOperation a cikin Dynamics AX 2012
Buga: 16 Faburairu, 2025 da 01:24:43 UTC
Wannan labarin ya wuce cikakkun bayanai kan yadda ake ƙara tambaya mai daidaitawa da mai tacewa zuwa ajin kwangilar bayanan SysOperation a cikin Dynamics AX 2012 (da Dynamics 365 don Ayyuka)
Using a Query in a SysOperation Data Contract Class in Dynamics AX 2012
Bayanin da ke cikin wannan sakon ya dogara ne akan Dynamics AX 2012 R3. Yana iya ko ba zai yi aiki ba don wasu nau'ikan. (Sabunta: Zan iya tabbatar da cewa wannan kuma yana aiki akan Dynamics 365 don Ayyuka)
Kullum ina da alama na manta da cikakkun bayanai kan yadda ake sakawa da fara tambaya a cikin tsarin SysOperation. Ina tsammanin yawancin ayyukan batch da nake yi ba su dogara ne akan tambayoyin da za a iya daidaita su ba, amma kowane lokaci da lokaci ina buƙatar yin irin wannan aikin, don haka wannan post ɗin ma don tunani na ne.
Na farko, a cikin ajin kwangilar bayanai, za a adana tambayar cike da kirtani. Dole ne a yi ado da hanyar parm ɗin ta da sifa ta AifQueryTypeAttribute, kamar haka (a cikin wannan misalin na yi amfani da tambayar SalesUpdate, amma kuna iya maye gurbin wannan da kowace tambaya ta AOT):
DataMemberAttribute,
AifQueryTypeAttribute('_packedQuery', queryStr(SalesUpdate))
]
public str parmPackedQuery(str _packedQuery = packedQuery)
{
;
packedQuery = _packedQuery;
return packedQuery;
}
Idan kuna son ajin mai sarrafawa ya yanke shawarar tambayar a maimakon haka, kuna iya amfani da kirtani mara komai. A wannan yanayin, kuna buƙatar aiwatar da hanyoyi biyu na taimako (wanda wataƙila ya kamata ku aiwatar don dacewa da kanku lokacin da kuke buƙatar samun damar tambayar):
{
;
return new Query(SysOperationHelper::base64Decode(packedQuery));
}
public void setQuery(Query _query)
{
;
packedQuery = SysOperationHelper::base64Encode(_query.pack());
}
Idan kuna buƙatar fara tambayar (misali, ƙara jeri), yakamata ku aiwatar da hanyar initQuery:
{
Query queryLocal = this.getQuery();
;
// add ranges, etc...
this.setQuery(queryLocal);
}
Kuna buƙatar tabbatar da kiran wannan hanyar daga ajin mai sarrafawa.