IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SSRS Discussion :

Paramètres pour un "Pop-up"


Sujet :

SSRS

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 145
    Points
    145
    Par défaut Paramètres pour un "Pop-up"
    Bonjour tout le monde,

    Je sais que cela va vous paraitre bateau, mais j'ai un léger problème lors du passage de paramètres pour ouvrir un report dans un pop-up.

    J'ai une action définie sur un champ de mon Rapport qui va m'ouvrir un second rapport dans une nouvelle fenêtre.
    Cette action est définie par la fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ="javascript:void window.open ('http://NomServeur/reportserver?/Test/Greg_Test_Ordner/Folder/CustomerOverview_ProductInfo&ContractNo=" 
    & Fields!ContractNo.Value & "&ContractProductPackCode=" & Fields!ContractProductPackCode.Value 
    & "&rs:Command=Render','_blank','resizeable=true,scrollbars=true,toolbar=0,status=true,menu=0,top=20,left=20,width=1024,height=768')"
    Cela m'ouvre bien le pop-up, cependant, dans certains cas, 'Fields!ContractProductPackCode.Value' contient des caractères exotiques (Je n'ai pas fais le design de la base, alors ne me tapez pas dessus ) comme des + ou des ä,ö etc.

    Le problème est que visiblement, SSRS n'est pas en mesure de prendre la valeur du champ en tant que telle ( String ), mais essaie de l'interpréter et, du coup, cela passe un paramütre incomplet et m'ouvre un rapport vide.
    par exemple, j'ai une valeur "ch_+_8 West_All". Si je fais un select sur la base SQL concernée, il ressort bien cette valeur.
    Par contre, lorsque je cliques sur mon lien pour ouvrir mon second rapport, il me passe en paramètre "ch_ _8 West_all" (Le + est remplacé par un espace).

    Ma question est de savoir si je peux obtenir que SSRS me passe le paramètre correctement sans qu'il interprète le "+" comme une aggrégation (en d'autre termes, qu'il prenne la chaine en tant que telle dans son intégralité) ?

    Merci beaucoup par avance pour votre aide
    Bien souvent on peut résumer les problèmes rencontrés par:

    select Cause from Error

    Results:
    Interface_Chaise_Clavier

    Bonne journée

  2. #2
    Membre émérite Avatar de FrancoisJehl
    Homme Profil pro
    BI Engineer
    Inscrit en
    Juillet 2009
    Messages
    1 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : BI Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 485
    Points : 2 883
    Points
    2 883
    Par défaut
    Il faut que tu encodes tes valeurs pour un passaeg par URL.
    Tu peux utiliser UrlEncode() dans un script VB dans le code du rapport, comme montré ici: http://capstonebi.blogspot.fr/2010/0...-services.html
    François JEHL
    BI Engineer | MVP SQL Server
    http://fjehl.wordpress.com
    Pour me contacter, par MP ou ici, mais pas pour des questions techniques.

    /*
    Avant de poster cherchez dans la FAQ et utilisez la fonction "Rechercher" du forum.
    Au moment de poster, posez votre question dans le bon sous-forum (Débuter, SSAS, SSRS, SSIS), en utilisant les TAGs prédéfinis ([2K], [2K5], [2K8], [2K8R2]).
    */

  3. #3
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 145
    Points
    145
    Par défaut
    Merci pour la réponse

    Je vais tester cela de ce pas et je vous donne un feedback dès que j'ai fini.
    Bien souvent on peut résumer les problèmes rencontrés par:

    select Cause from Error

    Results:
    Interface_Chaise_Clavier

    Bonne journée

  4. #4
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 145
    Points
    145
    Par défaut
    Bonjour,

    J'ai testé la solution proposée et cela fonctionne (en partie du moins car il faut maintenant que j'adapte à tous mes autres popup )

    Toutefois, il me reste un léger problème (Adaptations de dernières minutes requises par les utilisateurs :s ):

    Toujours avec mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ="javascript:void window.open ('http://NomServeur/reportserver?/Test/Greg_Test_Ordner/Folder/CustomerOverview_ProductInfo&ContractNo=" 
    & FIELDS!ContractNo.Value & "&ContractProductPackCode=" & FIELDS!ContractProductPackCode.Value 
    & "&rs:Command=Render','_blank','resizeable=true,scrollbars=true,toolbar=0,status=true,menu=0,top=20,left=20,width=1024,height=768')"
    il faudrait que j'ai la possibilité de passer un paramètre conditionnel, CAD:
    - Si FIELDS!ContractNo.Value contient une valeur alors le paramètre sera FIELDS!ContractNo.Value
    - Si FIELDS!ContractNo.Value est Null, le paramètre à passer doit devenir Fields!ProductCode.Value

    Cela est-il possible à votre avis?
    J'ai tenté d'insérer un if dans ma chaine mentionnée ci-dessus, mais ça n'a pas l'air de me le prendre en compte.
    J'ai du faire une coquille quelque part:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ="javascript:void window.open ('http://dnbw08preprt01/reportserver?/Test/Greg_Test_Ordner/FinanzTest/CustomerOverview_ProductInfo&ContractNo=" 
    & Fields!ContractNo.Value & "iff (isNothing(Fields!ContractProductPackCode.Value), &ProductCode,&ContractProductPackCode=" & Code.UrlEncode(Fields!ContractProductPackCode.Value) or Code.UrlEncode(Fields!ProductCode.Value) & "&rs:Command=Render','_blank','resizeable=true,scrollbars=true,toolbar=0,status=true,menu=0,top=20,left=20,width=1024,height=768')"
    Auriez-vous une idée? Je continue à chercher de mon côté de toute manière et je vous donnerais un feedback si je trouve
    Bien souvent on peut résumer les problèmes rencontrés par:

    select Cause from Error

    Results:
    Interface_Chaise_Clavier

    Bonne journée

  5. #5
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 145
    Points
    145
    Par défaut
    Bonjour,

    Bon, j'ai tenté de résoudre mon problème ave un iif, mais cela me renvoie une erreur disant "Wrong Number of Arguments". Je dois avouer que je commence à désespérer un poil là
    Le code de l'expression donne ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    = iif (isnothing(FIELDS!ContractProductPackCode.Value,("javascript:void window.open ('http://dnbw08preprt01/reportserver?/Test/Greg_Test_Ordner/FinanzTest/CustomerOverview_ProductInfo&ContractNo=" 
    & FIELDS!ContractNo.Value & "&ProductCode=" & FIELDS!ProductCode.Value & "&rs:Command=Render','_blank','resizeable=true,scrollbars=true,toolbar=0,status=true,menu=0,top=20,left=20,width=1024,height=768')"),
    ("javascript:void window.open ('http://dnbw08preprt01/reportserver?/Test/Greg_Test_Ordner/FinanzTest/CustomerOverview_ProductInfo&ContractNo=" & FIELDS!ContractNo.Value & "&ContractProductPackCode=" 
    & FIELDS!ContractProductPackCode.Value & "&rs:Command=Render','_blank','resizeable=true,scrollbars=true,toolbar=0,status=true,menu=0,top=20,left=20,width=1024,height=768')"))
    Je suis sûr d'avoir loupé quelque chose, mais quoi? Là est la question :s

    Si quelqu'un d'entre vous aurait 5 minutes pour jeter un oeil ça serait sympa...
    Je continue tout de même à chercher de mon côté

    Merci d'avance
    Bien souvent on peut résumer les problèmes rencontrés par:

    select Cause from Error

    Results:
    Interface_Chaise_Clavier

    Bonne journée

  6. #6
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 145
    Points
    145
    Par défaut
    Dans mon code précédent, j'ai trouvé l'erreur : J'avais oublié de fermer une parenthèse

    Je teste la solution et je vous tiens au courant
    Bien souvent on peut résumer les problèmes rencontrés par:

    select Cause from Error

    Results:
    Interface_Chaise_Clavier

    Bonne journée

  7. #7
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 145
    Points
    145
    Par défaut
    Bon, ça marche comme ça.
    C'est pas forcément ce qu'il y a de plus joli au niveau solution, mais cela fonctionne bien, donc me reste plus qu'à montrer le résultat aux personnes concernées et faire valider avant de le passer en Prod
    Bien souvent on peut résumer les problèmes rencontrés par:

    select Cause from Error

    Results:
    Interface_Chaise_Clavier

    Bonne journée

  8. #8
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2012
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 81
    Points : 145
    Points
    145
    Par défaut
    Alors, finalement, la solution proposé par françois (http://capstonebi.blogspot.fr/2010/0...-services.html) n'a pas l'air de fonctionner chez moi
    En effet, lorsque je tente de donner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Code.URLEncode(Fields!ContractProductPackCode.Value)
    en guise de paramètre, il continue à ne pas prendre en compte les caractères spéciaux (ä,ö par exemple)
    De plus, lorsque dans mon champ j'ai une valeur contenant '_+_' il me remplace automatiquement le '+' par un espace

    Du coup, lorsque je clicke sur mon lien, il m'ouvre bien le Pop up mais en passant un paramètre incorrect et mon report est vide
    Bien souvent on peut résumer les problèmes rencontrés par:

    select Cause from Error

    Results:
    Interface_Chaise_Clavier

    Bonne journée

  9. #9
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 229
    Points : 266
    Points
    266
    Par défaut
    Je déterre ce post car j'ai le même problème que Swiss_GaGGy en utilisant la fonction javascript window.open.
    Le pop-up s'ouvre mais les paramètres récupérés dans l'URL sont incorrectes s'ils contiennent des caractères diacritiques. Même avec la solution proposée par François.
    Par contre, sans faire de pop-up et en lançant directement l'URL, ça fonctionne parfaitement.
    J'ai contourné en évitant les caractères spéciaux dans l'URL.
    Mais à tout hasard avez-vous une solution ?
    Merci.

Discussions similaires

  1. Quote et double quote dans les requêtes paramétrées
    Par michel.souris dans le forum WinDev
    Réponses: 5
    Dernier message: 07/06/2013, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo