Skip to main content
Every field, action, control, and named object introduced by this extension carries the HAC suffix (short for Hamwi Computer Software).

Why

Microsoft requires AppSource extensions to use a unique object-name suffix on every custom element so two extensions installed in the same tenant cannot accidentally pick the same identifier. HAC is the publisher’s reserved suffix.

Where it applies

Where it does not apply

  • Standard BC field names that the extension uses without modifying (e.g. Employee."No.").
  • Captions shown to end users — captions are localised display strings and do not need to be unique.
  • File names in BC-Human-Resource-AL/src/ — these follow the BC tooling convention Tab70003132.EmployeeLoan.al.
  • React component names, ASP.NET class names — these live outside BC’s object namespace.

Adding new objects

When extending this codebase:
  1. Pick the next available object ID in the right sub-range (see Object-ID allocation).
  2. Append HAC to the object name and to every field name.
  3. Add the new object to PermissionSet.HumanResourceHAC.al (and to extensionsPermissionSet.xml for AppSource).
  4. If the new field is on a tableextension, use a field number in the publisher’s reserved range (e.g. 70003100 upwards on the Employee table).
A linter / CI rule on the AL build will eventually surface objects missing the suffix; until then, code review is the safety net.