Miklix

Dynamics 365 တွင် တိုးချဲ့မှုမှတစ်ဆင့် ပြသခြင်း သို့မဟုတ် တည်းဖြတ်ခြင်းနည်းလမ်းကို ထည့်ပါ။

ထုတ်ဝေသည်- ၂၀၂၅၊ ဖေဖော်ဝါရီ ၁၆ UTC ၁၂:၀၀:၁၅
နောက်ဆုံး မွမ်းမံပြင်ဆင်သည်- ၂၀၂၆၊ ဇန်နဝါရီ ၁၂ UTC ၀၈:၅၇:၅၃

ဒီဆောင်းပါးမှာ Dynamics 365 for Operations မှာ X++ ကုဒ်ဥပမာတွေ ပါဝင်တဲ့ ဇယားနဲ့ ဖောင်ထဲကို display method တစ်ခုထည့်ဖို့ class extension ကို ဘယ်လိုသုံးရမလဲဆိုတာ ရှင်းပြပါမယ်။


ဤစာမျက်နှာကို လူများတတ်နိုင်သမျှ ဝင်ရောက်ကြည့်ရှုနိုင်စေရန်အတွက် ဤစာမျက်နှာကို အင်္ဂလိပ်မှ စက်ဖြင့် ဘာသာပြန်ထားခြင်းဖြစ်ပါသည်။ ကံမကောင်းစွာဖြင့်၊ စက်ဘာသာပြန်ခြင်းသည် ပြီးပြည့်စုံသောနည်းပညာမဟုတ်သေးသောကြောင့် အမှားအယွင်းများဖြစ်ပေါ်လာနိုင်သည်။ သင်နှစ်သက်ပါက မူရင်းအင်္ဂလိပ်ဗားရှင်းကို ဤနေရာတွင် ကြည့်ရှုနိုင်ပါသည်။

Add Display or Edit Method via Extension in Dynamics 365

Dynamics မှာ display ဒါမှမဟုတ် edit methods တွေကိုသုံးဖို့စီစဉ်တာက သင့်ရဲ့ solution ကို တခြားနည်းလမ်းနဲ့ ဒီဇိုင်းဆွဲလို့ရမလားဆိုတာ စဉ်းစားသင့်ပေမယ့် တစ်ခါတလေမှာ အဲဒါတွေက အကောင်းဆုံးနည်းလမ်းပါပဲ။

Dynamics နဲ့ Axapta ရဲ့ ယခင်ဗားရှင်းတွေမှာ ဇယားတွေနဲ့ ဖောင်တွေမှာ display ဒါမှမဟုတ် edit method တွေ ဖန်တီးဖို့ အရမ်းလွယ်ကူခဲ့ပေမယ့် မကြာသေးခင်က Dynamics 365 မှာ ကျွန်တော့်ရဲ့ ပထမဆုံး edit method ကို လုပ်ရတဲ့အခါ လုပ်နည်းက နည်းနည်းကွဲပြားတာကို တွေ့ရှိခဲ့ပါတယ်။

အသုံးဝင်တဲ့ နည်းလမ်းတွေ အများကြီးရှိပေမယ့် ကျွန်တော် အကောင်းဆုံးလို့ ယူဆတဲ့ နည်းလမ်းကတော့ (အလိုလိုသိနိုင်စွမ်းနဲ့ ကုဒ်လှပမှု နှစ်မျိုးလုံးမှာ) class extension ကို အသုံးပြုခြင်းပါပဲ။ ဟုတ်ကဲ့၊ class extension တွေကို class တွေမဟုတ်တဲ့ တခြား element အမျိုးအစားတွေကို method တွေထည့်ဖို့ အသုံးပြုနိုင်ပါတယ် - ဒီကိစ္စမှာတော့ table ပါ၊ ဒါပေမယ့် form တွေအတွက်လည်း အလုပ်လုပ်ပါတယ်။

အရင်ဆုံး class အသစ်တစ်ခု ဖန်တီးပါ။ သင်ကြိုက်နှစ်သက်ရာ နာမည်ပေးနိုင်ပေမယ့် ဘာကြောင့်မှန်းမသိပေမယ့် "_Extension" နောက်မှာ ပါရပါမယ်။ CustTable မှာ display method တစ်ခုထည့်ဖို့ လိုအပ်တယ်လို့ ပြောရအောင်၊ ဥပမာ MyCustTable_Extension လို့ ခေါ်နိုင်ပါတယ်။

သင်ဘာတွေ extending လုပ်နေလဲဆိုတာ system ကိုသိစေဖို့ class ကို ExtensionOf နဲ့ အလှဆင်ထားရပါမယ်။ ဥပမာ -

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
}

