Partager via


Comprendre l’intégration des formulaires SharePoint

Vous pouvez personnaliser un formulaire pour une liste SharePoint lorsque vous intégrez une liste dans Power Apps. Dans cet article, vous allez découvrir comment ces formulaires fonctionnent et comment vous pouvez les personnaliser.

Lorsque vous personnalisez un formulaire pour une liste, vous voyez que le formulaire généré par défaut fonctionne pour toutes les opérations, telles que la création, l’affichage ou la modification d’un élément. Cette fonctionnalité utilise les formules générées et le contrôle SharePointIntegration.

Nonte

Lorsque vous créez ou affichez une liste dans SharePoint, vous êtes automatiquement redirigé vers Listes Microsoft. Vous pouvez toujours trouver la liste dans les listes Microsoft et SharePoint. Pour plus d’informations, consultez Qu’est-ce qu’une liste dans Microsoft 365 ?

Comprendre le formulaire généré par défaut

Le formulaire généré par défaut comprend les contrôles suivants et leurs valeurs par défaut correspondantes. Les formules sont générées automatiquement dans les valeurs par défaut.

  • FormScreen1 : cet écran contient le formulaire.

  • SharePointForm1 : ce formulaire peut créer, afficher ou modifier un élément de liste.

    • Source de données : liste pour laquelle le formulaire est personnalisé. Par exemple, une liste SharePoint sert de source de données.

    • Élément : élément sélectionné dans une liste. Pour votre commodité, cet élément est défini sur l’élément First() de la liste lorsque vous travaillez dans Power Apps Studio.

      If( IsBlank(SharePointIntegration.Selected) || IsEmpty(SharePointIntegration.Selected),
          First('*YourListName*'),
      SharePointIntegration.Selected )
      

      Astuce

      Ce modèle de formule utilise ... SharePointDatasourceName.Selected et fonctionne pour la propriété Item d’un formulaire. Voir Problèmes courants avec l’objet SharePointIntegration pour obtenir un modèle de formule permettant de définir la valeur d’un enregistrement SharePoint.

  • OnSuccess : une fois l’élément créé ou enregistré avec succès, le formulaire est réinitialisé et SharePoint masque le formulaire.

    ResetForm(SharePointForm1); RequestHide()
    
  • SharePointIntegration : communique des actions de l’utilisateur entre SharePoint et Power Apps.

    Property Description Exemple
    Source de données Liste pour laquelle le formulaire est personnalisé. YourListName
    OnNew Définit SharePointForm1 en mode Nouveau. NewForm(SharePointForm1)
    OnView Définit SharePointForm1 en mode Affichage. ViewForm(SharePointForm1)
    OnEdit Définit SharePointForm1 en mode Édition. EditForm(SharePointForm1)
    OnSave Soumet les modifications apportées à SharePointForm1. La formule SharePointForm1.OnSuccess s’exécute lorsque vous soumettez correctement un formulaire. SubmitForm(SharePointForm1)
    OnCancel Réinitialise les modifications apportées à SharePointForm1. SharePoint masque toujours le formulaire lorsqu’un utilisateur sélectionne Annuler dans SharePoint. ResetForm(SharePointForm1)

Ces valeurs par défaut garantissent que le formulaire fonctionne en cas d’exécution dans SharePoint. Les valeurs par défaut modifient le mode du formulaire Power Apps à mesure l’utilisateur interagit avec lui dans SharePoint, puis garantissent que les modifications sont soumises à SharePoint.

Nonte

Bien que vous puissiez copier manuellement un formulaire d’un environnement vers un autre, il n’existe actuellement aucune méthode automatisée dans Power Apps pour copier un formulaire d’un environnement vers un autre.

Comprendre le contrôle SharePointIntegration

Le contrôle SharePointIntegration communique des actions de l’utilisateur entre SharePoint et Power Apps.

Capture d’écran d’un objet d’intégration SharePoint tel qu’il est visible dans Power Apps.

Nonte

Vous pouvez accéder aux propriétés du contrôle SharePointIntegration uniquement lorsque le formulaire s’exécute dans SharePoint, et non lorsque vous personnalisez le formulaire dans Power Apps Studio. Ces propriétés peuvent ne pas être disponibles dans OnStart ou OnVisible.

Le contrôle SharePointIntegration a ces propriétés :

