Friday, October 21, 2022

Look up method on D365FO form control for cross company relationship


    [FormControlEventHandler(formControlStr(SystemParameters, ARTaxParametersGrid_TaxGroup), FormControlEventType::Lookup)]

    public static void ARTaxParametersGrid_TaxGroup_OnLookup(FormControl sender, FormControlEventArgs e)

{

SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(TaxGroupHeading),sender);

Query query = new Query();

IntARTaxParameters arTaxParm = sender.formRun().dataSource(formDataSourceStr(SystemParameters,IntARTaxParameters)).cursor();    

QueryBuildDataSource qbdsTaxGroupHeading = query.addDataSource(tableNum(TaxGroupHeading));

        qbdsTaxGroupHeading.company(strFmt(arTaxParm.LegalEntityDataAreaId));

qbdsTaxGroupHeading.relations(true);

        qbdsTaxGroupHeading.addRange(fieldNum(TaxGroupHeading,DataAreaId)).value(arTaxParm.LegalEntityDataAreaId);

sysTableLookup.addLookupfield(fieldNum(TaxGroupHeading,TaxGroup));

    sysTableLookup.parmQuery(query);

    sysTableLookup.performFormLookup();

FormControlCancelableSuperEventArgs ce = e as FormControlCancelableSuperEventArgs;

//cancel super() to prevent error.

 ce.CancelSuperCall();

}

No comments:

Post a Comment