|
РольДоступна() Проблемы при установке ролей. | ☑ | ||
---|---|---|---|---|
0
DjMah
21.09.15
✎
14:48
|
Приветствую всех.
Есть проблема: Были созданы новые роли для пользователей. При установке ролей из режима предприятия Функция возвращает всегда ложь по новым ролям. Если установить роль из режима конфигуратора, то функция отрабатывает правильно и возвращает верное значение. Куда копать, подскажите плизззз... Конфа на основе БСП, платформа 8.3.6.2014 |
|||
1
Mankubus
21.09.15
✎
14:56
|
у пользователя которому назначаешь роль есть полные права?
|
|||
2
zhig75
21.09.15
✎
14:58
|
Обнови информационную базу.
|
|||
3
DjMah
21.09.15
✎
14:59
|
(1) Нет. У пользователя свой набор прав (как раз из новых).
(2) Без обновления базы, я бы не смог создать профиль и назначить его пользователям. |
|||
4
Fragster
гуру
21.09.15
✎
15:04
|
выполнил обновление данных в режиме предприятия?
|
|||
5
DjMah
21.09.15
✎
15:08
|
(4) Выполнил в режиме предприятия обновление базы. Ибо без обновления создать профиль с набором ролей невозможно, в режиме предприятия будет ошибка при записи.
|
|||
6
Dionis Sergeevich
21.09.15
✎
15:08
|
Выполнил, иначе не смог бы использовать роль в профиле группы доступа
|
|||
7
Mankubus
21.09.15
✎
15:10
|
обработку ИнструментыРазработчикаОбновлениеВспомогательныхДанных использовал?
|
|||
8
DjMah
21.09.15
✎
15:10
|
В режиме конфигуратора, у пользователя галки установленных ролей отображаются. Но функция возвращает ложь.
Может есть другой механизьм???? |
|||
9
DjMah
21.09.15
✎
15:11
|
(7) Запустил еще раз. Ждем-с.
|
|||
10
Dionis Sergeevich
21.09.15
✎
15:13
|
Пеоезайдите в 1с этим пользователем
|
|||
11
DjMah
21.09.15
✎
15:20
|
(7) Обновил с использованием ИнструментыРазработчикаОбновлениеВспомогательныхДанных.
Та же петрушка. (10) Перезаходил. Сейчас еще раз проверю. |
|||
12
DjMah
21.09.15
✎
15:23
|
(10) Перезашел пользователем. Нет говорит роли.
В конфигураторе, галка на роли стоит =((( |
|||
13
Dionis Sergeevich
21.09.15
✎
15:25
|
Странно. Ещё раз проверь есть ли у пользователя группа с профилем, в который добавлена роль?
|
|||
14
Dionis Sergeevich
21.09.15
✎
15:26
|
И 2299 платформу поставь. Одинесники что то с правами в какой то из недавних платформ учудили
|
|||
15
DjMah
21.09.15
✎
15:26
|
(13) Это очень странно. Ибо сейчас из конфигуратора снял и заново поставил галку и "трах-тибтдох-тибидох" роль стала доступна..
Фантастика, как так?! Кэш почистить??? |
|||
16
Dionis Sergeevich
21.09.15
✎
15:29
|
Не надо вообще в конфмгураторе трогать роли. В предприятии только. Может в этом проблема. Создай пользователя и не трогай в конфмгураторе и должно все получиться
|
|||
17
Stim
21.09.15
✎
15:30
|
ох уж эти грабли..
|
|||
18
DjMah
21.09.15
✎
15:33
|
(16) Мучас грасиас!!! Но в чем прикол? Почему нельзя трогать из конигулятора-то?? Что в этом плохого?
(17) Не грабли, а велосипеды. Ибо конфа самописка =))) |
|||
19
Stim
21.09.15
✎
15:36
|
ТС, запомни - если у пользователя роль Полные права(Администрирование), то никакие доп роли ему не добавляются(при редактировании из Предприятия). Разработчиками было задумано, что раз у него полные права, то и доп расширяющих прав ему не нужно.
Вариант - делать свою проверку ролей, например, я делал так: Функция ЬЬРольДОступна(Роль,Пользователь="") Экспорт РольМД = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту("Имя",Роль); Если РольМД.Пустая() Тогда Возврат ЛОЖЬ; Конецесли; Если Пользователь = "" Тогда ПользовательОтбор = ПараметрыСеанса.ТекущийПользователь; Иначе ПользовательОтбор = ПОльзователь; КОнецЕсли; запрос = новый запрос; запрос.Текст = "ВЫБРАТЬ | ГруппыДоступаПользователи.Ссылка |ИЗ | Справочник.ГруппыДоступа.Пользователи КАК ГруппыДоступаПользователи |ГДЕ | ГруппыДоступаПользователи.Пользователь = &Пользователь | И ГруппыДоступаПользователи.Ссылка.Профиль В | (ВЫБРАТЬ | ПрофилиГруппДоступаРоли.Ссылка | ИЗ | Справочник.ПрофилиГруппДоступа.Роли КАК ПрофилиГруппДоступаРоли | ГДЕ | ПрофилиГруппДоступаРоли.Роль = &Роль) | И НЕ ГруппыДоступаПользователи.Ссылка.ПометкаУдаления"; Запрос.УстановитьПараметр("роль",РольМД); Запрос.УстановитьПараметр("Пользователь",ПользовательОтбор); Выборка = Запрос.Выполнить().Выбрать(); результат = Выборка.Следующий(); ВОзврат результат; КонецФункции |
|||
20
DjMah
21.09.15
✎
15:37
|
(19) Пасиба за код. Учту на будущее.
Полных прав нет, про то что они не добавляются, я знаю. |
|||
21
Stim
21.09.15
✎
15:42
|
(20) а то, что они не добавляются - виновата константа ПараметрыРаботыПользователей
по крайней мере в типовых, не знаю, как там в БСП. Обнови параметры константы: Константы.ПараметрыРаботыПользователей.СоздатьМенеджерЗначения().ОбновитьОбщиеПараметры(); и можешь почитать http://catalog.mista.ru/public/300363/ только не пинай за корявое оформление |
|||
22
DjMah
21.09.15
✎
16:49
|
(21) Спасибо. Лови плюс =)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |