Miklix

Креирање поља за претрагу за финансијску димензију у Динамицс 365

Објављено: 16. фебруар 2025. 11:39:10 UTC
Последње ажурирано: 12. јануар 2026. 08:56:36 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 за поље, а затим изаберите „Копирај метод обрађивача догађаја“. Затим можете да налепите празан метод обрађивача догађаја у класу и да га одатле уредите.

Напомена: Већина овога ће радити и за 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);
}

Даље читање

Ако сте уживали у овом посту, можда ће вам се свидети и ови предлози:


Поделите на БлуескиПоделите на ФејсбукуДелите на ЛинкедИнуПодели на Тумблр-уПодели на КсДелите на ЛинкедИнуПин на Пинтерест-у

Миккел Цхристенсен

О аутору

Миккел Цхристенсен
Миккел је креатор и власник миклик.цом. Има преко 20 година искуства као професионални компјутерски програмер/програмер софтвера и тренутно је запослен са пуним радним временом у великој европској ИТ корпорацији. Када не пише блог, своје слободно време проводи на широком спектру интересовања, хобија и активности, што се у извесној мери може одразити на разноврсност тема обрађених на овој веб страници.