|
Как в отчете СКД задавать текущего пользователя, полученного из параметров сеанса? | ☑ | ||
---|---|---|---|---|
0
Dan12345
06.03.23
✎
16:50
|
Добрый день. Есть отчет "Выданные книги". Для администратора библиотеки формируется отчет по всем посетителям.
Стоит задача сделать так, чтобы при авторизации посетителя, он мог строить этот отчет только по себе, а не по всем. Создал параметр сеанса, считываю там текущего пользователя. Соответственно, как я понимаю, нужно в отчет передавать параметром значение текущего пользователя, но не знаю как. |
|||
1
mikecool
06.03.23
✎
16:52
|
создать параметр, задань на вкладке его значение, профит
|
|||
2
KJlag
06.03.23
✎
16:56
|
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
ПараметрыСКД = КомпоновщикНастроек.Настройки.ПараметрыДанных; ... ПараметрыСКД.УстановитьЗначениеПараметра("Пользак", Пользак); КонецПроцедуры |
|||
3
Dan12345
06.03.23
✎
17:02
|
(2) так же сделал. не помогло)
может где-то еще проблема не знаю. задаю условие на клиента по наименованию текущего пользователя. в параметрах создал ТекущийПользователь в модуле объекта: Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Параметры = КомпоновщикНастроек.Настройки.ПараметрыДанных; Параметры.УстановитьЗначениеПараметра("ТекущийПользователь", ПараметрыСеанса.ТекущийПользователь); КонецПроцедуры в модуле сеанса: Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) Имя = ПользователиИнформационнойБазы.ТекущийПользователь().Имя; Клиент = Справочники.Клиенты.НайтиПоНаименованию(Имя); Если Клиент.Пустая() Тогда КлиентОбъект = Справочники.Клиенты.СоздатьЭлемент(); КлиентОбъект.Наименование = Имя; Клиент = КлиентОбъект.Ссылка; КонецЕсли; ПараметрыСеанса.ТекущийПользователь = Клиент; КонецПроцедуры |
|||
4
unenu
06.03.23
✎
17:06
|
Параметр.Использование = Истина
|
|||
5
Мультук
гуру
06.03.23
✎
17:07
|
(3)
КлиентОбъект = Справочники.Клиенты.СоздатьЭлемент(); КлиентОбъект.Наименование = Имя; КлиентОбъект.Записать(); //<-------------------------------------------------------------------- Клиент = КлиентОбъект.Ссылка; |
|||
6
Dan12345
06.03.23
✎
17:10
|
Разобрался. Сравнивал по наименованию клиента, а нужно было по ссылке. Всем спасибо!
|
|||
7
Dan12345
06.03.23
✎
17:37
|
К этой же теме. Вопрос такой. Пользователю не выводится макет отчета. Выводится только "Параметр: <ФИО>", то есть тот клиент, который считался и записался в параметр запроса.
Если дать этому пользователю админские права, то все ок. Стоят права на чтение регистров, использование и просмотр самого отчета. Чего может не хватать? |
|||
8
Мультук
гуру
06.03.23
✎
18:29
|
(7)
Не хватает прав на чтение и просмотр данных по которым строится отчёт |
|||
9
Donkey_hot
06.03.23
✎
18:38
|
(0) А не правильнее методически через RLS это сделать?
|
|||
10
Dan12345
06.03.23
✎
21:25
|
(9) правильнее. я не смог найти инфы. если скинете - буду благодарен.
|
|||
11
Dan12345
06.03.23
✎
22:23
|
проблема решена. нужно было в запросе просто поставить галку "разрешенные", поэтому через RLS изначально не получалось))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |