Имя: Пароль:
1C
1С v8
Запрет проведения РКО для определенных пользователей
0 Jaroslavka777
 
19.01.15
11:07
Всем доброго дня. Задача довольно простая - запрет проведения документа(только запись оставить) для определенных пользователей. Но такое ощущение, что есть какие-то подводные камни.

Как решить задачу правильно?

Текст в модуле объекта:
Процедура ОбработкаПроведения(Отказ, Режим)
    Если ИмяПользователя() <> "БлаБла" Тогда
        Отказ = Истина;
        Сообщить("У вас нет права проводить РКО!");
    КонецЕсли;
   ...
КонецПроцедуры // ОбработкаПроведения
1 Alamo-10
 
19.01.15
11:10
(0) Сделать 2 роли - одна с правом "проведение", вторая без. Раскидать их по нужным пользователям
2 Naumov
 
19.01.15
11:15
(0) Если уж так делаешь, то пихай в подписку, чтоб документ типовым оставался.
3 Jaroslavka777
 
19.01.15
11:19
(1) А способ с прописанием в модуле, чем может быть плох(не оспариваю верность вашего решения, для общего развития хочется узнать)?
Кроме того, что док не типовой станет и для редактирования списка пользователей имеющих право проведения придется менять код.
4 polosov
 
19.01.15
11:21
(3) А если пользователю надо будет опять дать возможность проведения?
Да и обновлять муторнее.
5 Alamo-10
 
19.01.15
11:25
(3) Плох тем, что со временем таких "привелегированных" пользователей может становиться больше, придется снова лезть в код, и добавлять новые условия. Или наоборот, кому-то нужно будет убрать право проведения. Плюс есть риск, что у пользователя поменяется ИмяПользователя и условие просто не сработает. С ролями проще - один раз создали, а дальше просто галки ставить
6 bolobol
 
19.01.15
11:28
Тогда уж Если РольДоступна(Метаданные.Роли.ЗапретПроведения) Тогда отказ
И код больше не нужно менять.
Делается подпиской.
И роль не перетрётся при очередном обновлении.
7 busy1
 
19.01.15
11:46
(1) Тут единственно правильное решение сделать подписку на событие. + отдельную роль что то типа "Запрет проведения РКО" потом просто выставляй галочки. Это работает 100%
8 polosov
 
19.01.15
11:49
(7) "Тут единственно правильное решение" - это религиозный экстремизм.
Решений несколько.
9 Jaroslavka777
 
19.01.15
13:51
Всем спасибо, решила созданием двух ролей  - одна с проведением, другая без.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn