Имя: Пароль:
1C
1С v8
Список доступных пользователю документов
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) лучше учитывая что этот регистр создан но без измерения пользователь но с  измерением документ, и когда он будет открывать обработку она откроется только если ПравоДоступа("Изменение",ЭтотОбъект.Метаданные(), ПользователиИнформационнойБазы.ТекущийПользователь()) = Истина, а та же у в свою очередь вытащит для этого доку изменяемые реквизиты.....просто заполнять для каждой роли все нужные реквизиты накладно
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn