С Новым годом! Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 21.06.2023
Сообщений: 11
1

Выбор отчетов в зависимости от роли пользователя

21.06.2023, 10:30. Показов 759. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как сделать привязку пользователя к определенному отчету, чтобы при выборе пользователя выводились те отчеты, которые доступны ему, а не которые доступны вприницпе?
В ролях уже к пользователям привязаны отчеты, но все равно отображает весь список

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Процедура ПриОткрытииНаСервере()
    СписокОтчетов = Новый СписокЗначений;
    Для каждого Отчет Из Метаданные.Отчеты Цикл
            ЭлементСписка = СписокОтчетов.Добавить(Отчет);
    КонецЦикла;   
    ВыбранныйЭлемент = СписокОтчетов.ВыбратьЭлемент("Выберите отчет", СписокОтчетов[0]);
    Если ВыбранныйЭлемент <> Неопределено Тогда
        Отчеты[ВыбранныйЭлемент.Значение.Имя].ПолучитьФорму().Открыть();
    КонецЕсли;
КонецПроцедуры
Процедура ВыборПользователя()
    ФРМ = Справочники.Пользователи.ПолучитьФормуВыбора();
    Результат = ФРМ.ОткрытьМодально();
    Если Результат = Неопределено Тогда
        Возврат;
    КонецЕсли;
КонецПроцедуры
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2023, 10:30
Ответы с готовыми решениями:

Содержимое представления в зависимости от роли пользователя
Здравствуйте, друзья! В приложении реализована авторизация на основе Identity. Имеется 3 вида...

Видимость кнопки в зависимости от роли пользователя
Если у меня такой код, как сделать чтобы показывала кнопка у одного пользователя using System;...

Скрыть пункт меню в зависимости от роли пользователя
Доброго времени суток. Не селен в php, но нужна помощь. есть код на html &lt;nav...

Открытие определенных форм в зависимости от роли пользователя
Добрый день, в Access 2010 нужно открыть - форму для логистов, если введены данные роли...

Переадрессация на нужную страницу при авторизации в зависимости от роли пользователя
Подскажите пожалуйста, как реализовать сравнение роли пользователя, что бы в зависимости от роли,...

14
null
57 / 51 / 13
Регистрация: 06.11.2012
Сообщений: 431
21.06.2023, 11:57 2
Можно сделать так: либо в табличную часть отчета, либо в дополнительные реквизиты записать доступные роли циклом (РольДоступна()) этого отчета обработкой, а после кодом
1C
1
2
3
4
5
Для Каждого Строка из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл
    Если Строка.Роли.Содержит(Метаданные.Роли.ПолныеПрава) Тогда
        Сообщить(Строка);
    КонецЕсли
КонецЦикла
получать роли пол-ля и если есть одна и та же роль - отчет доступен
0
0 / 0 / 0
Регистрация: 21.06.2023
Сообщений: 11
21.06.2023, 14:32  [ТС] 3
delphi_Int, это в выбор пользователя написать?

Добавлено через 23 минуты
delphi_Int, можешь расписать чего конкретно сделать, пожалуйста
0
null
57 / 51 / 13
Регистрация: 06.11.2012
Сообщений: 431
21.06.2023, 14:52 4
Если право есть, то и форма будет доступна
Миниатюры
Выбор отчетов в зависимости от роли пользователя  
0
null
57 / 51 / 13
Регистрация: 06.11.2012
Сообщений: 431
21.06.2023, 14:53 5
так гораздо проще. Сделай в попытке и на продакшн
0
0 / 0 / 0
Регистрация: 21.06.2023
Сообщений: 11
21.06.2023, 15:00  [ТС] 6
delphi_Int, чет я ниче не понял, мне в предприятии надо, чтобы при выборе пользователя, выводились те отчеты, которые ему доступны
0
null
57 / 51 / 13
Регистрация: 06.11.2012
Сообщений: 431
21.06.2023, 15:31 7
1C
1
2
3
4
Для каждого Отчет Из Метаданные.Отчеты Цикл
        ЭлементСписка = Отчет.ОсновнаяФорма.Родитель();
        Сообщить(ЭлементСписка);
    КонецЦикла;
то что выводит, на то есть права. Если нет то нет

Добавлено через 44 секунды
запустил под манагером у которого ограничены права сильно. Вывел то на что есть право

