How to add custom fields to DirPartyQuickCreateForm in D365 finance and operations?
While working with Dynamics 365 Finance & Operations, I recently explored how custom fields added to CustTable automatically appear on DirPartyQuickCreateForm — even though the form itself doesn’t explicitly reference CustTable controls.
At first glance, this feels unexpected. But once you understand the party framework and dynamic control generation, it makes perfect sense.
Let’s break it down 👇
🔍 The Key Insight
DirPartyQuickCreateForm does NOT hardcode individual fields.
Instead, it dynamically generates controls at runtime using:
This means:
The form adapts itself based on the table context (Customer, Vendor, or Party).
Scenario
Lets suppose we have to add a custom field Registration Id on the new customer form.
Now if we check the form name it is DirPartyQuickCreateForm.
CustTable datasource is not available in this form. As you can see in this screenshot.
🧠 What’s Happening Behind the Scenes
Inside the form, a method like this is used:
/// <summary>
/// Populate the dynamic field groups
/// </summary>
private void addDynamicControls()
{
#DirParty
controlHeader = this.form().design(1).control(formcontrolstr(DirPartyQuickCreateForm, DynamicHeader));
controlHeader.dataSource(fbds.id());
controlHeader.dataGroup(#quickCreateHeader);
controlHeader.autoDataGroup(true);
controlDetails = this.form().design(1).control(formcontrolstr(DirPartyQuickCreateForm, DynamicDetail));
controlDetails.dataSource(fbds.id());
controlDetails.dataGroup(#quickCreateDetails);
controlDetails.autoDataGroup(true);
}
This tells the framework:
And here’s the important part:
When quick create is launched from Customers:
✔ No form extension
✔ No control addition
✔ No override
Recommended by LinkedIn
🏗 Why CustTable Fields Appear on a Party Form
Because:
So when you extend:
Your field appears exactly where users expect it.
Create the extension of CustTable and add your custom field in extension.
Now the main step is here. Locate the quickCreateDetails fields group and Drag and drop the custom field to this group (you can copy and paste).
Now Build and Synch the project and refresh the front and and add a new customer.
✅ Supported & Best-Practice Approach
If your field is:
And always:
This approach is:
🎯 Final Takeaway
The real power of D365 F&O lies in understanding how the framework thinks.
Once you work with it — not against it — you’ll realize:
You often don’t need more code… just the right extension point.
💬 Have you ever been surprised by a form behaving “magically” in D365 F&O? Let’s discuss in the comments.
#Dynamics365FO #Xpp #D365Development #ERP #Microsoft #CustTable #DirParty #FinOps
Great article.
Well explained