Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Роли, РЛС, право Изменения
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
AnryMc
Задача:
У документа есть реквизит "Выполнено" (тип Булево).
Нужно: Если Выполнено = Истина - запретить редактирование документа для определенной Роли.
Реализация: Для нужной Роли настраивается правило "Изменение" Документа:
Документ ГДЕ Документ.Выполнено = ЛОЖЬ


Все вроде нормально: Документ у которого Выполнено = ИСТИНА открывается на просмотр, если Выполнено = ЛОЖЬ - на редактирование.

ПРОБЛЕМА: Если пользователь открыл документ и установил Выполнено = ИСТИНА, то у него исчезло право на Изменение и он не может сохранить документ. "У пользователя недостаточно прав для действий над базой"

ВОПРОС: Как выйти из этой ситуации, чтобы можно было записать? Т.е. правило должно работать для Документа за писаного в базу а не открытого у пользователя.
AnryMc
AnryMc @ Сегодня, 15:34 необходимо зарегистрироваться для просмотра ссылки ,

Варианты через реквизит формы (отображающий реквизит документа) и Установить УстановитьПривилегированныйРежим мне понятен но не совсем устраивает (не нравиться).

Хотелось бы узнать другой вариант.
Например как в запросе правила РЛС дать ссылку на значение реквизита редактируемого объекта и/или реквизита в записаном в базу объекта...
alex-l1904
AnryMc @ Сегодня, 15:34 необходимо зарегистрироваться для просмотра ссылки ,
Думаю тут краще в модулі форми прописати умови, ніж РЛС
Vofka
1. Сделать реквизит формы "Выполнено", который не связан с реквизитом документа и при записи документа дублировать его в реквизит;
2. Вместо галки сделать кнопку, при нажатии на которую переспросить и если "да", тогда устанавливать признак и записывать.

Но я бы такое не через РЛС делал, а как выше alex-l1904 написал.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.