Miklix

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

Објављено: 16. фебруар 2025. 11:39:10 UTC

Овај чланак објашњава како да направите поље за претрагу за финансијску димензију у Динамицс 365 фор Оператионс, укључујући пример Кс++ кода.


Ова страница је машински преведена са енглеског како би била доступна што већем броју људи. Нажалост, машинско превођење још увек није усавршена технологија, тако да може доћи до грешака. Ако желите, можете погледати оригиналну енглеску верзију овде:

Creating a Lookup Field for a Financial Dimension in Dynamics 365

Информације у овом посту су засноване на Динамицс 365 фор Оператионс, али већина њих ће радити и за Динамицс АКС 2012 (погледајте испод).

Недавно сам добио задатак да креирам ново поље у којем би требало да буде могуће навести једну финансијску димензију, у овом случају Производ. Наравно, ново поље би такође требало да има могућност да тражи важеће вредности ове димензије.

Ово је мало компликованије од обичног тражења у табели, али ако знате како, заправо и није лоше.

На срећу, стандардна апликација пружа згодан образац за тражење (ДименсионЛоокуп) који се може користити у ту сврху, ако јој само кажете који атрибут димензије да тражи.

Прво, потребно је да креирате само поље обрасца. Ово може бити засновано на пољу табеле или методи за уређивање, није важно за само тражење, али на овај или онај начин мора да користи проширени тип података ДименсионВалуе.

Затим морате да креирате обрађивач догађаја ОнЛоокуп за поље. Да бисте креирали обрађивач догађаја, кликните десним тастером миша на догађај ОнЛоокуп за поље, а затим изаберите „Копирај метод руковаоца догађајима“. Затим можете да налепите празну методу за руковање догађајима у класу и одатле је уредите.

Напомена: Већина овога ће функционисати и за Динамицс АКС 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 година искуства као професионални компјутерски програмер/програмер софтвера и тренутно је запослен са пуним радним временом у великој европској ИТ корпорацији. Када не пише блог, своје слободно време проводи на широком спектру интересовања, хобија и активности, што се у извесној мери може одразити на разноврсност тема обрађених на овој веб страници.