French Power Platform User Group

Please login or click SIGN UP FOR FREE to create your PowerPlatformUG account to join this user group.
Expand all | Collapse all

Apparition d'un problème SubmitForm

  • 1.  Apparition d'un problème SubmitForm

    Posted Jun 14, 2021 09:06 AM
    Bonjour à tous,

    sans savoir pourquoi, une erreur s'est installée dans mon application. Lorsque je clique sur un bouton ayant pour effet d'envoyer les données vers la base de données Excel, l'application m'affiche un bandeau "Désolé, une erreur inconnue est survenue." et aucune données ne s'enregistre dans la table visée par le EditForm, Tandis que les autres enregistrements, commandés par la même action se font bien. L'application me souligne bien mon SubmitForm(Form4) mais rien ne se passe, même pas la création d'une ligne dans ma base Excel. Sur mes 5 EditForm, il n'y que sur un seul que ça déconne et impossible de savoir pourquoi.

    J'ai déja essayé en supprimant la connexion à ma table et en la rétablissant mais cela ne change rien.

    Si quelqu'un a une idée, je suis preneur de toutes suggestions !

    ------------------------------
    Cordialement,
    PRELOT Clement
    Engineer
    ------------------------------


  • 2.  RE: Apparition d'un problème SubmitForm

    Gold Contributor
    Posted Jun 14, 2021 09:25 AM
    Est-ce que par hasard t'enverrais pas un enregistrement vide (ou partiellement vide) à ton tableau Excel ? Il me semble que le connecteur Excel n'aime pas les données vides. Ca peut aussi être un problème de format... Difficile à dire comme ça : faudrait qu'on aie le détail du formulaire et voir la tronche du tableau Excel...

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 3.  RE: Apparition d'un problème SubmitForm

    Posted Jun 14, 2021 09:37 AM


    Alors mon app est faite comme suit : en appuyant sur le bouton ajouter un matériau, on stocke dans une collection les informations saisies. Puis lorsqu'on clique sur "Accueil chantier fait", normalement les données s'enregistrent. Les carte de données ont pour propriétés Update :
    Concat(col_mat_ctrl;Critere_acceptation;"
    ")​

    Ci joint la propriété OnSelect du bouton "Accueil chantier fait".

    If(
        And(
            Not(
                IsBlank(DataCardValue4)&&
                IsBlank(DataCardValue8)&&
                IsBlank(DataCardValue9)&&
                IsBlank(DataCardValue10)&&
                IsBlank(DataCardValue11)&&
                IsBlank(DataCardValue12)
            )
            ;
            Not(
                DataCardValue4.Text in col_mat_ctrl.Epaisseur&&
                DataCardValue8.Text in col_mat_ctrl.Couche_concernee&&
                DataCardValue9.Text in col_mat_ctrl.Critere_acceptation&&
                DataCardValue10.Text in col_mat_ctrl.Materiau_controle&&
                DataCardValue11.Text in col_mat_ctrl.Origine&&
                DataCardValue12.Text in col_mat_ctrl.Section_controlee
            )
        );
        Collect(
            col_mat_ctrl;
            {
                Epaisseur : DataCardValue4.Text;
                Couche_concernee : DataCardValue8.Text;
                Critere_acceptation : DataCardValue9.Text;
                Materiau_controle :DataCardValue10.Text;
                Origine : DataCardValue11.Text;
                Section_controlee : DataCardValue12.Text
            }
        )
    );;
    Set(var_horodat;Now());;
    Set(var_encours;true);;
    SubmitForm(Form2);;
    Concurrent(SubmitForm(Form3);SubmitForm(Form7);SubmitForm(Form5);SubmitForm(Form4));;
    Concurrent(ResetForm(Form2);ResetForm(Form3);ResetForm(Form4);ResetForm(Form5);ResetForm(Form7);Clear(col_mat_ctrl);Clear(Risques_exp);Clear(Risques_imp));;
    Set(_selected_cdc;Blank());;
    Navigate(BrowseScreen1)​

    A savoir que l'application fonctionnait parfaitement vendredi et qu'aucune modification n'a été apportée ni sur la base de données, ni sur l'application.



    ------------------------------
    Cordialement,
    PRELOT Clement
    Engineer
    ------------------------------



  • 4.  RE: Apparition d'un problème SubmitForm

    Gold Contributor
    Posted Jun 14, 2021 10:39 AM
    Merci pour ces éléments...
    Remarque générale pour commencer : mettre du code APRES un SubmitForm() n'est pas recommandé. En effet :
    • On croit souvent que le code après un SubmitForm() ne s'exécute pas s'il y a une erreur lors de la soumission des données du formulaire mais c'est faux ! Le code s'exécute toujours (et même immédiatement, voire en parallèle, de l'enregistrement des données).
    • Si le code situé après le SubmitForm() accède à l'une des données en cours d'enregistrement, elle peut ne pas être disponible car (sauf erreur de ma part) l'exécution du code après le SubmitForm() n'attends pas la fin de l'enregistrement des données.
    Bref. Tout ce qui doit s'exécuter APRES une soumission de formulaire doit être placé dans le OnSuccess du formulaire. Et dans le OnFailure du formulaire on gère l'erreur de sauvegarde.

    Autre chose : je trouve bizarre la technique de : je soumets le Form2 et dans la foulée je soumets non pas 1, non pas 2, pas 3 mais 4! autres formulaires. Je pense qu'il y a un problème de conception ici. Ca ressemble un peu à une usine à gaz. C'est une critique constructive hein 😉, j'essaie de suggérer que peut-être il y a plus simple.

    Attention aussi au Concurrent() sur des formulaires si ceux-ci attaquent la même source de données -> il pourrait y avoir des problèmes d'accès concurrent (justement) à la source de données.

    Quant au problème d'erreur sur ton Form2, quelques questions & pistes :
    • Le Form2 c'est celui qu'on voit sur la capture là ? Y'a quoi dans les autres formulaires (3, 4, 5, 7) ?
    • Est-ce que ça ne plante pas seulement quand il y a un des champs qui est vide ?
    Sinon, envoie-moi ton app et ton fichier Excel. Si t'as pas mon adresse mail envoie-moi un MP...

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 5.  RE: Apparition d'un problème SubmitForm

    Posted Jun 14, 2021 10:48 AM
    Merci pour ton aide Emmanuel, ne t'en fais pas pour la critique je vois très bien ce que tu veux dire et j'ai conscience que ce 'est pas optimal, loin de la :)
    Oui pour les codes après les SubmitForm j'étais au courant je m'étais renseigné. Concernant la submission de plusieurs Form en même temps, c'est pour gérer l'édition de données, mon app se déroule en deux temps de saisie et cela me permet de gérer nouvelles données et données à éditer sur plusieurs écrans :)

    Je viens d'identifier mon problème : j'ai un champ Horodatage qui transmet une donnée au format DateTime, et bien que ma source de données soit bien au format Date aussi, visiblement il y avait un conflit. J'avais déja eu le cas lors d'une précédente mise à jour de PowerApps. Je vais donc me concentrer dessus.

    Mon app est implantée sur l'agence régionale de la boite donc pour le moment nous ne sommes qu'une 50aine à l'utiliser et pour le moment ça ne posait pas de soucis. Mais pour une diffusion nationale il est effectivement prévue de revoir toute l'application sur sa construction, avec évidemment passage sur une base de données solide :)

    ------------------------------
    Cordialement,
    PRELOT Clement
    Engineer
    ------------------------------