Ukusebenzisa Umbuzo Ekilasini Lenkontileka Yedatha ye-SysOperation ku-Dynamics AX 2012
Kushicilelwe: 16 Pébruari 2025 jam 01.27.59 UTC
Lesi sihloko sidlula imininingwane yokuthi ungangeza kanjani umbuzo olungisekayo nohluzekayo ekilasini lenkontileka yedatha ye-SysOperation ku-Dynamics AX 2012 (kanye ne-Dynamics 365 Yokusebenza)
Using a Query in a SysOperation Data Contract Class in Dynamics AX 2012
Ulwazi kulokhu okuthunyelwe lusekelwe ku-Dynamics AX 2012 R3. Ingase ivumeleke noma ingasebenzi kwezinye izinguqulo. (Isibuyekezo: Ngingaqinisekisa ukuthi lokhu kuphinde kusebenze ku-Dynamics 365 Yokusebenza)
Ngihlala ngibonakala ngikhohlwa imininingwane yokuthi ungacacisa kanjani futhi ngiqalise umbuzo kuhlaka lwe-SysOperation. Ngicabanga ukuthi iningi lemisebenzi yenqwaba ebengiyenza ayisekelwe emibuzweni elungisekayo, kodwa ngaso sonke isikhathi ngidinga ukwenza umsebenzi onjalo weqoqo, ngakho-ke lokhu okuthunyelwe nakho kungokwereferensi yami.
Okokuqala, ekilasini lenkontileka yedatha, umbuzo uzogcinwa upakishwe ngochungechunge. Indlela yayo ye-parm kumele ihlotshiswe ngesibaluli se-AifQueryTypeAttribute, kanjalo (kulesi sibonelo ngisebenzise umbuzo we-SalesUpdate, kodwa ungakwazi esikhundleni salokhu nganoma yimuphi umbuzo we-AOT):
DataMemberAttribute,
AifQueryTypeAttribute('_packedQuery', queryStr(SalesUpdate))
]
public str parmPackedQuery(str _packedQuery = packedQuery)
{
;
packedQuery = _packedQuery;
return packedQuery;
}
Uma ufuna ukuthi umbuzo unqunywe yisigaba sesilawuli esikhundleni salokho, ungasebenzisa futhi iyunithi yezinhlamvu engenalutho. Uma kunjalo, udinga ukusebenzisa izindlela zomsizi ezimbalwa (okungenzeka ukuthi kufanele uzisebenzise noma yikanjani ukuze kube lula kuwe uma udinga ukufinyelela embuzweni):
{
;
return new Query(SysOperationHelper::base64Decode(packedQuery));
}
public void setQuery(Query _query)
{
;
packedQuery = SysOperationHelper::base64Encode(_query.pack());
}
Uma udinga ukuqalisa umbuzo (ngokwesibonelo, engeza ububanzi), kufanele usebenzise indlela ye-initQuery:
{
Query queryLocal = this.getQuery();
;
// add ranges, etc...
this.setQuery(queryLocal);
}
Udinga ukwenza isiqiniseko sokuthi ushayela le ndlela kusukela kusigaba sesilawuli.