---
id: object/page/9853
type: object
title: Page 9853 "Effective Permissions By Set"
summary: Page 9853 "Effective Permissions By Set" in Base Application (System.Security.AccessControl). 1 public procedures. Present since at least BC23, still in BC30.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  last_changed: null
  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: 028ef730fa8d0bfc40597e2833badd4eb74513069acd796cfe41c752713fc5df
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/Permissions/EffectivePermissionsBySet.Page.al
    title: src/Layers/W1/BaseApp/System/Permissions/EffectivePermissionsBySet.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/11961
object_type: page
object_id: 9853
name: Effective Permissions By Set
caption: By Permission Set
namespace: System.Security.AccessControl
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 2
  events: 0
  subscribers: 0
  controls: 9
  actions: 0
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Page 9853 "Effective Permissions By Set"

> Page 9853 "Effective Permissions By Set" in Base Application (System.Security.AccessControl). 1 public procedures. Present since at least BC23, still in BC30.

Base Application · System.Security.AccessControl · captioned "By Permission Set" · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/Permissions/EffectivePermissionsBySet.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | By Permission Set |
| SourceTable | Permission Buffer |
| PageType | ListPart |

## 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 |
|---|---|---|---|
| Control5 | Permission Set | [Permission Set](../table/9852.md#fields) | Specifies the permission set that gives the user permissions to the object chosen in the Permissions section. <small>from the table field</small> |
|  | Source | [Source](../table/9852.md#fields) | Specifies the origin of the permission set that gives the user permissions for the object chosen in the Permissions section. Note that rows with the type Entitlement originate from the subscription plan. The permission values of the entitlement overrule values that give increased permissions in othe... <small>from the table field</small> |
|  | Type | [Type](../table/9852.md#fields) | Specifies the type of the permission set that gives the user permissions for the object chosen in the Permissions section. Note that you can only edit permission sets of type User-Defined. <small>from the table field</small> |
|  | Read Permission | `ReadPermissionsTxt` | — |
|  | Insert Permission | `InsertPermissionsTxt` | — |
|  | Modify Permission | `ModifyPermissionsTxt` | — |
|  | Delete Permission | `DeletePermissionsTxt` | — |
|  | Execute Permission | `ExecutePermissionsTxt` | — |
|  | Security Filter | [Security Filter](../table/9852.md#fields) | 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. <small>from the table field</small> |

## Procedures

- `SetRecordAndRefresh(PassedUserID: Guid; PassedCompanyName: Text[50]; CurrentObjectType: Option; CurrentObjectID: Integer)`

Plus 1 local procedures.

## Triggers

OnAfterGetRecord, OnOpenPage

## Relations

- source table [Table 9852 "Permission Buffer"](../table/9852.md)

## 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 9852 "Effective Permissions Mgt."](../codeunit/9852.md) (3 calls: `RefreshDisplayTexts → ConvertToPermission`, `RefreshDisplayTexts → GetPermissionStatus`, `SetRecordAndRefresh → PopulatePermissionBuffer`)

## Recent changes

- 2026-09-29 [#11961 Cache security group resolution in Effective Permissions](../../changes/bcapps/11961.md) (main, BC30, performance)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: none

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: "Effective Permissions By Set")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
