К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Роли и права доступа

Гость
0 - 29.12.2017 - 08:22
Господа и дамы, парни и девчата!
Есть вот такой кусок кода:
//Откроем форму только для просмотра если нет прав на редактирование
Если РольДоступна("Администратор") = Ложь И РольДоступна("МДМ_Администратор") = Ложь Тогда
ЭтаФорма.Элементы.Список.ТолькоПросмотр = Истина;
КонецЕсли;
Проблема заключается в том, что у пользователя, у которого эти роли точно есть - эти два условия говорят "Нет" и форма закрывается таки для редактирования. Вопрос: почему это может происходить?



Гость
1 - 29.12.2017 - 08:58
Как вариант: роль есть, а прав нет.
Гость
2 - 29.12.2017 - 09:48
И тогда РольДоступна() будет возвращать Ложь?
3 - 29.12.2017 - 10:17
Цитата:
Сообщение от stpd Посмотреть сообщение
у пользователя, у которого эти роли точно есть - эти два условия говорят "Нет" и форма закрывается таки для редактирования
Русское народное блюдо - каша в голове: роли есть, а ответ - "Нет"?

И вишенкой на торте - форма "закрывается" вместо "открывается".

Попробуйте сформулировать вопрос более осмысленно.
Гость
4 - 29.12.2017 - 10:20
(2) Если бы возвращалась Ложь, то выражение РольДоступна("...") = Ложь было бы истинно.
Гость
5 - 29.12.2017 - 10:22
Ну правильно )))
>>Проблема заключается в том, что у пользователя, у которого эти роли точно есть
Если РольДоступна("Администратор") = Ложь И РольДоступна("МДМ_Администратор") = Ложь Тогда
ЭтаФорма.Элементы.Список.ТолькоПросмотр = Истина;
КонецЕсли;

(0) А где Иначе?
Гость
6 - 29.12.2017 - 10:30
Ребята, ребята - не гоните! Если кто не понимает 1С-вского, перевожу на русский: Если у текущего пользователя нет прав Администратора или МДМ_Администратора - форма открывается в режиме "Только просмотр".
Так вот, как я уже сказал - права у текущего пользователя есть. А форма все равно открывается в режиме "Только просмотр". Вопрос пока остается - как такое может быть?
Гость
7 - 29.12.2017 - 10:32
(5) А зачем здесь Иначе?
Гость
8 - 29.12.2017 - 10:33
+5 я не один раз сталкивался с загадочными логическими конструкциями в 1с, особенно на СКД )
Гость
9 - 29.12.2017 - 10:38
Еще попробуй для начала:
Если РольДоступна("Администратор") = Ложь Тогда
ЭтаФорма.Элементы.Список.ТолькоПросмотр = Истина;
КонецЕсли;
потом попробуй
Если РольДоступна("Администратор") = Ложь ИЛИ РольДоступна("МДМ_Администратор") = Ложь Тогда
ЭтаФорма.Элементы.Список.ТолькоПросмотр = Истина;
КонецЕсли;
Гость
10 - 29.12.2017 - 10:42
Матерь Божья!
У чела есть роль и РольДоступна("Администратор") возвращает ИСТИНУ.
А он ее в условии с ЛОЖЬЮ сравнивает.
Естественно, что результат операции ИСТИНА = ЛОЖЬ - есть ЛОЖЬ.
Гость
11 - 29.12.2017 - 10:49
Твою мать! Как я сам не увидел-то! :) iMoxa, респект.
Uho
12 - 29.12.2017 - 11:10
руки оторвать тому, кто пишет такой код.

PS. а автор сейчас вернется, ибо дело не в (10)
Uho
13 - 29.12.2017 - 11:13
Если обе роли доступны, то условие не выполняется.
Если хотя бы одна роль доступна, то условие не выполняется
Если обе роли недоступны, то условие выполняется.

ТолькоПросмотр устанавлиевается только на список, а не на форму, а автор пишет, что вся форма становится нередактируемой, значит дело вообще не в этом куске кода.
Гость
14 - 29.12.2017 - 11:18
(12)(13) По крайней мере Автор понял, что дело не в этом участке кода.
Гость
15 - 29.12.2017 - 11:20
(12) Да, дело не в этом.
(13) 'Если обе роли недоступны, то условие выполняется.' - и устанавливается ТолькоПросмотр.
Да, только на список. Но это приводит к тому, что блокируется работа с этим списком (это справочник) - невозможно ни добавить, ни удалить, ни изменить...
Гость
16 - 29.12.2017 - 11:22
Я почему сюда пришел - полез было в RLS, да коллеги сказали "Брось!" - я и бросил :) Решил информацию покопать.
Гость
17 - 29.12.2017 - 11:30
Я тогда переформулирую вопрос:
При отладке оба РольДоступна() возвращают Ложь.
Хотя в наборе прав пользователя обе эти роли есть.
Возможно ли такое (возможно, ибо я собственными глазами это наблюдаю)? И если да, то почему?
Гость
18 - 29.12.2017 - 11:46
(17) прямо в конфигураторе в ролях галочки стоят?
Гость
19 - 29.12.2017 - 11:50
Падажди - а при чем здесь в ролях галочки?
Проверяется наличие роли у пользователя - такая роль в Конфигураторе имеет место быть. И пользователю она присвоена.
Какие галочки ты имеешь в виду?
Гость
20 - 29.12.2017 - 12:18
(19) В конфигураторе у пользователя роли можешь посмотреть? Именно в конфигураторе у пользователя эта роль отмечена галочкой на закладке прочее?
Гость
21 - 29.12.2017 - 12:53
МДМ_Администратор помечено, Администратор - нет.
Причем - ребята, все заработало...
Че было - не знаю.
Всем спасибо, тема закрыта.
22 - 01.01.2018 - 18:11
вот почитаешь такое, и поневоле задумаешься,
всё-таки есть здравое зерно в предложении ввести лицензии на отлов 1Сников
23 - 02.01.2018 - 13:17
Было такое. Чистка кэша помогла.


К списку вопросов






Copyright ©, Все права защищены