Имя: Пароль:
1C
1С v8
Разграничение расширения по ролям. ПравоДоступа()
0 andrewch60
 
18.05.23
16:06
Первый код выделяю в расширение и - проблема...
Смысл задачи : Расширением добавил в форму справочника ДО ВходящиеДокументы реквизит и Табличную часть. Хочу при наличии прав на работу(редактирование) с этими реквизитами
добавлять на форму ВходящегоДокумента гиперссылку с представлением добавленных реквизитов, по нажатии на которую, открывается форма из расширения для их редактирования. Соответственно, если нет прав на редактирование, то вообще не отображать ничего лишнего.

Пытаюсь в заимствованной форме провести проверку на право редактирования реквизита, добавленного расширением :

УстановитьПривилегированныйРежим(Истина);
МетаданныеРасш = Новый ОбъектМетаданныхКонфигурация(РасширенияКонфигурации.Получить(Новый Структура("Имя", "ИмяРасширения"))[0].ПолучитьДанные());
УстановитьПривилегированныйРежим(Ложь);

ПравоДоступа("Редактирование",МетаданныеРасш.Справочники.ВходящиеДокументы.Реквизиты.ИмяРеквизитаДобавленногоРасширением)

И тут ПравоДоступа() возвращает Истину, хотя я не добавлял ему роли с такими правом
Роль ,указанная основной в расширении, не содержит никаких прав.
Кроме нее в расширении создал роль
ДФ_РаботаСИсполнителямиРассмотренияВхДокумента(именно она дает права на редактирование вышеупомянутых реквизитов)
и
ДФ_ПолныеПрава(Полные права на все элементы расширения). Полагал ее назначить Админу и Ответственному за настройку расширения. Но вроде как назначать ее Админу даже нельзя (все права у него и так уже есть откуда то...)
...
надо было еще роли создать на другие части функционала расширения, но и с этой не могу разобраться

долго читал ИТС и прочие статьи, но так и не нашел - откуда у Админа уже все права появились(скорее всего из за роли ПолныеПрава) и откуда у всех пользователей (что интересно, то прав на подсистему и обработку из состава расширения у них нет или просто они не отображаются...)
1 НЕА123
 
18.05.23
16:21
(0)
не знаю, но скажу.(с)
по умолчанию, видимо, что все права на реквизиты у роли Истина (по-моему - устанавливать права на ревизиты по по- умолчанию)
2 andrewch60
 
18.05.23
18:31
(1) Это про ПолныеПрава? возможно
куда более интересно, откуда права на реквизиты ВходящихДокументов, добавленные расширением у пользователя, у которого даже прав на редактирование ВходящихДокументов нет...
причем ПравоДоступа() там возвращает все верно - Ложь
3 sitex
 
naïve
18.05.23
19:55
(0) Хорошо вы молодец , а конфа то какая чтоб извращаться так ?
4 andrewch60
 
19.05.23
09:08
(3) Документооборот
А в чем извращение и как бы сделали вы?
5 sitex
 
naïve
19.05.23
13:29
(4) Сделал бы через Группу доступа
6 sitex
 
naïve
19.05.23
13:32
(0) Ни знаю как в Документообороте но в ЕРП создавал Профиль группы доступа , там где и админу и все кому нужно продали права на не нужный им функционал и также и подсистемы. Да не просто там все через расширение, но точно работает.
7 sitex
 
naïve
19.05.23
13:33
(6) *Продали = пропадали*
8 longbase
 
19.05.23
16:44
А если в табличной части объекта появятся реквизиты с доступом только для ответственных сотрудников то у обычных пользователей (у которых прав на эти реквизиты нет) не возникнет ли ошибка при выполнении инструкции типа   ".ПолучитьОбъект();"  ?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.