---
id: object/page/9883
type: object
title: Page 9883 "Permissions Overview"
summary: Page 9883 "Permissions Overview" in Base Application (System.Security.AccessControl). 2 public procedures. Introduced in BC28, still in BC30, changed in BC29.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: "28"
  last_changed: "29"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 0772da1f10235a2795f9010a9c2dba08cdfa55215d5f79b1248fc38e5fee4904
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/Permissions/PermissionsOverview.Page.al
    title: src/Layers/W1/BaseApp/System/Permissions/PermissionsOverview.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
  - kind: learn
    url: https://learn.microsoft.com/dynamics365/business-central/ui-define-granular-permissions
    title: Define granular permissions
    date: null
    commit: null
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/ui-define-granular-permissions
  objects: []
  features: []
  topics:
    - topic/business-central/development-and-administration/administration-tasks-in-business-central/manage-access-to-business-central/grant-user-permissions
    - topic/dev-itpro/development/troubleshooting/troubleshooting-in-the-client
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/8947
object_type: page
object_id: 9883
name: Permissions Overview
namespace: System.Security.AccessControl
app: Base Application
extends: null
first_version: "28"
last_version: "30"
present_in:
  - "28"
  - "29"
  - "30"
changed_in:
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids:
  - docs/learn-smb-docs/business-central/ui-define-granular-permissions.md
counts:
  fields: 0
  procedures: 12
  events: 0
  subscribers: 0
  controls: 20
  actions: 1
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Page 9883 "Permissions Overview"

> Page 9883 "Permissions Overview" in Base Application (System.Security.AccessControl). 2 public procedures. Introduced in BC28, still in BC30, changed in BC29.

Base Application · System.Security.AccessControl · BC28-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/Permissions/PermissionsOverview.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Permissions Overview |
| SourceTable | Expanded Permission |
| PageType | List |
| UsageCategory | Administration |
| ApplicationArea | Basic, Suite |
| Permissions | tabledata "NAV App Installed App" = r |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| ObjectFilters | Object Type | `ObjTypeFilter` | Specifies object type filter. |
|  | Object ID | `ObjIDFilter` | Specifies the object ID filter. |
| RoleIDFilterGroup | Permission Set | `RoleIDFilter` | Specifies the permission set filter. |
| ScopeFilters | Scope | `ScopeFilter` | Specifies the scope filter. |
|  | Extension Name | `AppNameFilter` | Specifies the extension name filter. This will filter for permission sets included in the extension. |
| Permissions | Permission Set | `Rec."Role ID"` | Specifies the ID of the permission set that exist in the current database. This field is used internally. |
|  | RoleName | `Rec."Role Name"` | Specifies the name of the permission set. |
|  | ObjectType | `Rec."Object Type"` | Specifies the type of object that the permissions apply to in the current database. |
|  | ObjectID | `Rec."Object ID"` | Specifies the ID of the object the permission applies to. |
|  | ObjectName | `Rec."Object Name"` | Specifies the name of the object the permission applies to. |
|  | ReadPermission | `Rec."Read Permission"` | Specifies if the permission set has read permission to this object. The values for the field are blank, Yes, and Indirect. Indirect means permission only through another object. If the field is empty, the permission set does not have read permission. |
|  | InsertPermission | `Rec."Insert Permission"` | Specifies if the permission set has insert permission to this object. The values for the field are blank, Yes, and Indirect. Indirect means permission only through another object. If the field is empty, the permission set does not have insert permission. |
|  | ModifyPermission | `Rec."Modify Permission"` | Specifies if the permission set has modify permission to this object. The values for the field are blank, Yes, and Indirect. Indirect means permission only through another object. If the field is empty, the permission set does not have modify permission. |
|  | DeletePermission | `Rec."Delete Permission"` | Specifies if the permission set has delete permission to this object. The values for the field are blank, Yes, and Indirect. Indirect means permission only through another object. If the field is empty, the permission set does not have delete permission. |
|  | ExecutePermission | `Rec."Execute Permission"` | Specifies if the permission set has execute permission to this object. The values for the field are blank, Yes, and Indirect. Indirect means permission only through another object. If the field is empty, the permission set does not have execute permission. |
|  | SecurityFilter | `Rec."Security Filter"` | Specifies a security filter that applies to this permission set to limit the access that this permission set has to the data contained in this table. |
|  | Scope | `PermSetScope` | Specifies the scope of the permission set. |
|  | Extension Name | `AppName` | Specifies the name of the extension which defined the permission set. |
| FactBoxes | Security Groups | part [Page 9884 "Permission Set Security Groups"](../page/9884.md) | — |
|  | Users | part [Page 9885 "Permission Set Users"](../page/9885.md) | — |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Navigation | Permission Set Permissions | View or edit the permissions in the permission set. |  |

## Procedures

- `SetInitialRoleIDFilter(NewRoleIDFilter: Text[30])`: Sets the initial Role ID filter to apply when the page opens.
- `SetInitialObjectFilter(NewObjTypeFilter: Option None,"Table Data","Table",,"Report",,"Codeunit","XMLport",MenuSuite,"Page","Query",System; NewObjIDFilter: Text)`: Sets the initial object type and ID filters to apply when the page opens.

Plus 10 local procedures.

## Triggers

OnAfterGetRecord, OnAfterGetCurrRecord, OnOpenPage

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 9031 "Security Group"](../codeunit/9031.md) (2 calls: `LoadPermAssignmentBuffer → GetGroups`, `LoadPermAssignmentBuffer → GetMembers`)

## Recent changes

- 2026-07-20 [#8947 [Permissions] Add Where-Used and Permissions Overview navigation actions](../../changes/bcapps/8947.md) (main, BC30, feature)

## Across versions

- Present in: BC28-30
- Changed (declaration) in: BC29

## Documented on Microsoft Learn

- [Define granular permissions](https://learn.microsoft.com/dynamics365/business-central/ui-define-granular-permissions)

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "page", object_name: "Permissions Overview")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
