Имя: Пароль:
1C
1С v8
БП: Как правильно создать новую роль пользователя
0 К58
 
29.04.12
16:17
Вопрос новичка:
Новые роли пользователей получается создать только таким  "Извращенным" способом:

1. Сняла конфу с поддержки
2. В роли "Полные права"  отключаю все,  что хоть кому-то из пользователей запрещено. Т.е. использую роль "Полные права" только для сохранения возможности входа в систему.

3. Создаю роли для своих  пользователей (кассир, гл. бух и прочее).
4. Каждому пользователю кроме "авторской роли" (например, "кассир"), подключаю  еще роль  "Полные права".

Схема работы мне кажется странной. Правильный ли это путь?
1 vmv
 
29.04.12
16:24
это путь полного деструктива - гони самогон
2 Aleksey
 
29.04.12
16:29
(0) Плохой пусть. В коде в некоторых местах прописано
Если "Полные права" тогда
// пропускаем проверки
3 К58
 
29.04.12
16:46
Но если я своему касссиру присвою только одну, созданную мной роль "Кассир", то он не может даже войти в программу:" У тек. пользователя нет доступных ролей для запуска инф. базы"!.
 А если добавляю "Полные права" или "Бухгалтер", тогда у кассира расширяется набор прав до недозволенного.Подскажите, пожалуйста, как правильно создать новую роль?
4 Aleksey
 
29.04.12
16:47
(3) Добавить свою роль при старте
5 К58
 
29.04.12
16:55
Что значит "Добавить свою роль при старте?"
6 Aleksey
 
29.04.12
16:59
(5)Добавить в

Если НЕ РольДоступна("ПолныеПрава") И НЕ РольДоступна("Бухгалтер") Тогда
   Отказ = Истина;
   #Если Клиент Тогда
   Предупреждение("У текущего пользователя нет доступных ролей, для запуска информационной базы.", 10, "Недостаточно прав доступа");
   #КонецЕсли
КонецЕсли;

Свою роль
7 К58
 
29.04.12
17:11
Спасибо, что ответили. Я так понимаю, что речь идет об Общем модуле Управление пользователями.
Но мне почему-то вариант отключения "запретных" прав у роли "Бухгалтер" кажется менее травматичным, чем вмешательство в код программы. Легче переносить обновления.
Может, это взгляд новичка :)
8 Aleksey
 
29.04.12
17:24
(7) Писатель? Или что в (2) непонятно?
9 К58
 
29.04.12
17:28
в (2) - про роль "полные права",  а если роль "бухгалтер", то пройдет
10 Aleksey
 
29.04.12
17:29
// Форма помощника обновления конфигурации выводится поверх остальных окон.
Если РольДоступна(Метаданные.Роли.ПолныеПрава) Тогда
ОбработкаОбновлениеКонфигурации = Обработки.ОбновлениеКонфигурации.Создать();
ОбработкаОбновлениеКонфигурации.ПроверитьНаличиеОбновлений();
КонецЕсли;

Пофиг на твой запрет - есть права запускаем обработку

======================================================

Если РольДоступна("ПолныеПрава") ИЛИ РольДоступна("ПравоАдминистрирования") Тогда
               
 ТекстВопроса = ТекстСообщения  + "
 |Установка новой границы рассчитанных итогов может занять некоторое время.
 |
 |Установить границу рассчитанных итогов на " + Формат(ДатаИтогов, "ДЛФ=DD") + "?";
 ...

Т.е. если полные права - двигаем границу. Оно надо кассиру? тем более ты ему порезал права

======================================================

Процедура ПроверитьЗапускСтартовогоПомощникаИПанелиФункций()
 СПОткрыт = Ложь;
 Если РольДоступна("ПолныеПрава") Тогда

Опять для полных прав выполняем телодвижения, которые у касира наверняка вызовут кучу ошибок, ты же права то порезал

======================================================

Процедура ПодключитьОбработчикАвтообменаСНалоговымиОрганами()
 Если РольДоступна("ПравоНаЗащищенныйДокументооборотСКонтролирующимиОрганами") ИЛИ РольДоступна("ПолныеПрава") Тогда
   Если КонтекстЭДО <> Неопределено Тогда
     Попытка
       онтекстЭДО.ПодключитьОбработчикАвтообменаСНалоговымиОрганами();

Опять с полными правами будет засада

======================================================

Процедура РедактироватьПраваДоступа(Ссылка) Экспорт
 Если НЕ РольДоступна("ПолныеПрава") Тогда
   Предупреждение("Нарушение прав доступа!");
   Возврат;
 КонецЕсли;
...

Упс прикольно когда кассир сможет редактировать права доступа :)




Продолжать?
11 dot101
 
29.04.12
17:29
(7) этот модуль обновляется раз в сто лет, одну строчку всяко легче поправить, чем почти каждый раз роль править, да еще и учти, что роли плохо сравниваются при обновлении.
12 dot101
 
29.04.12
17:33
(0) лучше сделать одну роль для входа, ее прописать в условии из (6)
а для пользователей сделать еще роли, какие нужно. пользователям назначать две роли или больше - одну для входа, остальные для разрешений доступа.
13 К58
 
29.04.12
17:44
Убедили:) Спасибо, буду работать дальше.
14 К58
 
29.04.12
18:56
1. Создала "РольДляВхода", прописала ее в Общем модуле Управление пользователями, как Вы советовали. Роль с очень ограниченными правами.
2. Создала роль "Кассир" с необходимыми для кассира правами.
3.Когда пользователь кассир формирует Анализ счета 50: отчет формируется, но после его закрытия появляется сообщение "Нарушение прав доступа!".
Почему?
15 К58
 
29.04.12
19:02
Понятно. Я где-то запретила сохранение настроек отчета. Может, кто знает - где они сидят в правах?
16 kosts
 
29.04.12
19:10
(15) Смотри журнал регистрации, там будет написано к чему ограничение
17 К58
 
29.04.12
19:16
Нашла! Нужно разрешить редактирование Справочника "Сохраненные настройки".
18 К58
 
29.04.12
21:38
Вот бы еще научиться  запретить/разрешить пользователю строить стандартные отчеты (карточа, анализ счета...)только по указанным счетам!
Это возможно?
19 Aleksey
 
29.04.12
21:42
нет
Независимо от того, куда вы едете — это в гору и против ветра!