
Hi everyone,
I’m customizing a standard D365 Finance & Operations form (for example WMSPickingRegistration). I added an additional table datasource (e.g., SalesTable / SalesPool) and joined it to a standard datasource so users can use Personalize → Insert columns to add fields like SalesPoolId, and also get the standard reference tooltip/hover behavior (showing the related name).
This works, but the problem is:
When I add a new table datasource to the form, Personalize → Insert columns shows all fields from that table, which is too many and confusing for users. I only want a small subset to be available (for example only SalesPoolId and maybe the pool name), not the whole table.
What I tried / considered:
Adding the extra table datasource and joining it to the main datasource (works, but Insert columns shows every field)
Using a display method instead (limits what I show, but then I lose the standard reference tooltip behavior)
Question:
Is there any supported way to restrict which fields from the added/joined datasource appear in Personalize → Insert columns (e.g., show only selected fields), without creating a separate view/table or relying on display methods?
Any best-practice approach is appreciated (form patterns, field groups, views, metadata settings, etc.).
Thanks!
Update:
I solved it by creating a custom View that returns only the fields I need (e.g. PickingRouteId and SalesPoolId) by joining WMSPickingRouteLink to SalesTable and filtering InventTransType = Sales.
Then I added that View as a datasource in the form extension and linked it to the main route datasource (using PickingRouteId) with LinkType = OuterJoin, so the field becomes available in Personalize → Insert columns without showing all fields from SalesTable.