> ## Documentation Index
> Fetch the complete documentation index at: https://docs.farmtrace.co.za/llms.txt
> Use this file to discover all available pages before exploring further.

# Table screens

> Configure the fields used by a normal table screen and diagnose missing fields.

# Table screens

## Normal table screen

For a normal table screen, include:

* `@row.id`;
* any business identifier users need;
* every field users need to read;
* every field required by another app feature that uses the same downloaded table.

Example:

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "tableName": "Staff",
  "visible": true,
  "requestColumns": [
    "@row.id",
    "Id",
    "Full Name & ID",
    "Production Unit",
    "Contract Status"
  ]
}
```

### Automatically hidden system fields

The table screen hides the following fields even when they are downloaded:

* `Record Owner`
* `@row.id`
* `Date Created`
* `Date Modified`
* `Last Modified By`
* `Id`
* `Created By`

Their presence in `requestColumns` does not mean they will necessarily be shown to the user.

### If a field is missing from the screen

Check, in order:

1. `requestColumns`;
2. the current role's `addedColumns`;
3. the current role's `hideColumns`;
4. the actual source response.

Do not use `displayColumns` as the primary diagnostic because it does not currently control the table-screen fields.

***