Dynamics ရဲ့ ယခင်ဗားရှင်းတွေမှာ table ပေါ်မှာ တိုက်ရိုက်လုပ်ခဲ့သလိုပဲ အခု ဒီ class မှာ display method ကို implement လုပ်လို့ရပါပြီ - "this" က table ကိုတောင် reference လုပ်တာမို့ field တွေနဲ့ တခြား method တွေကို access လုပ်နိုင်ပါတယ်။

ဥပမာအားဖြင့်၊ ဖောက်သည်၏ အကောင့်နံပါတ်ကို ပြန်ပေးရုံသာ ရိုးရှင်းသော (နှင့် လုံးဝအသုံးမဝင်သော) display method ပါသည့် class တစ်ခုသည် ဤကဲ့သို့ ဖြစ်နိုင်သည်။

[ExtensionOf(tableStr(CustTable))]
public final class MyCustTable_Extension
{
    public display CustAccount displayAccountNum()
    {
        ;

        return this.AccountNum;
    }
}

အခုဆိုရင် form တစ်ခု (ဒါမှမဟုတ် form extension ကို တိုက်ရိုက်တည်းဖြတ်လို့မရရင်) ထဲကို display method ထည့်ဖို့အတွက် form ထဲကို ကိုယ်တိုင် field တစ်ခုထည့်ရမှာဖြစ်ပြီး မှန်ကန်တဲ့ type (ဒီဥပမာမှာ string) ကိုသုံးဖို့ သေချာအောင်လုပ်ရပါမယ်။

ထို့နောက် control တွင် DataSource ကို CustTable (သို့မဟုတ် သင့် CustTable data source ၏ အမည် မည်သို့ပင်ဖြစ်စေ) နှင့် DataMethod ကို MyCustTable_Extension.displayAccountNum (class name ကို ထည့်သွင်းရန် သေချာပါစေ၊ မဟုတ်ပါက compiler သည် method ကို ရှာမတွေ့နိုင်ပါ) ဟု သတ်မှတ်ရမည်။

ပြီးတော့ ပြီးပါပြီ :-)

အပ်ဒိတ်- form ထဲကို display method ထည့်တဲ့အခါ extension class name ထည့်ဖို့ မလိုအပ်တော့ပေမယ့်၊ မူလထုတ်ဝေချိန်မှာတော့ ထည့်ဖို့ မလိုအပ်တော့ပါဘူး။ စာဖတ်သူတချို့က ဗားရှင်းအဟောင်းတွေကိုပဲ သုံးနေကြသေးရင် ဒီအချက်အလက်ကို ဒီမှာထားခဲ့ပါမယ်။

နောက်ထပ်စာဖတ်ခြင်း။

ဤပို့စ်ကို သင်နှစ်သက်ပါက၊ ဤအကြံပြုချက်များကို သင်လည်း နှစ်သက်နိုင်ပါသည်-


Bluesky တွင်မျှဝေပါ။Facebook တွင်မျှဝေပါ။LinkedIn တွင်မျှဝေပါ။Tumblr တွင်မျှဝေပါ။X တွင်မျှဝေပါ။LinkedIn တွင်မျှဝေပါ။ပင်တရက်စ်တွင် ပင်ထားပါ

Mikkel Christensen

စာရေးသူအကြောင်း

Mikkel Christensen
မိုက်ကယ် သည် miklix.com ၏ ဖန်တီးရှင်နှင့် ပိုင်ရှင်ဖြစ်သည်။ သူသည် ပရော်ဖက်ရှင်နယ် ကွန်ပြူတာ ပရိုဂရမ်မာ/ဆော့ဖ်ဝဲလ် တီထွင်သူအဖြစ် နှစ်ပေါင်း 20 ကျော် အတွေ့အကြုံရှိပြီး ဥရောပ အိုင်တီကော်ပိုရေးရှင်းကြီးတစ်ခုတွင် လက်ရှိအချိန်ပြည့် အလုပ်ခန့်ထားသည်။ ဘလော့ဂ်မရေးဖြစ်သောအခါတွင် သူသည် ၎င်း၏အားလပ်ချိန်များကို စိတ်ဝင်စားမှု၊ ဝါသနာနှင့် လှုပ်ရှားမှုများစွာတွင် ဖြုန်းတီးခဲ့ပြီး၊ ဤဝဘ်ဆိုက်တွင် ဖော်ပြထားသော အကြောင်းအရာမျိုးစုံကို အတိုင်းအတာတစ်ခုအထိ ထင်ဟပ်စေနိုင်သည်။