Property Effet ou description
Sélectionné Élément sélectionné dans la liste.
OnNew Actions à effectuer lorsqu’un utilisateur sélectionne le bouton Nouveau ou ouvre le formulaire Créer un élément dans SharePoint.
OnView Actions à effectuer lorsqu’un utilisateur sélectionne un élément ou ouvre le formulaire Détails de l’élément dans SharePoint.
OnEdit Actions à effectuer lorsqu’un utilisateur sélectionne le bouton Modifier tout ou ouvre le formulaire Modifier l’élément dans SharePoint.
OnSave S’active lorsqu’un utilisateur sélectionne le bouton Enregistrer dans SharePoint.
OnCancel S’active lorsqu’un utilisateur sélectionne le bouton Annuler dans SharePoint.
SelectedListItemID ID de l’élément sélectionné dans une liste.
Source de données Liste contenant l’enregistrement que le formulaire affiche, modifie ou crée. Si vous modifiez cette propriété, les propriétés Selected et SelectedItemID peuvent cesser de fonctionner.

Personnaliser le formulaire par défaut

Vous pouvez modifier les formules pour personnaliser davantage les formulaires.

Tenez compte de ces tactiques lorsque vous personnalisez des formulaires :

  • Utilisez la formule OnSave du contrôle SharePointIntegration pour personnaliser l’effet d’un utilisateur sélectionnant Enregistrer dans SharePoint. Si vous avez plusieurs formulaires, veillez à soumettre les modifications uniquement pour le formulaire en cours d’utilisation.

    Astuce

    Définissez des valeurs différentes pour une variable dans les formules OnNew, OnView et OnEdit. Vous pouvez utiliser cette variable dans la formule OnSave pour déterminer le formulaire utilisé.

  • Incluez RequestHide() dans la formule OnSuccess de tous vos formulaires. Sans cette fonction, SharePoint ne sait pas quand masquer le formulaire. Évitez d’exécuter un code important après avoir appelé RequestHide(). Le code doit s’exécuter alors que le formulaire est encore visible et capable d’exécuter une logique.

  • Vous ne pouvez pas contrôler le masquage d’un formulaire lorsqu’un utilisateur sélectionne Annuler dans SharePoint. Réinitialisez toujours vos formulaires dans la formule OnCancel du contrôle SharePointIntegration.

  • Les propriétés du contrôle SharePointIntegration peuvent ne pas être disponibles dans OnStart ou OnVisible. Ces événements ne s’exécutent qu’une seule fois pendant le chargement de la liste. Vous pouvez utiliser OnNew, OnView ou OnEdit pour exécuter une logique avant que le formulaire soit affiché à l’utilisateur.

Problèmes courants avec l’objet SharePointIntegration

  • Lorsque vous définissez la valeur d’une SharepointIntegration.Selected collection sur la propriété OnView , elle n’affiche pas la dernière valeur. Pour résoudre ce problème, utilisez SharepointIntegration.SelectedListItemID, puis effectuez une recherche sur la table pour obtenir l'enregistrement sélectionné.

    Par exemple, pour la propriété OnView :

    • À la place de :

      Set( selectedItem,
      SharePointIntegration.Selected );
      
    • Utilisez :

      Set( selectedLookupItem,
      LookUp( YourSharepointIntegrationObject, 
      ID=SharePointIntegration.SelectedListItemID ) );
      
  • Les variables de collection ne sont pas réinitialisées lorsque vous fermez le formulaire Power Apps. L’état persiste pour l’ensemble de la session. Si vous devez réinitialiser les variables, effacez-les dans la propriété OnView de l’objet SharePointIntegration .

  • N’utilisez pas de fonctions impératives telles que Launch() dans les propriétés SharePointIntegration (telles que OnNew et OnView). Cette utilisation peut entraîner un comportement inattendu, car les événements du cycle de vie SharePointIntegration (par exemple, la modification des sélections) peuvent se déclencher en arrière-plan même lorsque le formulaire n’est pas visible.

Comprendre l’accès utilisateur aux formulaires personnalisés

Vous ne pouvez pas partager manuellement un formulaire SharePoint personnalisé avec Power Apps. Au lieu de cela, tout utilisateur disposant au moins d’un accès en lecture ou en mode restreint à la liste SharePoint liée hérite de l’accès au formulaire. Les utilisateurs qui n’ont reçu que des autorisations pour des éléments spécifiques dans la liste n’ont pas accès au formulaire personnalisé.