Добавлено через 5 минут
а в твоем случаи выводит все - тоже под менеджером проверил
0
0 / 0 / 0
Регистрация: 21.06.2023
Сообщений: 11
21.06.2023, 15:37  [ТС] 8
delphi_Int, я так понял, последний код вместо цикла для каждого вставлять?
0
null
57 / 51 / 13
Регистрация: 06.11.2012
Сообщений: 431
21.06.2023, 15:38 9
Да да
0
0 / 0 / 0
Регистрация: 21.06.2023
Сообщений: 11
21.06.2023, 15:39  [ТС] 10
delphi_Int, пишет: значение не является значением объектного типа (родитель)*
0
null
57 / 51 / 13
Регистрация: 06.11.2012
Сообщений: 431
21.06.2023, 15:40 11
Ну это уже твои манипуляции...там дальше сам
0
0 / 0 / 0
Регистрация: 21.06.2023
Сообщений: 11
21.06.2023, 15:43  [ТС] 12
delphi_Int, вот код
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Процедура ПриОткрытииНаСервере()
    СписокОтчетов = Новый СписокЗначений;
    Для каждого Отчет Из Метаданные.Отчеты Цикл
        ЭлементСписка = Отчет.ОсновнаяФорма.Родитель();
    КонецЦикла;   
    ВыбранныйЭлемент = СписокОтчетов.ВыбратьЭлемент("Выберите отчет", СписокОтчетов[0]);
    Если ВыбранныйЭлемент <> Неопределено Тогда
        Отчеты[ВыбранныйЭлемент.Значение.Имя].ПолучитьФорму().Открыть();
    КонецЕсли;
КонецПроцедуры 
 
Процедура ВыборПользователя()
    ФРМ = Справочники.Пользователи.ПолучитьФормуВыбора();
    Результат = ФРМ.ОткрытьМодально();
    Если Результат = Неопределено Тогда
        Возврат;
    КонецЕсли;
КонецПроцедуры
0
Модератор
2296 / 839 / 244
Регистрация: 22.04.2013
Сообщений: 6,155
Записей в блоге: 1
21.06.2023, 19:52 13
ну так что такое за функция - родитель() ?
расскажи

Добавлено через 5 минут
Цитата Сообщение от acelysX Посмотреть сообщение
Процедура ВыборПользователя()
ФРМ = Справочники.Пользователи.ПолучитьФормуВыбора();
Результат = ФРМ.ОткрытьМодально();
Если Результат = Неопределено Тогда
Возврат;
КонецЕсли;
КонецПроцедуры
а здесь какая сермяжная правда сокрыта?
если результат равно неопределено тогда возврат
если нет - то конец процедуры и, собсно, возврат
0
0 / 0 / 0
Регистрация: 21.06.2023
Сообщений: 11
22.06.2023, 09:59  [ТС] 14
Yulunga, я ее допилил с помощью РольДоступна и убрал возврат, пишет ошибку, но ещё нужно ограничить список отчетов для пользователя, как это сделать?
0
3031 / 1584 / 576
Регистрация: 16.01.2015
Сообщений: 6,735
22.06.2023, 11:59 15
acelysX, Конфигурация
Цитата Сообщение от acelysX Посмотреть сообщение
В ролях уже к пользователям привязаны отчеты, но все равно отображает весь список
Значит есть роль(и), которая дает право на отчеты. Принцип ограничений в 1С: Если хоть одна присвоенная роль разрешает, игнорируются все остальные роли с ограничениями. Найди и отбери эту роль у всех пользователей
0
22.06.2023, 11:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.06.2023, 11:59
Помогаю со студенческими работами здесь

Вывод разных форм в зависимости от роли пользователя (admin или user)
В базе данных имеется таблица login с id, Логин, Пароль, role. role может быть user или admin...

Перенаправление после успешной авторизации в зависимости от роли пользователя через класс LoginView()
Товарищи, всем доброго времени суток. Не так давно решил освоить Django, поэтому не обессудьте,...

Выбор варианта сценария в зависимости от ответа пользователя
Ребят,я ток начал изучать программирование,подскажите плз,как сделать,что бы при вводе пола &quot;м&quot;...

DI-контейнер в роли зависимости
Наблюдал два подхода при разрешении зависимостей (контейнер любой). public SomeService(ILogger...

роли пользователя
Здравствуйте, =) у меня такая проблема: есть БД, в которой содержатся страницы сайта в виде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru