Prowadząc konsultacje u moich klientów spotkałem się z takim pytaniem w jaki sposób wyświetlić nazwę aktualnie zalogowanego użytkownika na raporcie. To pomaga w ustaleniu kto drukował dany raport.
Niestety Crystal Reports nie posiada gotowej funkcji.
Co prawda są pola specjalne Current CE User ID, Current CE User Name, ale one działają tylko w przypadku gdy posiadamy produkt Crystal Reports Server.
Ale na szkoleniu dla zaawansowanych wpadłem wspólnie z uczestnikami na bardzo proste rozwiązanie.
Należy utworzyć wyrażenie SQL (SQL Expression) a w jej treści wpisać CURRENT_USER i takie pole na raporcie. Tylko tyle! Raport wywoła funkcję SQL Server i pobierze aktualnie zalogowanego użytkownika do bazy danych. Uwaga - nie do domeny! No chyba, że mamy włączoną autentyfikację Windows.
Oczywiście to idealnie zadziała tylko w przypadku gdy każdy posiada inny login do bazy danych lub używamy wspomnianej autentykacji windowsowej.
Jeśli wszyscy pracujemy na jednym koncie - mam nadzieję, że nie "sa" - to takie rozwiązanie nie zadziała.
Podsumowując, brakuje w Crystal Reports funkcji, która pobierze aktualnie zalogowanego użytkownika do domeny. Zachęcam was do zagłosowania na mój pomysł na stronie https://ideas.sap.com/D31669 i może doczekamy się takiej funkcji w kolejnej wersji Crystal Reports...
Jest jeszcze inny sposób - można użyć dodatkowej biblioteki do wywołań Win32API ale to temat na osobny post...
Komentarze