Beata Błaszczyk

Beata Błaszczyk Konsultant Business
Intelligence, Lektor
j. angielskiego,...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Witam,

Mam problem z udostępnieniem poszczególnych stron jednego raportu odrębnym użytkownikom. Czy ktoś może wie jak można coś takie zrobić?

Docelowo użytkownik ma się logować do InfoView, gdzie będzie widział w folderze np. 10 raportów. Po otwarciu każdego z nich zobaczy jednak tylko stronę dedykowaną dla siebie (to znaczy wyłącznie ze swoimi danymi, np. wynikami swojej sprzedaży).

Będę bardzo wdzięczna za wszelką pomoc.

Pozdrawiam serdecznie,
Beata
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Crystal Reports posiada funkcje, które zwracają identyfikator lub nazwę użytkownika: CurrentCEUserID oraz CurrentCEUserName. Powinno to działać w InfoView, ale wcześniej sprawdź. Wystarczy, że przeciągniesz te funkcje z Field Explorer | Special Fields na raport.

Jeśli będzie prawidłowo wyświetlać osobę zalogowaną dodaj do formuły filtrowania rekordów (Report | Selection formula | Records) warunek, który będzie filtrować dane na podstawie tego użytkownika.

Na przykład:
{SalesOrderHeader.EmpoyerID} = CurrentCEUserID

Oczywiście identyfikator lub nazwa użytkownika musi się pokrywać z tym co masz w bazie danych.

Daj znać czy udało się osiągnąć zamierzony efekt.

Powodzenia!
Beata Błaszczyk

Beata Błaszczyk Konsultant Business
Intelligence, Lektor
j. angielskiego,...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Nie dziękuję i jednocześnie dziękuję za wskazówki! :)
Właśnie próbuję to zrobić.

W Crystal Reports wartość CurrentCEUserID mam równą 0, natomiast wartość CurrentUserName jest Null. Czy tak powinno być?

Pozdrawiam,
Beata
Marcin Sulecki:
Crystal Reports posiada funkcje, które zwracają identyfikator lub nazwę użytkownika: CurrentCEUserID oraz CurrentCEUserName. Powinno to działać w InfoView, ale wcześniej sprawdź. Wystarczy, że przeciągniesz te funkcje z Field Explorer | Special Fields na raport.

Jeśli będzie prawidłowo wyświetlać osobę zalogowaną dodaj do formuły filtrowania rekordów (Report | Selection formula | Records) warunek, który będzie filtrować dane na podstawie tego użytkownika.

Na przykład:
{SalesOrderHeader.EmpoyerID} = CurrentCEUserID

Oczywiście identyfikator lub nazwa użytkownika musi się pokrywać z tym co masz w bazie danych.

Daj znać czy udało się osiągnąć zamierzony efekt.

Powodzenia!
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Beata Błaszczyk:
Nie dziękuję i jednocześnie dziękuję za wskazówki! :)
Właśnie próbuję to zrobić.

W Crystal Reports wartość CurrentCEUserID mam równą 0, natomiast wartość CurrentUserName jest Null. Czy tak powinno być?

Nie, tak nie powinno być. Rozumiem, że wcześniej zapytał ciebie o login i hasło do InfoView?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Polecam artykuł:
http://rwsql.com/crystal-reports/crystal-reports-row-l...
Beata Błaszczyk

Beata Błaszczyk Konsultant Business
Intelligence, Lektor
j. angielskiego,...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Na razie wrzuciłam CurrentCEUserID oraz CurrentCEUserName na raport w Crystal Reports 2008 i na raporcie mam takie wartości:
CurrentCEUserID = 0
CurrentCEUserName jest null

Gdy tworzę formułę
{TABELA.USER}= CurrentCEUserName

