Répondre à: Créer un formulaire différent selon la vue

  • 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