Добрый день! Помогите советом.
Поставили задачу: Запретить создание и изменение договоров контрагентов определенным пользователям.
Реализовать это путем выдачи ролей не получается, т.к. Договор контрагента может изменять любой, у кого есть роль "Пользователь". Забрать роль "Пользователь", сами понимаете, нельзя.
Возникла идея создать не типовую роль с правами на создание/изменение Договоров контрагентов, и программно запретить создавать/изменять договора всем, кто не имеет этой роли.
Подскажите, насколько хороша такая идея? Где лучше вносить изменения в код: в модуле объекта или модуле формы Договора контрагента?
Забрать у роли Пользователь права на Договоры не рассматривали? Тогда код трогать не придется.
Если надумаете программно проверять, тогда либо модуль объекта, либо подписка на событие.
(1) при обновлении слетит, если что-то поменяется в роли "Пользователь". Да и к тому же, если забрать права на договор у роли "Пользователь", договор тогда вообще никто не сможет добавлять/изменять, т.к. в договоре контрагента роль "Пользователь" единственная дает права на изменение/добавление договоров.
Добавлять не типовую роль все равно придется.
(2) Либо другие реквизиты, если по договору не проведены еще документы.
Основная теорема систематики: Новые системы плодят новые проблемы.