Miklix

Dynamics 365 में वित्तीय आयाम के लिए लुकअप फ़ील्ड बनाना

प्रकाशित: 16 फ़रवरी 2025 को 11:34:33 am UTC बजे

यह आलेख बताता है कि Dynamics 365 for Operations में वित्तीय आयाम के लिए लुकअप फ़ील्ड कैसे बनाया जाए, जिसमें X++ कोड उदाहरण भी शामिल है.


इस पृष्ठ को अंग्रेजी से मशीन द्वारा अनुवादित किया गया है ताकि इसे अधिक से अधिक लोगों तक पहुँचाया जा सके। दुर्भाग्य से, मशीन अनुवाद अभी तक एक पूर्ण तकनीक नहीं है, इसलिए त्रुटियाँ हो सकती हैं। यदि आप चाहें, तो आप मूल अंग्रेजी संस्करण यहाँ देख सकते हैं:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

इस पोस्ट में दी गई जानकारी Dynamics 365 for Operations पर आधारित है, लेकिन इसका अधिकांश भाग Dynamics AX 2012 के लिए भी काम करेगा (नीचे देखें).

मुझे हाल ही में एक नया फ़ील्ड बनाने का काम सौंपा गया था जिसमें एक एकल वित्तीय आयाम निर्दिष्ट करना संभव होना चाहिए, इस मामले में उत्पाद। बेशक, नया फ़ील्ड इस आयाम के मान्य मानों को देखने में भी सक्षम होना चाहिए।

यह किसी तालिका में नियमित लुकअप की तुलना में थोड़ा अधिक जटिल है, लेकिन यदि आप जानते हैं कि कैसे, तो यह वास्तव में इतना बुरा नहीं है।

सौभाग्य से, मानक अनुप्रयोग एक सुविधाजनक लुकअप फॉर्म (डाइमेंशन लुकअप) प्रदान करता है जिसका उपयोग इस उद्देश्य के लिए किया जा सकता है, यदि आप उसे यह बता दें कि किस आयाम विशेषता को लुकअप करना है।

सबसे पहले, आपको फ़ॉर्म फ़ील्ड खुद बनाना होगा। यह टेबल फ़ील्ड या एडिट विधि पर आधारित हो सकता है, लुकअप के लिए इससे कोई फ़र्क नहीं पड़ता, लेकिन किसी न किसी तरह से इसे DimensionValue विस्तारित डेटा प्रकार का उपयोग करना होगा।

फिर आपको फ़ील्ड के लिए OnLookup इवेंट हैंडलर बनाना होगा। इवेंट हैंडलर बनाने के लिए, फ़ील्ड के लिए OnLookup इवेंट पर राइट-क्लिक करें, फिर "इवेंट हैंडलर विधि कॉपी करें" चुनें। फिर आप किसी खाली इवेंट हैंडलर विधि को क्लास में पेस्ट कर सकते हैं और वहाँ से उसे संपादित कर सकते हैं।

सूचना: इनमें से अधिकांश Dynamics AX 2012 के लिए भी काम करेंगे, लेकिन इवेंट हैंडलर बनाने के बजाय, आप फ़ॉर्म फ़ील्ड की लुकअप विधि को ओवरराइड कर सकते हैं।

इवेंट हैंडलर कुछ इस तरह दिखना चाहिए (आवश्यकतानुसार फॉर्म नाम और फ़ील्ड नाम बदलें):

[
    FormControlEventHandler(formControlStr( MyForm,
                                            MyProductDimField),
                            FormControlEventType::Lookup)
]
public static void MyProductDimField_OnLookup(  FormControl _sender,
                                                FormControlEventArgs _e)
{
    FormStringControl   control;
    Args                args;
    FormRun             formRun;
    DimensionAttribute  dimAttribute;
    ;

    dimAttribute    =   DimensionAttribute::findByName('Product');
    args            =   new Args();
    args.record(dimAttribute);
    args.caller(_sender);
    args.name(formStr(DimensionLookup));
    formRun         =   classFactory.formRunClass(args);formRun.init();
    control         =   _sender as FormStringControl;
    control.performFormLookup(formRun);
}
ब्लूस्काई पर साझा करेंफेसबुक पर सांझा करेंलिंक्डइन पर साझा करेंटम्बलर पर साझा करेंX पर साझा करेंलिंक्डइन पर साझा करेंPinterest पर पिन करें

मिकेल बैंग क्रिस्टेंसन

लेखक के बारे में

मिकेल बैंग क्रिस्टेंसन
मिकेल miklix.com के निर्माता और मालिक हैं। उन्हें पेशेवर कंप्यूटर प्रोग्रामर/सॉफ्टवेयर डेवलपर के रूप में 20 से अधिक वर्षों का अनुभव है और वर्तमान में वे एक बड़े यूरोपीय आईटी निगम के लिए पूर्णकालिक रूप से कार्यरत हैं। जब वे ब्लॉगिंग नहीं करते हैं, तो वे अपना खाली समय विभिन्न प्रकार की रुचियों, शौक और गतिविधियों में बिताते हैं, जो कुछ हद तक इस वेबसाइट पर शामिल किए गए विषयों की विविधता में परिलक्षित हो सकते हैं।