Приветствую Вас ГостьВторник, 07.05.2024, 21:22

Каталог статей


Ограничение доступа к данным на уровне записей и полей базы данных

Механизм ограничения доступа на уровне записей и полей базы данных позволяет для четырех основных прав (чтение, добавление, изменение и удаление) уточнить, какие же именно данные информационной базы будут доступны пользователю.

Ограничение доступа настраивается в свойствах роли:

При настройке доступа надо указать поля и условие предоставление доступа. Пользователь с данной ролью имеет право прочитать или изменить некоторый объект базы данных только в том случае, если ограничение доступа предоставляет ему такое право. То есть когда условие ограничения истинно.

Пользователь будет иметь право видеть только те поля, которые указаны в настройках. Если поля не указаны, то условие доступа предоставляется для всех полей.

Установка прав без шаблонов

Для облегчения работы по формированию условий, можно воспользоваться конструктором запроса, который похож на конструктор запросов.

Если нужно предоставить доступ только для определенных полей документа, например для отображения документа в списке документов, то можно задать права следующим образом:

Если надо ограничить доступ целиком к документу, то поля не выбираем и устанавливаем условие, например:

Установка прав с помощью шаблонов

Использование шаблонов позволяет выделить и не дублировать части условий ограничений, которые могут использоваться в разных условиях. Текст шаблона будет механически подставлен вместо его вызова.

Например, настроим шаблон:

С помощью кнопки можно "Установить текст шаблона" можно открыть отдельное окно для корректировки текста шаблона.

ВЫБРАТЬ
 1
ИЗ
 Документ.НачисленияСотрудникам.Начисления
ГДЕ
 Документ.НачисленияСотрудникам.Начисления.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисления.Премия)
 И Документ.НачисленияСотрудникам.Начисления.Ссылка = #Параметр(1).Ссылка

В шаблоне указан запрос, который вернет "1", если в документе есть вид расчета "Премия". Отбор осуществляется для документа, ссылка которого задана в параметре шаблона. Вместо #Параметр(1) будет подставлена та строка, которую мы укажем при вызове этого шаблона в условии ограничения доступа.

Теперь настроим ограничение прав с данным шаблоном. Добавим ограничение на все поля и в ограничении доступа укажем текст:

ДокНачисления ГДЕ НЕ 1 В (#ЕстьПремия("ДокНачисления"))

Если открыть окно редактирования условия и нажать кнопку "Конструктор запроса", то будет сформировано полное условие, где вместо шаблона подставлено его текст.

Здесь "ЕстьПремия" - название шаблона. Обращение к нему осуществляется через символ "#".

В значение ДокНачисления будет передан документ.

У шаблона есть 1 параметр. обращение к нему осуществляется так же через символ "#". Выражение "#Параметр(1).Ссылка", говорит о том, что берется реквизит Ссылка из документа, переданного в первом параметре.

 

 

 

 

Категория: Администрирование | Добавил: leshic (18.02.2022)
Просмотров: 398 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
СКД [48]
Регистры [7]
Формы [40]
Администрирование [35]
Запросы [10]
Объекты конфигурации и типы данных [20]
Взаимодействие с другими базами, приложениями и источниками данных [16]
Программирование [29]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0