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