пользователям программных продуктов Scala 5.0, Scala 5.1, iScala 2.1, iScala 2.2, iScala 2.3, iScala 3.0 (и так далее)

Отчёт по правам доступа для различных ролей пользователей iScala

Признаюсь, этот отчёт хотелось сделать давно, но задача оказалась гораздо сложнее, чем с аналогичным отчётом по меню iScala. Всё дело в том, что требуется отслеживать не только права на конкретный элемент, но и на всю иерархию вверх, так как разрешение на верхнем уровне автоматически даёт разрешение на все нижележащие ветки, но в то же время запрет где-либо «перекрывает» все другие разрешения. Именно поэтому я всегда рекомендую избегать накладывать запрет, лучше просто не дать разрешение, в противном случае иногда возникают ситуации, когда главный бухгалтер прекрасно работал с Главной Книгой, захотелось ему посмотреть подробности по складу и ему добавили роль кладовщика. Раз, и пропал доступ в Главную Книгу. Всё из-за неграмотного назначения ролей кладовщику: ему нужно было не давать прав на Главную Книгу, а ему в явной форме доступ туда запретили, что не совсем одно и то же. Таким образом, запрет в роли кладовщика наложился на разрешение в роли главного бухгалтера и, так как запрет имеет большую силу, чем разрешение, главный бухгалтер не может работать с Главной Книгой. Вот такие случаются неприятности, когда невозможно проанализировать права доступа для различных ролей. 🙂
С отчётом, кусочек которого вы видите, всё будет гораздо проще. И самое интересное, теперь эти права доступа сможет просматривать не только администратор через административную консоль iScala, но и внутренний аудитор, например 🙂

А у кладовщика раздача прав на Главную Книгу должна быть сделана примерно так:

Видите, права ему просто не даны, поэтому доступа у него нет. И не надо никаких запретов, он и так туда не допущен. 🙂