Креирање поља за претрагу за финансијску димензију у Динамицс 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);
}
Даље читање
Ако сте уживали у овом посту, можда ће вам се свидети и ови предлози:
- Ажурирајте вредност финансијске димензије из Кс++ кода у Динамицс 365
- Висуал Студио виси при покретању док учитава недавне пројекте
- Ставите Динамицс 365 ФО Виртуал Мацхине Дев или Тест у режим одржавања
