Miklix

Paggawa ng Lookup Field para sa Financial Dimension sa Dynamics 365

Nai-publish: Marso 19, 2025 nang 9:35:41 PM UTC

Ipinapaliwanag ng artikulong ito kung paano gumawa ng lookup field para sa isang dimensyon sa pananalapi sa Dynamics 365 for Operations, kabilang ang isang halimbawa ng X++ code.


Ang pahinang ito ay isinalin sa makina mula sa Ingles upang gawin itong naa-access sa pinakamaraming tao hangga't maaari. Sa kasamaang palad, ang pagsasalin ng makina ay hindi pa isang perpektong teknolohiya, kaya maaaring mangyari ang mga error. Kung gusto mo, maaari mong tingnan ang orihinal na bersyong Ingles dito:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

Ang impormasyon sa post na ito ay batay sa Dynamics 365 for Operations, ngunit karamihan nito ay gagana rin para sa Dynamics AX 2012 (tingnan sa ibaba).

Kamakailan lamang, inatasan ako na lumikha ng isang bagong field kung saan maaari ring tukuyin ang isang solong financial dimension, sa kasong ito ay ang Product. Siyempre, ang bagong field ay dapat ding kayang maghanap ng mga wastong halaga ng dimensyong ito.

Medyo mas kumplikado ito kaysa sa isang regular na lookup sa isang table, ngunit kung alam mo kung paano, hindi naman ito mahirap.

Sa kabutihang palad, ang standard na application ay nagbibigay ng isang maginhawang lookup form (DimensionLookup) na maaaring gamitin para sa layuning ito, kung sasabihin mo lamang kung aling dimension attribute ang hahanapin.

Una, kailangan mong lumikha ng field para sa form. Maaari itong ibatay sa isang table field o isang edit method, hindi mahalaga para sa lookup mismo, ngunit sa isang paraan o iba pa, kinakailangan itong gumamit ng DimensionValue na extended data type.

Kailangan mo ring lumikha ng isang OnLookup na event handler para sa field. Upang lumikha ng event handler, i-right-click ang OnLookup event para sa field, pagkatapos piliin ang "Copy event handler method". Maaari mong ipaste ang isang walang laman na event handler method sa isang klase at i-edit ito mula doon.

Pansin: Karamihan sa mga ito ay gagana rin para sa Dynamics AX 2012, ngunit sa halip na lumikha ng isang event handler, maaari mong i-override ang lookup method ng form field.

Ang event handler ay dapat na ganito (palitan ang pangalan ng form at pangalan ng field kung kinakailangan):

[
    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);
}
Ibahagi sa BlueskyIbahagi sa FacebookIbahagi sa LinkedInIbahagi sa TumblrIbahagi sa XIbahagi sa LinkedInI-pin sa Pinterest

Mikkel Christensen

Tungkol sa May-akda

Mikkel Christensen
Si Mikkel ang lumikha at may-ari ng miklix.com. Siya ay may higit sa 20 taong karanasan bilang isang propesyonal na computer programmer/software developer at kasalukuyang nagtatrabaho ng full-time para sa isang malaking European IT corporation. Kapag hindi nagba-blog, ginugugol niya ang kanyang bakanteng oras sa isang malawak na hanay ng mga interes, libangan, at aktibidad, na maaaring sa ilang lawak ay makikita sa iba't ibang mga paksang sakop sa website na ito.