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

Подходы к настройке прав. Какой лучше?

Подходы к настройке прав. Какой лучше?
Я
   LevelUP
 
29.12.21 - 11:24
Здравствуйте!

Поступила задача, в БП убрать возможность создавать ОперацииБух пользователю. Дальше, как обычно, есть роль ДобавлениеИзменениеДанныхБухгалтерии, а которой ОперацииБух разрешены и эта роль сидит в большом количестве профилей, и без нее условно "ничего не работает".
Конфа на замке, открывать особо неохота

Варианты:
1. Создать копию ДобавлениеИзменениеДанныхБухгалтерии, скажем ДобавлениеИзменениеДанныхБухгалтерии_БезОпераций и ее использовать в профилях нужным пользователям. Но тут надо "снимать замочек" и потом после обновления новые объекты могут не заработать, так как из добавили в типовую ДобавлениеИзменениеДанныхБухгалтерии, а нам надо отслеживать и довносить в свою роль.

2. Расширение, которое просто в ПриСозданииНаСервере будет рубить форму ОперацииБух определенным пользователям, у которых включена основная роль расширения. Как-то колхозно выглядит подход. Однако конфа остается "на замке", роли отслеживать не надо, профили свои тоже не надо создавать.

3. Может быть есть возможность создания, скажем так, "вычетающих" ролей, которые вычетают какое-то множество прав из набора существующих, или что-то другое, может быть, есть в последних релизах/платформах. Понимаю, что звучит фантастично, и администрировать потом этот клубок прав было бы сложновато

Вопрос, собственно, в концепции. Название документа и имя роли значения не имеют
   vicof
 
1 - 29.12.21 - 11:26
Сделать отдельный профиль без доступа к операциям
   LevelUP
 
2 - 29.12.21 - 11:46
(1)Вариант №1 с открытием конфы, как я понимаю? Отдельной роли на ОперацииБух в конфе не предусмотрено.
   fisher
 
3 - 29.12.21 - 11:55
Создание "вычитающих" ролей невозможно, роли в 1С складываются с приоритетом разрешений.
Варианты решения ты вроде примерно представляешь. У всех свои минусы. Выбирай, что для тебя важнее.
   stfossa
 
4 - 30.12.21 - 01:39
Предлагаю такой вариант: добавьте расширение конфигурации, заимствуйте объект ОперацияБух и переопределите процедуру ОбработкаПроверкиЗаполнения через директиву ИзменениеИКонтроль - сделать в конец процедуры вставку с кодом, который установит Отказ = Истина и текст выведет дополнительно с указанием, кто инициатор блокировки.

Через 3 часа долбежки инициатор сдастся и попросит убрать
   Гений 1С
 
5 - 30.12.21 - 07:54
(0) расширение оф кос, роли 1с только для рлс на чтение имеют смысел
   Dmitrii
 
6 - 30.12.21 - 10:02
На форме документа в ПриСозданииНаСервере проверка - если не ПолноправныйПользователь() или не доступна роль ДобавлениеИзменениеДанныхГлавБух - форма только просмотр.
В ПередЗаписью документа (отдельная подписка или в расширении) та же самая проверка - если не ПолноправныйПользователь() или не доступна роль ДобавлениеИзменениеДанныхГлавБух - Отказ = Истина.

Делать разумеется проще всего в расширении.
БП 3.0 под рукой сейчас нет. Как правильно называется основная роль глав буза на изменение и функция по проверке полноправного пользователя - могу ошибаться.

Пилить отдельный профиль доступа я бы не стал. Это счастье потом придётся ещё и поддерживать.
Рисовать свои роли - тоже.

Хотя с вероятностью 99% следующее задание будет - сделать так, чтобы отдельные бухгалтеры, не смотря на то, что имеют профиль простого бухгалтера, могли всё таки создавать и изменять операции.
Ну и традиционная для таких организаций задача - отключить галочку "Ручная корректировка движений" в документах для обычных бухов.
   LevelUP
 
7 - 30.12.21 - 10:18
(6) Все так.
Только у меня чуть изящнее проверка ПолноправныйПользователь().
Я привязываюсь к основной роли расширения. А основные роли в, свою очередь, раздаются в управлении расширениями. Таким образом, напротив какого пользователя поставил галку, у того и запрещается операция. Галку "использовать основные роли для всех пользователей" в этом случае, конечно, надо отключить.

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