Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 23:36

Доступ к внешнему отчету

Автор DihlofoZ, 22 июл 2013, 09:30

0 Пользователей и 1 гость просматривают эту тему.

DihlofoZ

собственно сабж

альфа авто 4.1. : есть внешний отчет, хотел бы узнать как можно запретить к нему доступ всем кроме (к примеру): васи, пети, саши ?
у всех троих разные шаблоны прав.....

Vit1501

У каждой роли есть право "Интерактивное открытие внешних отчетов". Можно проверить, чтоб у васи, саши, пети была хоть одна роль с этим правом, а у остальных пользователей нет. Правда при таком раскладе права будут действовать не только на этот отчет, но и на все внешние отчеты.

DihlofoZ

в том то и дело, что внешних отчетов N-ое кол-во, а закрыть доступ нужно именно к одному....

Vit1501

Тогда в коде отчета жестко прописать проверку что-то типа Если РольДоступна("Название роли") То ок - открываем Иначе выдаем пользователю сообщение и закрываем отчет КонецЕсли.

DihlofoZ

т.к. роли у нужных людей разные, сделал немного по другому....

Процедура ДействияФормыОтчетСформировать(Кнопка)

Если ПараметрыСеанса.Пользователь.Наименование = "вася" ИЛИ ПараметрыСеанса.Пользователь.Наименование = "петя" ИЛИ ПараметрыСеанса.Пользователь.Наименование = "дима" Тогда
бла бла бла.......
Иначе 
Сообщить("У вас не достаточно прав для использования данного отчета");
Возврат;
КонецЕсли
КонецПроцедуры


но не хотелось бы ставить условие по имени.... дурной тон что ли)) можно ли придумать какой то другой способ решения моей задачи?

Vit1501

внести отчет в конфигурацию и настроить права ролей к нему, или создать отдельную роль чисто для этого отчета и в коде отчета проверять есть ли у пользователя эта роль

DihlofoZ

ну как бы вводить отчет в конфигурацию это не вариант....
и у людей которым нужно дать доступ совершенно разные роли...

Dethmontt

Создаем свою роль "Доступ к очень "страшным" внешним обработкам"

В коде "страшных" внешних обработок проверяем роль
Процедура ПередОткрытием(Отказ)
Если РольДоступна("ДоступКОченьСтрашнымОбработкам") или РольДоступна("ПолныеПрава") Тогда
Иначе
   Предупреждение("Вам запрещено запускать эту обработку!");
   Отказ = истина;
КонецЕсли;


Ну и нужным пользователя ставим эту роль... (при обновлении проблем не будет с ролью т.к. просто добавлена)
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск