Miklix

ایجاد یک فیلد جستجو برای یک بعد مالی در Dynamics 365

منتشر شده: ۱۶ فوریهٔ ۲۰۲۵ ساعت ۱۱:۳۵:۲۵ (UTC)

این مقاله نحوه ایجاد یک فیلد جستجو برای یک بعد مالی در Dynamics 365 for Operations، از جمله یک مثال کد X++ را توضیح می دهد.


این صفحه ماشینی از انگلیسی ترجمه شد تا در دسترس هر چه بیشتر مردم باشد. متأسفانه، ترجمه ماشینی هنوز یک فناوری کامل نشده است، بنابراین ممکن است خطاهایی رخ دهد. در صورت تمایل می توانید نسخه اصلی انگلیسی را در اینجا مشاهده کنید:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

اطلاعات این بر اساس Dynamics 365 for Operations است، اما بیشتر آن برای Dynamics AX 2012 نیز کار می کند (به زیر مراجعه کنید).

من اخیرا وظیفه ایجاد یک زمینه جدید را بر عهده گرفتم که در آن باید بتوان یک بعد مالی واحد را مشخص کرد، در این مورد محصول. البته، فیلد جدید نیز باید بتواند مقادیر معتبر این بعد را جستجو کند.

این کمی پیچیده تر از یک جستجوی معمولی در یک جدول است، اما اگر بدانید چگونه، در واقع خیلی بد نیست.

خوشبختانه، برنامه استاندارد یک فرم جستجوی مناسب (DimensionLookup) را ارائه می دهد که می تواند برای این منظور استفاده شود، اگر فقط به آن بگویید که کدام ویژگی بعد را جستجو کند.

ابتدا باید خود فیلد فرم را ایجاد کنید. این می تواند بر اساس یک فیلد جدول یا یک روش ویرایش باشد، برای خود جستجو مهم نیست، اما به هر طریقی باید از نوع داده توسعه یافته DimensionValue استفاده کند.

سپس باید یک کنترل کننده رویداد OnLookup برای فیلد ایجاد کنید. برای ایجاد کنترل کننده رویداد، روی رویداد OnLookup برای فیلد کلیک راست کنید، سپس "Copy event handler method" را انتخاب کنید. سپس می توانید یک متد کنترل کننده رویداد خالی را در یک کلاس قرار دهید و آن را از آنجا ویرایش کنید.

متوجه: بیشتر این موارد برای 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);
}
در Bluesky به اشتراک بگذاریددر فیسبوک به اشتراک بگذاریددر لینکدین به اشتراک بگذاریددر Tumblr به اشتراک بگذاریددر X به اشتراک بگذاریددر لینکدین به اشتراک بگذاریدپین در پینترست

میکل بنگ کریستنسن

درباره نویسنده

میکل بنگ کریستنسن
مایکل خالق و صاحب miklix.com است. او بیش از 20 سال تجربه به عنوان یک برنامه نویس حرفه ای کامپیوتر / توسعه دهنده نرم افزار دارد و در حال حاضر به طور تمام وقت برای یک شرکت بزرگ فناوری اطلاعات اروپایی مشغول به کار است. هنگامی که وبلاگ نویسی نمی کند، اوقات فراغت خود را صرف مجموعه وسیعی از علایق، سرگرمی ها و فعالیت ها می کند، که ممکن است تا حدی در موضوعات مختلف پوشش داده شده در این وب سایت منعکس شود.