Een opzoekveld maken voor een financiële dimensie in Dynamics 365
Gepubliceerd: 16 februari 2025 om 11:33:56 UTC
Laatst bijgewerkt: 12 januari 2026 om 08:56:12 UTC
Dit artikel legt uit hoe u een opzoekveld voor een financiële dimensie in Dynamics 365 for Operations kunt maken, inclusief een voorbeeld van X++-code.
Creating a Lookup Field for a Financial Dimension in Dynamics 365
De informatie in dit bericht is gebaseerd op Dynamics 365 for Operations, maar het meeste ervan is ook van toepassing op Dynamics AX 2012 (zie hieronder).
Onlangs kreeg ik de opdracht om een nieuw veld te creëren waarin één financiële dimensie, in dit geval Product, kan worden gespecificeerd. Uiteraard moet het nieuwe veld ook de geldige waarden van deze dimensie kunnen opzoeken.
Dit is iets ingewikkelder dan een gewone opzoekactie in een tabel, maar als je weet hoe het moet, valt het reuze mee.
Gelukkig biedt de standaardtoepassing een handig opzoekformulier (DimensionLookup) dat hiervoor gebruikt kan worden, als u maar aangeeft naar welk dimensiekenmerk gezocht moet worden.
Allereerst moet je het formulierveld zelf aanmaken. Dit kan gebaseerd zijn op een tabelveld of een bewerkingsmethode; dat maakt voor de opzoekfunctie zelf niet uit, maar het moet in ieder geval gebruikmaken van het uitgebreide gegevenstype DimensionValue.
Vervolgens moet u een OnLookup-gebeurtenisafhandelaar voor het veld maken. Om een gebeurtenisafhandelaar te maken, klikt u met de rechtermuisknop op de OnLookup-gebeurtenis voor het veld en kiest u 'Gebeurtenisafhandelaarmethode kopiëren'. U kunt vervolgens een lege gebeurtenisafhandelaarmethode in een klasse plakken en deze daar bewerken.
Opmerking: Het meeste hiervan werkt ook voor Dynamics AX 2012, maar in plaats van een gebeurtenisafhandelaar te maken, kunt u de opzoekmethode van het formulierveld overschrijven.
De gebeurtenishandler moet er ongeveer zo uitzien (vervang de formuliernaam en veldnaam indien nodig):
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);
}
Verder lezen
Als je dit bericht leuk vond, vind je deze suggesties misschien ook interessant:
- Zet Dynamics 365 FO Virtual Machine Dev of Test in de onderhoudsmodus
- Visual Studio hangt bij het opstarten tijdens het laden van recente projecten
- Weergave- of bewerkingsmethode toevoegen via extensie in Dynamics 365