zapytanie już na samym raporcie nic mi nie zwraca przez CurrentCEUserName równe null :((
Zakładam, że powinno na tym etapie zanim przejdzie się dalej z tematem w InfoView.

:(
Marcin Sulecki:
Beata Błaszczyk:
Nie dziękuję i jednocześnie dziękuję za wskazówki! :)
Właśnie próbuję to zrobić.

W Crystal Reports wartość CurrentCEUserID mam równą 0, natomiast wartość CurrentUserName jest Null. Czy tak powinno być?

Nie, tak nie powinno być. Rozumiem, że wcześniej zapytał ciebie o login i hasło do InfoView?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Beata Błaszczyk:
Na razie wrzuciłam CurrentCEUserID oraz CurrentCEUserName na raport w Crystal Reports 2008 i na raporcie mam takie wartości:
CurrentCEUserID = 0
CurrentCEUserName jest null

Gdy tworzę formułę
{TABELA.USER}= CurrentCEUserName

zapytanie już na samym raporcie nic mi nie zwraca przez CurrentCEUserName równe null :((
Zakładam, że powinno na tym etapie zanim przejdzie się dalej z tematem w InfoView.

Jeśli po umieszczeniu tych pól na raporcie nie ma wartości to nawet nie próbuj z filtrem bo raport będzie pusty.
Czy orientujesz się jaką wersję Crystal Reports Server posiadacie?
Beata Błaszczyk

Beata Błaszczyk Konsultant Business
Intelligence, Lektor
j. angielskiego,...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Czy chodzi o:
boxir31.CrystalReportsProcessingServer

12.1.0

?

Z góry dziękuję za wszelką pomoc.
Marcin Sulecki:
Beata Błaszczyk:
Na razie wrzuciłam CurrentCEUserID oraz CurrentCEUserName na raport w Crystal Reports 2008 i na raporcie mam takie wartości:
CurrentCEUserID = 0
CurrentCEUserName jest null

Gdy tworzę formułę
{TABELA.USER}= CurrentCEUserName

zapytanie już na samym raporcie nic mi nie zwraca przez CurrentCEUserName równe null :((
Zakładam, że powinno na tym etapie zanim przejdzie się dalej z tematem w InfoView.

Jeśli po umieszczeniu tych pól na raporcie nie ma wartości to nawet nie próbuj z filtrem bo raport będzie pusty.
Czy orientujesz się jaką wersję Crystal Reports Server posiadacie?
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Beata Błaszczyk:
Czy chodzi o:
boxir31.CrystalReportsProcessingServer

12.1.0

?

Tak, czyli posiadasz Business Objects XI R3.1

Niestety nie wiem dlaczego te funkcje nie zwracają u ciebie żadnych wartości.

Wszystkie rozwiązania na tym bazują:
http://www.trustedbi.com/2007/11/06/row-level-security...

Prawdopodobnie coś trzeba skonfigurować po stronie BO.
Beata Błaszczyk

Beata Błaszczyk Konsultant Business
Intelligence, Lektor
j. angielskiego,...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Co ślepemu po oczach :-/
Nie byłam połączona z repozytorium.

Teraz mam już jakieś wartości:
CurrentCEUserID = 12
CurrentCEUserName = Administrator

Spróbuję coś podziałać bazując na tym co mi podesłałeś - dziękuję Ci bardzo za pomoc!!
Jednocześnie będę ogromnie wdzięczna jeśli będę się mogła czasem z czymś odezwać - dopiero się uczę Crystal Reports.
Służę natomiast szeroką wiedzą dotyczącą Actuate :D

Pozdrawiam!
Marcin Sulecki:
Beata Błaszczyk:
Czy chodzi o:
boxir31.CrystalReportsProcessingServer

12.1.0

?

Tak, czyli posiadasz Business Objects XI R3.1

Niestety nie wiem dlaczego te funkcje nie zwracają u ciebie żadnych wartości.

Wszystkie rozwiązania na tym bazują:
http://www.trustedbi.com/2007/11/06/row-level-security...

Prawdopodobnie coś trzeba skonfigurować po stronie BO.
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Beata Błaszczyk:
Co ślepemu po oczach :-/
Nie byłam połączona z repozytorium.

Uff, a już myślałem, że to jakiś poważniejszy problem :)
Teraz mam już jakieś wartości:
CurrentCEUserID = 12
CurrentCEUserName = Administrator

Super! No to już z górki :)

Czy w twojej tabeli jest identyfikator użytkownika? Jeśli jest, ale nie pokrywa się z tymi z BO to trzeba będzie wprowadzić tabelę mapującą.

Polecam się na przyszłość :)
Beata Błaszczyk

Beata Błaszczyk Konsultant Business
Intelligence, Lektor
j. angielskiego,...

Temat: Page-Level Security w InfoView - dostęp do poszczególnych...

Witam ponownie,

Udało się zrobić logowanie :) jeszcze raz bardzo dziękuję!

Chciałabym jeszcze podpytać o następujące kwestie:

1. Czy raport dla danego użytkownika, który loguje się do InfoView, jest generowany ad-hoc?
Jeśli tak, to czy jakkolwiek można tego uniknąć korzystając z wygenerowanego raportu dla wszystkich, albo w jakiś sposób korzystać z cache?

2. Czy wygenerowane raporty dla użytkownika można historyzować i każdy kolejny który wygeneruje na swoim profilu odkładać? Najlepszą opcją byłoby zapisywanie pojedynczych raportów za dany miesiąc, np. 03.2012 i nadpisywanie każdej wersji raportu za 03.2012, natomiast w 04.2012 wygenerowanie odzielnego raportu i ponowne jego nadpisywanie za 04.2012. Użytkownik wówczas miałby listę pojedynczych raportów za każdy miesiąc oddzielnie.

Czy coś takiego jest możliwe?

Dziękuję z góry za wskazówki i pozdrawiam serdecznie!
Beata

Marcin Sulecki:
Beata Błaszczyk:
Co ślepemu po oczach :-/
Nie byłam połączona z repozytorium.

Uff, a już myślałem, że to jakiś poważniejszy problem :)
Teraz mam już jakieś wartości:
CurrentCEUserID = 12
CurrentCEUserName = Administrator

Super! No to już z górki :)

Czy w twojej tabeli jest identyfikator użytkownika? Jeśli jest, ale nie pokrywa się z tymi z BO to trzeba będzie wprowadzić tabelę mapującą.

Polecam się na przyszłość :)



Wyślij zaproszenie do