|
Список доступных пользователю документов
| ☑ |
0
Domanoff26
07.11.11
✎
13:24
|
как можно через роли пользователя получить список документов на которые он иммет право редактирования?
сама задача: отменяем право перепроведения (и вобще изменение проведенных) доков, но для некоторых изменения некоторых реквизитов сделали отдельную обработку, сунули само изменение (запись дока с новыми значениями реквизитов) в привелегерованый модуль, но получаются что эту обработку могут вызывать все пользователи, а нам надо чтобы это было доступно только для тех, кто имеет (точнее имел до проведения) право на изменение этого дока....
|
|
1
Eugene_life
07.11.11
✎
13:37
|
(0) Может, глупость, но - вариант: Создать новую роль, типа "ПравоИзмененияПроведенных", в начале модуля установить проверку "РольДоступна()", и эту роль назначить только тем, кому надо.
|
|
2
Domanoff26
07.11.11
✎
13:38
|
(1) но это по сути копирование старых ролей
|
|
3
Eugene_life
07.11.11
✎
13:40
|
(2) Ну, я бы так не сказал. Копирования ролей тут нет. Тут есть модуль, и роль, разрешающая его выполнение.
|
|
4
jump if zero
07.11.11
✎
13:40
|
Глобальный контекст.ПравоДоступа
Нето?
|
|
5
Domanoff26
07.11.11
✎
14:01
|
(3) чего то не пойму, а документы, кому то можно поступление наприимер менять, кому то нельзя, как это учитывается, можно подробнее?
|
|
6
Eugene_life
07.11.11
✎
14:05
|
(5) Это нужно смотреть, как написана сама обработка по изменению реквизитов. Если она одна на все документы, а доступ надо делить по ролям/пользователям, то есть вариант получше:
Создаем РегистрСведений, с измерением Пользователь и реквизитом ДоступныйДляИзмененияРеквизит. Заполняем его (указываем связку Пользователь - Реквизит документа. А в обработке перед изменением реквизита - дергаем данные из регистра (можно - нельзя)
|
|
7
Domanoff26
07.11.11
✎
14:37
|
(6) совет (4) лучше учитывая что этот регистр создан но без измерения пользователь но с измерением документ, и когда он будет открывать обработку она откроется только если ПравоДоступа("Изменение",ЭтотОбъект.Метаданные(), ПользователиИнформационнойБазы.ТекущийПользователь()) = Истина, а та же у в свою очередь вытащит для этого доку изменяемые реквизиты.....просто заполнять для каждой роли все нужные реквизиты накладно
|
|