Créer un formulaire différent selon la vue

Étiquetté : 

  • Créer un formulaire différent selon la vue

    Posté par Marine sur 23 décembre 2021 à 14h54

    Bonjour,

    J’ai une liste SharePoint, où j’ai créé un formulaire. Dans le formulaire doit être affiché certaines colonnes, donc j’ai masqué celles que je voulais.

    Mon problème est là, j’ai une vue avec toutes les colonnes (dont celles qui sont masquées sur le formulaire), sauf que lorsque je veux modifier les champs des colonnes masquées, celles-ci ne s’affichent pas. J’ai essayé de créer un formulaire avec powerApps, mais pareil, les colonnes que je souhaite modifier sont masquées.

    Est-il possible de créer deux formulaires différents selon l’utilisation ?

    J’espère que je me suis bien expliquée 😅

    Ci-joint les screens pour mieux comprendre.

    Sur mon formulaire, les champs sont bien masqués :

    Quand je veux modifier des informations, les champs masqués restent masqués, alors que j’aimerais qu’ils apparaissent ici :

    J’ai vu qu’en faisant “Modifier en mode grille” cela fonctionne mais je trouve cela pas très pratique lorsqu’il faut modifier plusieurs champs à la fois..

    J’ai tenté d’ajouter des conditions sur les colonnes en JSON mais pour le coup, cela me paraît pas idéal, ni logique ? 🤔

    Avez-vous une solution à me proposer ?

    Je vous remercie par avance, et vous souhaite de bonnes fêtes 🎅

    PostID=zHcwon71CWQSnaa

    R3dKap a répondu Il y a 11 mois, 3 semaines 1 Membre · 4 Réponses
  • 4 Réponses
  • R3dKap

    Membre
    23 décembre 2021 à 21h18

    Salut @Marine, non je suis pas sûr d’avoir bien compris.

    1. Tu veux que certains champs soient masqués sur ton formulaire mais lorsque tu édites un éléments tu veux pouvoir renseigner ces mêmes champs ?!?
    2. Est-ce que tu veux que certains champs soient masqués lorsque le formulaire est ouvert en mode affichage et que ces mêmes champs apparaissent lorsque le formulaire est en mode édition ou création ?
    3. Je suppose que ton problème n’a rien à avoir avec les vues. Les vues et les formulaires n’ont rien à voir. C’est deux choses distinctes.

    CommentID=2arEYredLRSEPgc, PostID=zHcwon71CWQSnaa

  • Marine

    Membre
    24 décembre 2021 à 7h28

    Bonjour, merci pour la réponse rapide 😊

    Je me doutais bien que n’étais pas assez claire 😅

    Ceux qui rempliront le formulaire n’auront pas accès à la liste, seulement au lien du formulaire, donc j’ai masqué les champs qui ne les concerne pas. Mais j’aimerais qu’une fois dans ma liste je puisse modifier ces champs. Car lorsque je double clique sur un élément de la liste, les champs que j’ai masqué pour le formulaire sont aussi masqués dans le détails de l’élément. Donc je voulais savoir s’il était possible qu’ils soient affichés lorsque je modifie un élément et masqués lorsqu’une personne rempli le formulaire.

    J’espère avoir été plus claire 😀

    CommentID=4bhmL0ENDFw17tW, PostID=zHcwon71CWQSnaa

  • R3dKap

    Membre
    24 décembre 2021 à 12h55

    @Marine ok je comprends mieux.

    Alors en fait, lorsque tu masques un champ sur un formulaire SharePoint, ça le masque pour les 3 “états” du formulaire : affichage, modification, création.

    Si tu veux différencier l’affichage ou pas du champ selon l’état du formulaire, c’est possible mais il faut passer par un p’tit bout de PnP PowerShell.

    Avant de t’expliquer comment faire, sache que fournir le lien direct du formulaire de création d’un nouvel élément n’empêchera pas un utilisateur d’aller sur la liste et de voir tout son contenu. En effet, je suppose que tu comptes utiliser une url de ce type :

    https://<ton tenant>.sharepoint.com/sites/<ton site>/Lists/<ta liste>/NewForm.aspxn

    Mais il suffira à l’utilisateur de supprimer la partie NewForm.aspx de l’url pour accéder directement à la liste. Et ce n’est pas parce-que tu vas customiser le formulaire de la liste à l’aide de Power Apps que tu pourras l’empêcher car l’url sera la même…

    Si ton objectif c’est :

    • des utilisateurs n’ont le droit que de créer des éléments dans la liste mais n’ont pas le droit d’en voir le contenu ni d’en modifier les éléments
    • toi, ou d’autres utilisateurs, sont les seuls à pouvoir visualiser le contenu de la liste ou d’en modifier les éléments

    …alors je vois 2 solutions pour le faire :

    1. Tu crées une petite app Power Apps où tu mets un contrôle formulaire avec le mode forcé à FormMode.New pour le mettre en “mode création”. Tu n’y mets que les champs que tu autorises aux utilisateurs. Puis tu partages l’application avec les utilisateurs qui peuvent créer des éléments dans la liste. Ils n’ont donc même pas besoin de connaître la liste et ne voient aucun indice dans l’url leur permettant d’accéder à la liste.
    2. Si ta liste est assez basique et qu’elle n’a pas de champ de recherche (lookup), tu crées un formulaire Forms qui alimentera ta liste SharePoint via un petit flux Power Automate. Pareil : la liste SharePoint sera totalement invisible pour eux.

    Quelle que soit la solution choisie, si ta liste évolue (modification de champ ou nouveau champ), il faudra que tu mettes à jour soit l’app Power Apps soit le formulaire Forms et le flux Power Automate.

    Maintenant, si l’histoire de l’url qui peut être modifiée par les utilisateurs ne t’embêtes pas plus que ça, je vais faire un article dans l’espace Base de connaissances qui explique comment procéder pour masquer un champ selon l’état du formulaire de ta liste (visu, modif, création) et je te préviendrais dès qu’il sera dispo.

    CommentID=SctOB9ffeNV5ScR, PostID=zHcwon71CWQSnaa

    • R3dKap

      Membre
      24 décembre 2021 à 13h27

      @Marine et voici l’article :

      SubCommentID=qSshOGQjKPtsl3F, CommentID=SctOB9ffeNV5ScR, PostID=zHcwon71CWQSnaa

Connectez-vous pour répondre.