
I had lookup fields (type:int64, Extended from RefRecId) and I had written lookup filtering code for them but I had to convert them into strings ( I had added relations to make them lookup fields) But since they are "String" instead of "reference group" my code doesn't work. How can I filter them when they are 'string'. Here is my code for filtering for reference groups:
[FormControlEventHandler(formControlStr(InventSite, InventSite_MyField), FormControlEventType::Lookup)]
public static void InventSite_MAndEDay_OnLookup(FormControl sender, FormControlEventArgs e)
{
SysReferenceTableLookup tableLookup = SysReferenceTableLookup::newParameters(tableNum(ReferenceTables), sender);
Query query = new Query();
InventSite inventSite;
QueryBuildDataSource qbds = query.addDataSource(tableNum(ReferenceTables));
qbds.addRange(fieldNum(ReferenceTables,ReferenceTablesType )).value(queryValue(ReferenceTablesTypeBaseEnum::MyField));
tableLookup.addLookupField(fieldNum(ReferenceTables, Name ));
tableLookup.addLookupField(fieldNum(ReferenceTables, Description ));
tableLookup.parmQuery(query);
tableLookup.performFormLookup();
FormControlCancelableSuperEventArgs ce = e as FormControlCancelableSuperEventArgs;
ce.CancelSuperCall();
}
Can you help me with this, please?
Thanks and regards...
Your code looks all right to me for an RefRecId field; I suspect that the probem lies somewhere else.
What do you mean by "I had to convert them into strings ( I had added relations to make them lookup fields)". It sounds strange - and it's probably wrong.
Can you please confirm the type of InventSite_MyField? Your code expects that is a reference group and it'll fail if not.
By the way, please ask questions about D365FO in D365FO forums (such as Dynamics 365 Finance Forum), not in the Dynamics AX forum.