Að búa til uppflettingarreit fyrir fjárhagsvídd í Dynamics 365
Birt: 19. mars 2025 kl. 21:35:37 UTC
Þessi grein útskýrir hvernig á að búa til uppflettingarreit fyrir fjárhagsvídd í Dynamics 365 for Operations, þar á meðal X++ kóðadæmi.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
Upplýsingarnar í þessari færslu byggja á Dynamics 365 fyrir rekstur, en flestar þeirra munu einnig virka fyrir Dynamics AX 2012 (sjá hér að neðan).
Ég var nýlega fenginn til að búa til nýtt reit þar sem ætti að vera mögulegt að tilgreina eina fjárhagsvídd, í þessu tilfelli Vöru. Auðvitað ætti nýi reiturinn einnig að geta skoðað gildar breytur þessarar víddar.
Þetta er aðeins flóknara en venjulegt uppfletting í töflu, en ef þú veist hvernig á að gera það, þá er það ekki svo slæmt.
Sem betur fer veitir staðlaða forritið þægilegt uppflettingarform (DimensionLookup) sem hægt er að nota í þessu skyni, ef þú segir bara hvaða víddaratriði á að leita að.
Fyrst þarftu að búa til sjálfan reitinn. Þetta getur verið byggt á reit úr töflu eða ritaraðferð, það skiptir ekki máli fyrir sjálfa uppflettinguna, en á einn eða annan hátt verður það að nota útvíkkanan gagnategund DimensionValue.
Þú þarft síðan að búa til OnLookup atburðahandlareiginleika fyrir reitinn. Til að búa til atburðahandlareiginleika, hægri-smelltu á OnLookup atburðinn fyrir reitinn, og veldu "Afrita aðferð við atburðahandlunar". Þá getur þú límt tóma aðferð við atburðahandlunar inn í bekk og breytt henni þaðan.
Athugið: Flest af þessu mun einnig virka fyrir Dynamics AX 2012, en í stað þess að búa til atburðahandlareiginleika getur þú ofur-skrásett uppflettingaraðferð reitsins.
Atburðahandlareiginleikinn þarf að líta út eins og þetta (skiptu út nafninu á formi og reitinn af þörf):
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);
}