Dynamics 365 дахь өргөтгөлөөр дамжуулан харуулах эсвэл засах аргыг нэмнэ үү
Нийтэлсэн: 2025 оны гуравдугаар сарын 19 21:35:52 (UTC)
Энэ нийтлэлд би Dynamics 365 for Operations-д хүснэгт болон маягт дээр харуулах аргыг нэмэхийн тулд ангийн өргөтгөлийг хэрхэн ашиглах талаар тайлбарлаж, X++ кодын жишээг оруулсан болно.
Add Display or Edit Method via Extension in Dynamics 365
Dynamics-д дэлгэц эсвэл засварлах арга хэрэглэгдэхийг төлөвлөж байгаа нь таны шийдлийг өөрөөр зохион бүтээж болох эсэхийг үргэлж эргэцүүлэн бодох шаардлагатай зүйл юм, гэхдээ зарим тохиолдолд эдгээр нь хамгийн тохиромжтой арга байж болно.
Өмнөх хувилбаруудын Dynamics болон Axapta-д, хүснэгт болон форм дээр дэлгэц эсвэл засварлах арга үүсгэх нь маш амархан байсан ч, саяхан би Dynamics 365-д анх удаа засварлах арга хийх шаардлагатай болсон үед, үүнийг хийх процедур зарим талаараа өөрчлөгдсөн байгааг олж мэдсэн.
Эрх чөлөөтэй хэд хэдэн хүчинтэй хандлагууд байдаг боловч, миний хамгийн сайн гэж үздэг (буюу ойлгоход амархан, кодын хувьд гоё) арга нь анги өргөтгөл ашиглах явдал юм. Тийм ээ, та анги өргөтгөлийг ангиудын гадна өөр элемент төрлүүдэд арга нэмж ашиглаж болно - энэ тохиолдолд хүснэгт, гэхдээ энэ нь форм дээр ч адил ажилладаг.
Эхлээд шинэ ангийг үүсгэ. Та үүнийг хүссэн нэрээр нэрлэж болно, гэхдээ ямар нэг шалтгааны улмаас энэ нь заавал "_Extension" гэж төгсгөлийн үсэгтэй байх ёстой. Жишээ нь, та CustTable-д дэлгэцийн арга нэмэх хэрэгтэй бол, үүнийг MyCustTable_Extension гэж нэрлэж болно.
Ангийг ExtensionOf гэж чимэглэх ёстой, ингэснээр систем таны юу өргөтгөж байгааг мэдэх болно, ингэж:
public final class MyCustTable_Extension
{
}
Одоо та энэ ангид дэлгэцийн аргаа хэрэгжүүлж болно, яг өмнөх хувилбаруудаар хүснэгт дээр шууд хийдэг шиг - "this" нь бүр хүснэгтийг зааж байгаа бөгөөд үүнтэй хамт талбар болон бусад арга руу хандах боломжтой.
Жишээлбэл, энгийн (түүнээс ямар ч хэрэггүй) дэлгэцийн арга бүхий анги нь зөвхөн хэрэглэгчийн дансны дугаарыг буцаах хэлбэрээр харагдаж болно:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Одоо дэлгэцийн аргыг форм дээр (эсвэл формын өргөтгөл дээр, хэрэв та шууд засварлаж чадахгүй бол) нэмэхийн тулд, та формд талбар нэмэх шаардлагатай бөгөөд зөв төрлийг (энэ жишээний хувьд стринг) ашиглахыг баталгаажуулна уу.
Дараа нь, хяналтад DataSource-г CustTable (эсвэл таны CustTable өгөгдлийн эх үүсвэрийн нэр) болгон тохируулж, DataMethod-г MyCustTable_Extension.displayAccountNum болгож тохируулна уу (ангийн нэрийг зааж өгөхөө мартуузай, өөрт нь арга олохгүй бол компилятор арга олохгүй).
Мөн та дууссан :-)
Шинэчлэлт: Дэлгэцийн аргыг формд нэмэхдээ одоо ангийн өргөтгөлийн нэрийг оруулах шаардлагагүй болсон, гэхдээ эхний үед нийтлэхэд ийм байлаа. Би энэ мэдээллийг энд үлдээж байна, хэрэв зарим уншигчид хуучин хувилбаруудыг ашиглаж байгаа бол.