Comprendre l’intégration des formulaires SharePoint

Vous pouvez maintenant facilement personnaliser tout formulaire Listes Microsoft ou de bibliothèque SharePoint dans Power Apps. Cet article explique en détail le fonctionnement de ces formulaires et la manière de les personnaliser.

Si vous avez personnalisé un formulaire pour une liste, vous avez probablement remarqué 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. Cela est accomplit à l’aide de formules générées et du contrôle SharePointIntegration.

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 :

  • FormScreen1 : écran contenant le formulaire.

  • SharePointForm1 : formulaire utilisé pour créer, afficher ou modifier l’élément de liste.

    • Source de données : liste pour laquelle le formulaire a été personnalisé.

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

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

      Conseil

      Le modèle de formule ci-dessus (utilisant ... SharePointDatasourceName.Selected) fonctionne pour la propriété Item d’un formulaire. Voir la section ci-dessous pour un modèle de formule pour définir la valeur d’un enregistrement SharePoint.

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

    ResetForm(SharePointForm1); RequestHide()
    
  • SharePointIntegration : contrôle responsable de la communication des actions de l’utilisateur entre SharePoint et Power Apps.

    • Source de données : liste pour laquelle le formulaire a été 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 d’édition.

      EditForm(SharePointForm1)

    • OnSave : soumet les modifications apportées à SharePointForm1. En cas de réussite de l’envoi du formulaire, la formule SharePointForm1.OnSuccess est exécutée.

      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 lorsqu’il est exécuté dans SharePoint. Elles modifient le mode formulaire de Power Apps à mesure que l’utilisateur interagit avec le formulaire dans SharePoint, puis garantissent que les modifications sont soumises à SharePoint.

Comprendre le contrôle SharePointIntegration

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

Objet d’intégration SharePoint.

Notes

Vous pouvez accéder aux propriétés du contrôle SharePointIntegration seulement quand le formulaire s’exécute dans SharePoint. Vous ne pouvez pas y accéder quand 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 les propriétés suivantes :

Selected : é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 Créer un élément dans SharePoint.

OnSave - Actions à effectuer lorsqu’un utilisateur sélectionne le bouton Enregistrer dans SharePoint.

OnCancel - Actions à effectuer 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 affichera, modifiera ou créera. Si vous modifiez cette propriété, les propriétés Selected et SelectedItemID peuvent cesser de fonctionner.

Personnaliser le formulaire par défaut

À présent que vous comprenez mieux le formulaire généré par défaut et le contrôle SharePointIntegration, vous pouvez modifier les formules pour personnaliser davantage les formulaires. Voici quelques points à garder à l’esprit lorsque vous personnalisez des formulaires :

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

    Conseil

    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é.

  • Veillez à inclure RequestHide() dans la formule OnSuccess de tous vos formulaires. En cas d’oubli, SharePoint ignore quand masquer le formulaire. Aussi, évitez d’exécuter du code important après avoir appelé RequestHide(), afin que tout le code s’exécute pendant que le formulaire est toujours visible et capable d’exécuter la logique.

  • Étant donné que vous ne pouvez pas contrôler le masquage d’un formulaire quand un utilisateur sélectionne Annuler dans SharePoint, veillez à réinitialiser 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, et ces événements ne se produisent qu’une seule fois quand la liste est chargée. Vous pouvez utiliser des formules OnNew, OnView ou OnEdit pour exécuter une logique chaque fois avant que le formulaire soit montré à l’utilisateur.

Problèmes courants avec l’objet SharePointIntegration

  • Lorsque la valeur de SharepointIntegration.Selected est définie sur une collection sur la propriété OnView, ce n’est pas la dernière valeur qui s’affiche. La méthode recommandée pour résoudre ce problème est d’utiliser SharepointIntegration.SelectedListItemID, puis d’effectuer une recherche sur la table pour obtenir la propriété selectedRecord.

    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 à la fermeture du formulaire Power Apps et l’état est maintenu pour toute la session. C’est pourquoi, s’il existe des cas d’utilisation où les variables doivent être réinitialisées, effacez les variables 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 provoquer un comportement inattendu car les événements du cycle de vie SharePointIntegration (tels que la modification des sélections) peuvent se déclencher en arrière-plan même lorsque le formulaire n’est pas visible.

Voir aussi

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).