Dynamics 365 में एक्सटेंशन के माध्यम से डिस्प्ले या संपादन विधि जोड़ें
प्रकाशित: 16 फ़रवरी 2025 को 11:56:17 am UTC बजे
आखरी अपडेट: 12 जनवरी 2026 को 8:57:34 am 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
{
}
अब आप इस क्लास में अपना डिस्प्ले मेथड इम्प्लीमेंट कर सकते हैं, जैसा कि आपने Dynamics के पुराने वर्शन में सीधे टेबल पर किया होगा - "this" टेबल को रेफरेंस भी करता है, इसलिए आप फील्ड्स और दूसरे मेथड्स को एक्सेस कर सकते हैं।
उदाहरण के लिए, एक क्लास जिसमें एक सिंपल (और पूरी तरह से बेकार) डिस्प्ले मेथड है जो सिर्फ़ कस्टमर का अकाउंट नंबर दिखाता है, वह ऐसा दिख सकता है:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
अब, किसी फ़ॉर्म में डिस्प्ले मेथड जोड़ने के लिए (या फ़ॉर्म एक्सटेंशन, अगर आप सीधे फ़ॉर्म को एडिट नहीं कर सकते हैं), आपको फ़ॉर्म में मैन्युअली एक फ़ील्ड जोड़ना होगा और सही टाइप (इस उदाहरण में स्ट्रिंग) का इस्तेमाल करना होगा।
फिर, कंट्रोल पर आप DataSource को CustTable (या आपके CustTable डेटा सोर्स का जो भी नाम हो) और DataMethod को MyCustTable_Extension.displayAccountNum पर सेट करेंगे (क्लास का नाम ज़रूर शामिल करें, नहीं तो कंपाइलर मेथड नहीं ढूंढ पाएगा)।
और आपने कल लिया :-)
अपडेट: अब किसी फ़ॉर्म में डिस्प्ले मेथड जोड़ते समय एक्सटेंशन क्लास का नाम डालना ज़रूरी नहीं है, लेकिन पब्लिश करते समय यह ज़रूरी था। मैं यह जानकारी यहाँ इसलिए दे रहा हूँ क्योंकि हो सकता है कि कुछ रीडर अभी भी पुराने वर्शन इस्तेमाल कर रहे हों।
अग्रिम पठन
यदि आपको यह पोस्ट पसंद आई हो, तो आपको ये सुझाव भी पसंद आ सकते हैं:
- Dynamics 365 में वित्तीय आयाम के लिए लुकअप फ़ील्ड बनाना
- हाल ही के प्रोजेक्ट लोड करते समय Visual Studio स्टार्टअप पर हैंग हो जाता है
- Dynamics 365 में X++ कोड से वित्तीय आयाम मान अपडेट करें
