Skip to main content

Documentation Index

Fetch the complete documentation index at: https://human-resource-docs.ha-consultancy.com/llms.txt

Use this file to discover all available pages before exploring further.

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

ElementExample
TableEmployee Loan HAC
Field on a new tableCode HAC, Amount HAC, Employee HAC
Field added to a standard BC table via tableextensionBranch HAC on Employee, Shift HAC on Employee Templ.
PageEmployee Loan HAC
CodeunitInstall Codeunit HAC, HR Demo Data HAC
EnumAnnouncement Severity HAC, Announc. Target Audience HAC
Permission setHuman Resource HAC
Control add-inRoster Scheduler HAC
Web service service nameAPIManageEmployee (the service name is exposed externally without the suffix to keep URLs readable; the underlying codeunit name carries it)

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.