![]() |
![]() |
|
Доступность одного реквизита | ☑ | ||
---|---|---|---|---|
0
palima
19.12.18
✎
14:26
|
Всем привет, помогите пожалуйста понять логику работы ролей, чтобы научиться решать следующую проблему: доступность реквизитов формы элемента и списка справочника ограничена ролью, в которой весь справочник помечен только на чтение. Но один из реквизитов должен быть доступен для редактирования для всех. Конструкция ЭлементыФормы.СправочникСписок.Колонки.МойРеквизит.Доступность = Истина;
в данном случае не работает. Растолкуйте пожалуйста как нужно делать и как не делать когда возникают такие вопросы, буду очень благодарна. Спасибо. |
|||
1
spiller26
19.12.18
✎
14:58
|
(0) Роль не ограничивает элементы формы, она может только ограничить к реквизитам объекта доступ.
Смотрите что происходит при открытии формы и в какой момент происходит переход доступности из "Истина" в "Ложь". |
|||
2
Fedor-1971
19.12.18
✎
15:35
|
(1) Обманщик, если роль только чтение - то и форма получит те же ограничения
(0) Суть следующая: Раскрываем права роли на этот справочник, выставляем право Редактирование для всего (!!!) справочника выделяем Реквизиты - ставим право "чтение" и снимаем "редактирование" дальше находим нужный реквизит и даём ему право "Редактирование" Придёт к тебе счастье - пользователь с такой ролью будет иметь возможность изменить только один (или сколько нужно) реквизит |
|||
3
Fedor-1971
19.12.18
✎
15:59
|
2+ Учитывай ещё один момент права по ролям определяются по ИЛИ!
Т.е. ограничить доступ к реквизиту пользователю с полными правами на справочник другой ролью (с ограничением доступа) уже не получится, нужно будет создать отдельную роль, а вот выдать дополнительную к Просмотру, вполне себе можно Ну, с моментом попытки записи в модуле объекта в недоступные поля пользователем с ограничением доступа методом УстановитьПривилегированныйРежим(Истина) как-нить разберёшься самостоятельно |
|||
4
palima
19.12.18
✎
16:21
|
(3) к сожалению после миллиона попыток так и не получилось реализовать 2... Поэтому пришлось для всей просто открыть весь справочник на редактирование а в форме в ПриОткрытии() для этой же роли позакрывать доступ всем реквизитам кроме одного.. такой вот нехороший способ пока не придет озарение...
|
|||
5
Fedor-1971
19.12.18
✎
16:41
|
(4) Проведи чистый эксперимент:
Сначала отбираешь все права на данный справочник, а потом выдаёшь роль, настроенную так, как я написал. Дальше пытаешься сохраниться, если получаешь ошибку прав доступа, значит в модуле есть процедуры передЗаписью или ПроверкЗаполнения, в которых есть программное заполнение реквизитов, недоступных данной роли, решается через УстановитьПривилегированныйРежим(Истина) Собственно всё |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |