Имя: Пароль:
1C
 
RLS. Настройка ограничений на уровне записей и полей.
0 interlamersha
 
24.01.10
17:36
В базе необходимо для пользователей разделить доступ на документы в зависимости от их содержания. Например дать пользователю возможность редактировать и просматривать документ в котором он указан в качестве ответсвенного. В конфигураторе, в настройке ролей есть определение полей и ограничений доступа. Причем ограничения доступа прописываются в виде запроса. Но я никак не могу понять как передавать значение параметра в такой запрос и как всё это будет работать в конечном итоге.
Если я в конфигураторе выберу документ отчет о розничных продажах, перейду к настройкам прав, для права чтения пропишу в строке Ограничение доступа текст: Где Ответсвенный = &ТекущийПользователь, что увидит пользователь в форме списка документов, при открытии документа... И каким образом я должна передать в параметр ТекущийПользователь значение параметра сеанса?
Если можно, кто-нибудь приведите небольшой поэтапный пример настройки ограничений на уровне записей и полей, или дайте ссылки. Буду очень признательна.
Пока из более мене нормальных статей удалось найти только это: http://aleks1c.blogspot.com/2009/07/blog-post.html
Но опять же в этой статей отсутсвует описание процесса установки значения параметра.
1 IronDemon
 
24.01.10
17:54
Там же: Параметры сеанса доступны как из встроенного языка 1С:Предприятия (например: ПараметрыСеанса.ТекущийПользователь = ИмяПользователя() или Пользователь = ПараметрыСеанса.ТекущийПользователь), так и из ограничений доступа (например: Документ.Отчет.Пользователь = &ТекущийПользователь)
2 interlamersha
 
24.01.10
18:34
Всё равно не понятно как передать значение текущего пользователя в параметр ТекущийПользователь. Вот также строка из этой статьи:
Параметры сеанса, в том числе и в составе выражений. Например, на чтение элементов справочника "ГруппыПисемЭлектроннойПочты" может быть задано следующее ограничение доступа:

ГДЕ
Владелец.ДоступКУчетнойЗаписи.Пользователь = &ТекущийПользователь И
Владелец.ДоступКУчетнойЗаписи.Администрирование = ИСТИНА

где "ТекущийПользователь" - это параметр сеанса.

Если бы это был просто запрос в модулях, то я бы писала
Запрос = Новый Запрос;
Запрос.Текст = "* из Документ.ОтчетОРозничныхПродажах как отчет где Отчет.Ответсвенный=&ТекущийПользователь";
Запрос.УстановитьПараметр("ТекущийПользователь", ПараметрыСеанса.ТекущийПользователь);
Результат = Запрос.Выполнить();

Но для настройки прав не указано как, где и что я должна прописать либо установить для того чтобы объявленному параметру было присвоено значение, вместо привычного Запрос.УстановитьПараметр("ТекущийПользователь", ПараметрыСеанса.ТекущийПользователь);
3 IronDemon
 
24.01.10
19:11
Сделай поиск по конфе существующих параметров сеанса