UDF & UDT#
UDF — User Defined Fields. Arbitrary per-tenant columns added to standard entities (Part, WO, PO, Customer, etc.) without changing the schema.
UDT — User Defined Tables. Whole per-tenant tables for domain data that doesn’t fit an existing entity.
UDF#
UDFMetaHelper— the field metadata: which entity, field name, type, validation.UdfHelper— reading / writing UDF values against a record.ImportUdfFieldsHelper/ImportInvtFieldsHelper/ etc. — bulk import of UDF values.UDFSearch/— search across UDF-augmented records.
UDFs are surfaced in the standard entity UIs (Part Master, Work Order, PO, etc.) — the field metadata drives the rendered form.
UDT#
UdtHelper— CRUD on user-defined table definitions and their rows.- Records in a UDT can be linked to standard entities and can carry their own UDFs.
Business rules#
- UDF definitions are versioned per tenant — never delete a UDF that has data unless you archive the values first.
- Types are typed (string / int / date / decimal) — validation happens at helper level, not just UI.
- UDF search must respect the user’s per-module permissions — you shouldn’t be able to search UDFs on a module you can’t read.
Where it lives#
| Layer | File |
|---|---|
| Controller | UdfController, UdtController, UDFSearchController |
| Helper | UDFMetaHelper.cs, UdfHelper.cs, UdtHelper.cs, MnxEFModel/Helper/UDFSearch/, ImportUdfFieldsHelper.cs, MnxEFModel/Helper/InventorUdfUpload/ |