Refus de valider une fiche à partir d'un formulaire car déjà existante

Étiquetté : 

  • Refus de valider une fiche à partir d'un formulaire car déjà existante

    Posté par Lilian sur 20 juillet 2023 à 13h41

    Bjr, j’ai un soucis je ne sais pas comment je peux interdire la création d’une fiche affaire à partir d’un formulaire quand celle-ci existe déjà dans la liste sharepoint. Pour faire simple à partir d’un formulaire on créé une fiche qu’on valide via un bouton “Valider” qui une fois validée va alimenter une liste sharepoint…Je voudrais interdire le doublon car ça me créé des anomalies de croisement par la suite dans mon PBI. Ma clée commune dans mon PBI est “Référence PC/Contrat & Entité juridique Parente & date d’effet souhaitée”..Comment je dois procédé pour que lorsque que je valide ma fiche je sois capable d’afficher le message suivant “Création de fiche impossible car déjà existante”. Faut-il que je créé une clée commune dans une colonne de ma liste sharepoint et quand je clic qur “Valider” dans powerApps il va vérifier qu’elle n’existe pas dans ma liste et le cas échéant il l’a créé bien sinon il affiche le message et ne l’enregistre pas…Si vous avez des idées je suis preneur

    PostID=VSeP4QD6VbohtKN

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

    Membre
    20 juillet 2023 à 16h08

    Bonjour,

    Si c’est une liste sharepoint, l’idéal serait de restreinte la colonne à des valeurs uniques :

    Normalement l’erreur devrait être interprétée par le formulaire dans power apps

    CommentID=GGVEr22a8sB0jQa, PostID=VSeP4QD6VbohtKN

    • Lilian

      Membre
      25 juillet 2023 à 8h05

      Bjr David, je ne vois pas cette option pour ma colonne. J’ai créé une colonne calculée pour ma clée Unique mais je ne vois pas l’option dont tu me parles dans les paramètres de ma liste quand je sélectionne ma colonne..

      SubCommentID=UyTsmEaf9h7coHa, CommentID=GGVEr22a8sB0jQa, PostID=VSeP4QD6VbohtKN

  • DavidZed

    Membre
    20 juillet 2023 à 16h40

    Après vérification l’erreur n’est pas interprétée par le formulaire 😢

    Mais on peut personnaliser le message d’erreur, en allant dans le label Error message du datacard :

    et en remplaçant la formule Parent.Error par :

    Parent.Error & With( // on utilise with avec un filtre délégable, on filtrera ensuite ce résultat avec un filtre non-délégable (sur l'ID)n    {n        DetectDoubles: Filter(n            Commandes;n            'Test unique Value' = DataCardValue1.Text // datacard value avec le champ à vérifiern        )n    };n    If(n        IsBlank(n            First(n                Filter( // filtre sur l'id pour écarter l'enregistrement actueln                    DetectDoubles;n                    ID <> ThisItem.IDn                )n            )n        );n        "";n        "Cette référence existe déjà" // message affiché en cas d'erreurn    )n)

    Le with() servant à contourner le problème de délégation

    On peut également ajouter une notification sur le .OnFaillure du formulaire :

    Notify(n    "Impossible d’enregistrer. " & Last(Errors('Nom de la liste SP')).Message;n    NotificationType.Errorn)

    Résultat :

    CommentID=99yJrJ6LCq4x1N2, PostID=VSeP4QD6VbohtKN

Connectez-vous pour répondre.