DataPerCompany must be explicitly set on table objects (AC0008)

In projects where company data isolation matters, table objects must explicitly define the DataPerCompany property. Relying on implicit defaults makes the data scope unclear and can lead to incorrect assumptions about whether data is shared across companies or stored per company.

Explicitly declaring this property ensures that the design intent is clear and documented in the code, preventing data isolation issues in multi-company environments.

Note: This rule is disabled by default. Enable it in your project’s .editorconfig or ruleset file if you want to enforce explicit DataPerCompany declarations.

Example

The following table does not explicitly define DataPerCompany:

table 50100 MyTable // The table object does not explicitly define the DataPerCompany property. [AC0008]
{
    fields
    {
        field(1; MyField; Integer) { }
    }
}

To fix this, explicitly set the property:

table 50100 MyTable
{
    DataPerCompany = true;

    fields
    {
        field(1; MyField; Integer) { }
    }
}