Y a t il un moyen dans mon rapport IReport de définir un paramètre qui me renverrait le user jasper server quand j exécute ce rapport sur Jasper Server? (l'équivalent BOUSER sur business objects si mes souvenirs sont bons)
Y a t il un moyen dans mon rapport IReport de définir un paramètre qui me renverrait le user jasper server quand j exécute ce rapport sur Jasper Server? (l'équivalent BOUSER sur business objects si mes souvenirs sont bons)
Hello !
Tu as la possibilité de modifier la page associée à l'exécution du rapport. Je t'invite à le faire et à récupérer en session une variable telle que j_username qu'il sera alors possible de passer à ton rapport en tant que paramètre.
Bien à toi.
J'anticipe un petit peu, mais j'imagine que la question suivante est :
Comment alors faire en sorte que JasperServer fasse le mapping automatique $P{j_username} <=> Utilisateur connecté
(et faire en sorte que des utilisateurs normaux ne puissent pas le changer)
Pourquoi ne pas utiliser le paramètre intrinsèque $P{LoggedInUser} et avoir le nom en définissant un autre paramètre avec valeur défaut:
$P{LoggedInUser}.getFullName()
merci egwada et jmini, ça a l air simple pour vous mais c 'est pas si clair pour moi
quand vous dîtes de créer un paramètre j_username : je suis sur i report j ajoute un paramètre dans mon rapport que je nomme j_username? (c'est un mot réservé ?) et ensuite sur jasper server comment cette variable j_username est alimentée par le login du user??
Si çà peut t'aider et que tu ne l'as pas déjà vu je te mets un lien vers le forum anglais de jasperserver où l'on annonce la RC de jasperserver 3.7 et dans lequel il y a un topo (en anglais) sur les cascading input control avec vers la fin toute une tirade sur le paramètre implicite LoggedInUser
http://jasperforge.org/plugins/mwiki..._specification
De ce que je comprends du document envoyé par Gabriel.Entressangle
La seule chose que tu as à faire dans iReport c'est d'ajouter un parametre de type String qui se nomme "LoggedInUsername" (et c'est ça le nom réservé par JasperReport).The above "always available" parameters are also provided for reports if they are defined as parameters in the JRXML. This adds to the current LoggedInUser and LoggedInUsername parameters that are currently available.
(peut être que je n'ai pas tout compris et qu'il faut la version 3.7 de JasperServer)
Comme je le mentionnais, si on ajoute un paramètre au hasard (comme j_username) ça implique qu'il manque une étape de mapping (dont je ne sais même pas si elle est possible dans JasperServer)
ok je vais jeter un oeil là dessus
si je puis me permettre un petit complément : ce paramètre LoggedInUser existe déjà dans la version 3.5 de jasperserver.
Par contre il n'est pas de type "String" mais "com.jaspersoft.jasperserver.api.metadata.user.domain.User".
Comme ce type n'existe pas dans iReport il faut le "forcer" en l'entrant à la main.
Et en suite en général on l'utilise pour avoir d'autres infos, comme le nom complet du user par "$P{LoggedInUser}.getFullName()".
C'est la seule méthode que perso j'ai utilisée et ca marche très bien.
Dans la version 3.7, avec les "cascading controls", on peut utiliser ce paramètre dans les requêtes de définition des paramètres entrés.
J'espère que çà pourra aider
super, ça marche, il me manquait juste le forcage de la classe
merci bcp
Bonjour,
Je bute toujours....
en effet, j'ai besoin du username dans mon query et quand je force la classe, j'ai une erreur :
Parameter type not supoprted
Si je mets en java.lang.String pas d'erreur mais mon query ne me ramène aucune ligne....
Je tourne en rond !!!!!
Ca me surprend car j'utilise ce type de paramètre depuis des mois et je n'ai pas eu de problèmes jusqu'à présent. Bien sûr ca ne marche que dans jasperserver. Perso je ne teste jamais sous iReport en local donc je ne sais pas comment ca se comporte dans ce cas.
Pour information, effectivement, ça marche
Méthode :
----------
Dans Ireport, déclaré un paramètre LoggedInUser de type : com.jaspersoft.jasperserver.api.metadata.user.domain.User
Un autre par exemple : utilisateur de type java.lang.String
avec valeur par défaut : $P{LoggedInUser}.getUsername()
ATTENTION, le paramètre LoggedInUser doit etre placé avant
Dans le query : and tab.colone =$P{utilisateur}
Effectivement, pas utilisable dans ireport
donc je commence sans le paramètre puis quand je suis arrvié à un stade qui me convient, je l'ajout et et je poursuis avec jasperserver
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager