Формулировка проблемы: на данный момент в системе приняты следующие правила:
в случае назначения нового сотрудника канцелярии ему по умолчанию даются права на чтение и запись для всех существующих журналов системы;
в случае создания нового журнала всем сотрудникам канцелярии по умолчанию даются права на чтение и запись для этого нового журнала.
В связи с этим приходится вручную для необходимых журналов убирать эти права у сотрудников канцелярии.
Используется:
Административное приложение → Картотека → Управление пользователями → Карточка пользователя → Сотрудник канцелярии;
Конфигуратор → Документооборот → Журналы → Права на журнал.
Решение.
Во-первых, необходимо доработать механизм, при котором все сотрудники канцелярии автоматически попадают в список прав на журналы с правами чтения и записи:
оставить поведение, что все сотрудники канцелярии отображаются в правах всех журналов;
но убрать им автоматическое назначение прав на чтение и запись.
Таким образом:
в случае назначения нового сотрудника канцелярии ему не будут даваться какие-либо права для всех существующих журналов системы;
в случае создания нового журнала никому из существующих сотрудников канцелярии не будут даваться какие-либо права.
Примечание.
В результате реализации данной задачи для новых сотрудников и новых создаваемых журналов права на журналы необходимо будет указывать вручную.
Во-вторых, включение любого из флажков прав на журнал (за исключением права на чтение), должно автоматически включать и делать недоступным флажок "Чтение". Вновь доступным для отключения он должен стать только после выключения всех остальных флажков в данном журнале.
Кроме того, необходимо доработать флажки прав на журналы следующим образом. Добавить в таблицу новый столбец "Все":
включенный флажок означает наличие всех прав на журнал (флажок "Чтение" при этом включен и недоступен);
частично включенный флажок означает наличие частичных (не всех) прав на журнал;
выключенный флажок означает полное отсутствие прав на журнал.
Флажок в столбце "Все" меняет свои состояния:
выключен → включен: автоматически включаются все флажки прав;
включен → выключен: автоматически выключаются все флажки прав;
включен → частично включен: если из всех включенных флажков прав выключают хотя бы один флажок;
частично включен → выключен: автоматически выключаются все флажки прав;
выключен → частично включен: если из всех выключенных флажков прав включают хотя бы один флажок;
частично включен → включен: если из частично включенных флажков прав включают все остальные флажки.
Действия при обновлении системы.
При обновлении системы текущая настройка прав во всех журналах обновится.
Во-первых, всем сотрудникам канцелярии, у которых был включен любой из флажков прав на журнал (за исключением права на чтение), флажок "Чтение" автоматически не включится. Это делается для избежания несанкционированного появления доступа к журналу.
Во-вторых, появится столбец "Все" со значением, соответствующим текущему набору прав (включен / частично включен / выключен).
В-третьих, удалить из БД все права на все журналы у тех пользователей, которые не являются сотрудниками канцелярии.