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#

LayerFile
ControllerUdfController, UdtController, UDFSearchController
HelperUDFMetaHelper.cs, UdfHelper.cs, UdtHelper.cs, MnxEFModel/Helper/UDFSearch/, ImportUdfFieldsHelper.cs, MnxEFModel/Helper/InventorUdfUpload/