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

InfoPath .NET Discussion :

Tableau extensible avec sélecteur de personne et droits d'accès


Sujet :

InfoPath .NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Pas du tout informaticien
    Inscrit en
    Septembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Pas du tout informaticien
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Tableau extensible avec sélecteur de personne et droits d'accès
    Bonjour,


    Je suis un peu bloqué avec un formulaire IP et je cherche une solution, soit à partir de ce que j'avais imaginé ou alors une solution équivalente peut-être plus adaptée. Voilà ce que je voudrais faire :

    Il s'agit d'un formulaire créé via une librairie "Form" dans Sharepoint. L'utilisateur crée le formulaire, le remplit et sélectionne un ou plusieurs validateurs et un ou plusieurs utilisateurs "pour info" via un sélecteur de personnes dans des tableaux extensibles.
    Via un bouton, le formulaire est ensuite envoyé par mail aux validateurs et aux utilisateurs pour info.

    La validation se fait via cases d'options accolées aux validateurs dans le tableau extensible "validateurs" : chaque validateur doit choisir s'il valide ou non puis enregistrer le formulaire via un bouton.

    Evidemment je souhaite que les cases d'options soient modifiables uniquement par la personne désignée par le sélecteur de personnes. Je souhaite également que mon formulaire ne soit modifiable que par le créateur en dehors des champs de validation.


    En gros c'est là que le bas blesse, je ne sais pas comment récupérer les paramètres "DisplayName" associés aux utilisateurs désignés dans mon tableau extensible. Je peux récupérer le premier de chaque tableau, mais pas les suivants...


    Pour l'envoi du mail, il semblerait que la commande xpath "Eval" le permette, mais pas de restreindre chaque ligne du tableau extensible séparément. J'imagine que je pourrais restreindre mon tableau extensible en entier à l'ensemble des validateurs mais ça n'est pas idéal...


    Est-ce qu'il y a un moyen de résoudre mon problème ?


    Précision à toutes fins utiles : je suis pratiquement allergique au code sous toute ses formes, la vue d'une ligne xpath pour concaténer mes noms d'utilisateurs me donne déjà des boutons, donc je cherche une solution relativement simple et adaptée au mécanicien de base que je suis...


    Merci,
    P.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Référent technique
    Inscrit en
    Juillet 2007
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Référent technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 834
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    On va tenter de ne pas vous causer d'allergie alors.
    IP comprend une fonction permettant de récupérer l'utilisateur actuel du formulaire (aller dans formule / Utilisateur / nomutilisateur).

    Pour votre besoin, je positionnerai donc une nouvelle règle de type formatage sur votre champ à valider par l'utilisateur connecté).
    Sur cette règle, positionner une condition selon la logique suivante:
    • Zone déroulante gauche : Choisir le champ Displayname situé dans le groupe "Person",
    • Zone centrale : "Sélectionner "n'est pas égal à",
    • Zone déroulante droite : Sélectionner "Utiliser une formule / Utilisateur / nomutilisateur).


    Puis sélectionner "Désactiver le contrôle lorsque cette condition est respectée.
    Ainsi seul le valideur concerné pourra prendre position sur son élément de validation.

    Si cela ne fonctionne pas, vérifier les valeurs des champs displayname (en faisant un drag and drop à côté du contrôle people picker) et de la fonction InfoPath "nomutilisateur" (en ajoutant une zone d'expression par exemple) afin de vérifier ce qui coince.

    Cordialement,
    Rémi MATAYRON
    N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/

    Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Pas du tout informaticien
    Inscrit en
    Septembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Pas du tout informaticien
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre réponse. Effectivement, c'est bien ce que je pensais faire, plus ou moins.

    Mon problème principal, c'est que je souhaite laisser la possibilité d'avoir un ou plusieurs validateurs avec chacun des champs attitrés, donc dans un tableau extensible comme suit :

    Nom : Capture.JPG
Affichages : 241
Taille : 18,1 Ko


    Est-ce que si je crée cette règle, elle va bien s'appliquer pour chaque ligne du tableau extensible ?

    C'est difficile à tester tout seul vu que je ne peux pas me dédoubler...


    P.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Référent technique
    Inscrit en
    Juillet 2007
    Messages
    834
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Référent technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 834
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    Oui oui cela fonctionne, c'est le test que j'ai fait. cf la PJ:

    Nom : IP.PNG
Affichages : 299
Taille : 8,0 Ko
    Rémi MATAYRON
    N'hésitez pas à visiter mon blog dédié à InfoPath et SharePoint : http://rmatayron.blogspot.com/

    Pour plus de visibilité sur le forum, marquer la question en [Résolu] lorsque la réponse fournie vous convient.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Pas du tout informaticien
    Inscrit en
    Septembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Pas du tout informaticien
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Impeccable, merci. Du coup c'est plus simple que je ne pensais.


    Par contre je suis en train de m'arracher les cheveux avec la fonction "eval"... J'ai vu ici que quelqu'un avait le même problème que moi (http://www.developpez.net/forums/d15...au-extensible/), donc à priori pas de soucis, j'ai plus ou moins recopié la formule indiquée dans le lien qui explique comment utiliser la fonction Eval...

    Voilà ce que ça donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xdMath:Eval(xdMath:Eval(../my:groupe3/my:groupe4/my:Validateurs/pc:Person, 'concat(../my:groupe3/my:groupe4/my:Validateurs/pc:Person/pc:DisplayName, "; ")'), "..")
    Avec les champs correspondants au tableau extensible visible plus haut :

    Nom : Capture.JPG
Affichages : 250
Taille : 15,2 Ko

    Et j'ai beau tourner le truc dans tous les sens, essayer de selectionner d'autres niveau de mon groupe, j'ai toujours une erreur qui ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    «../my:groupe3/my:groupe4/my:Validateurs/my:groupe3/my:groupe4/my:Validateurs/pc:Person/pc:DisplayName» ne pointe pas vers le chemin d'accès valide d'un champ ou d'un groupe.
    Une idée ?

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Pas du tout informaticien
    Inscrit en
    Septembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Pas du tout informaticien
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Help !

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Pas du tout informaticien
    Inscrit en
    Septembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Pas du tout informaticien
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Ok le problème ci-dessus est résolu...


    On touche au but.. Sauf que maintenant que c'est en place je me rends compte d'un truc assez gênant :

    J'ai mis des conditions pour que seul l'utilisateur désigné comme "Demandeur" puisse modifier le formulaire, à l'exception de champs de validation qui sont conditionnés pour que seul l'utilisateur désigné comme "Validateur" puisse les modifier.

    La règle fonctionne sans problème à la création du formulaire, j'ajoute mon nom dans le champ "Demandeur", je peux modifier les champs correspondants, j'ajoute mon nom dans le champ "Validateur" je peux modifier les champs, si je mets un autre nom que le mien c'est désactivé.

    Par contre une fois que j'ai enregistré le formulaire dans ma librairie SP, peu importe qui le rouvre derrière, les champs gardent le même statut qu'à la création, exemple :

    Je crée un formulaire, je suis Demandeur donc je peux modifier les champs correspondants, et je mets un autre utilisateur en validateur. J'enregistre. Cet utilisateur ouvre le formulaire, il peut modifier les champs normalement réservés au Demandeur, et pas les champs Validateur.

    J'ai pourtant ajouté des champs pour voir si mes règles étaient respectées ou non (de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomUtilisateur() =/= sous-chaîne(AccountId; 8; 8)
    car je vais rechercher l'ID d'utilisateur sans le nom de domaine pour que ça corresponde à la variable nomUtilisateur) et j'ai bien un changement d'état selon si je suis Demandeur ou Validateur. Je ne sais pas si c'est très clair mais bon...

    En gros j'ai l'impression que mes règles de mise en forme sont figées à l'état de création du formulaire, et ne se mettent pas à jour à la réouverture...

Discussions similaires

  1. [XSLT] aide pour faire un tableau HTML avec fusion de lignes
    Par utwor dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 02/01/2006, 22h41
  2. [Tableaux] Trier un tableau comme avec ORDER BY DESC
    Par Anduriel dans le forum Langage
    Réponses: 28
    Dernier message: 08/12/2005, 19h50
  3. [Tableau]Problèmes avec copie de tableau
    Par Itachi-san dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 18h23
  4. Changement extension avec TSaveDialog
    Par Monteil Jérôme dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/09/2005, 16h31
  5. [VB6] recuperer des valeurs ds un tableau html avec vb!!
    Par leo13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/12/2004, 14h02

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