Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Доступность одного реквизита

Доступность одного реквизита
Я
   palima
 
19.12.18 - 14:26
Всем привет, помогите пожалуйста понять логику работы ролей, чтобы научиться решать следующую проблему: доступность реквизитов формы элемента и списка справочника ограничена ролью, в которой весь справочник помечен только на чтение. Но один из реквизитов должен быть доступен для редактирования для всех. Конструкция ЭлементыФормы.СправочникСписок.Колонки.МойРеквизит.Доступность = Истина;
в данном случае не работает.
Растолкуйте пожалуйста как нужно делать и как не делать когда возникают такие вопросы, буду очень благодарна. Спасибо.
 
 
   spiller26
 
1 - 19.12.18 - 14:58
(0) Роль не ограничивает элементы формы, она может только ограничить к реквизитам объекта доступ.
Смотрите что происходит при открытии формы и в какой момент происходит переход доступности из "Истина" в "Ложь".
   Fedor-1971
 
2 - 19.12.18 - 15:35
(1) Обманщик, если роль только чтение - то и форма получит те же ограничения

(0) Суть следующая:
Раскрываем права роли на этот справочник,
выставляем право Редактирование для всего (!!!) справочника
выделяем Реквизиты - ставим право "чтение" и снимаем "редактирование"
дальше находим нужный реквизит и даём ему право "Редактирование"

Придёт к тебе счастье - пользователь с такой ролью будет иметь возможность изменить только один (или сколько нужно) реквизит
   Fedor-1971
 
3 - 19.12.18 - 15:59
2+ Учитывай ещё один момент права по ролям определяются по ИЛИ!
Т.е. ограничить доступ к реквизиту пользователю с полными правами на справочник другой ролью (с ограничением доступа) уже не получится, нужно будет создать отдельную роль, а вот выдать дополнительную к Просмотру, вполне себе можно

Ну, с моментом попытки записи в модуле объекта в недоступные поля пользователем с ограничением доступа методом УстановитьПривилегированныйРежим(Истина) как-нить разберёшься самостоятельно
   palima
 
4 - 19.12.18 - 16:21
(3) к сожалению после миллиона попыток так и не получилось реализовать 2... Поэтому пришлось для всей просто открыть весь справочник на редактирование а в форме в ПриОткрытии() для этой же роли позакрывать доступ всем реквизитам кроме одного.. такой вот нехороший способ пока не придет озарение...
   Fedor-1971
 
5 - 19.12.18 - 16:41
(4) Проведи чистый эксперимент:
Сначала отбираешь все права на данный справочник, а потом выдаёшь роль, настроенную так, как я написал.
Дальше пытаешься сохраниться, если получаешь ошибку прав доступа, значит в модуле есть процедуры передЗаписью или ПроверкЗаполнения, в которых есть программное заполнение реквизитов, недоступных данной роли, решается через УстановитьПривилегированныйРежим(Истина)

Собственно всё

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует