Erreur Réseau lors de l’utilisation de la fonction PATCH()

  • Erreur Réseau lors de l’utilisation de la fonction PATCH()

    Posté par Maxime sur 5 mars 2024 à 16h33

    Bonjour à tous,

    Lors d’une fonction Patch() j’ai le message d’erreur :

    “Erreur réseau lors de l’utilisation de la fonction Patch : L’opération demandée n’est pas valide”.

    Voici ma fonction Patch :

    // Utilise la fonction ‘Patch’ pour mettre à jour un enregistrement dans la source de données ‘TS_CALENDRIER’.
    Patch(
    TS_CALENDRIER;
    // Recherche l’enregistrement à mettre à jour dans ‘TS_CALENDRIER’ en utilisant des critères spécifiques
    LookUp(
    TS_CALENDRIER;
    CODE_TITRE_NT=’CALENDRIER – Gallerie’.Selected.CODE_TITRE_NT
    && CODE_PARUTION_NT=’CALENDRIER – Gallerie’.Selected.CODE_PARUTION_NT
    && CODE_FORMAT_NT=’CALENDRIER – Gallerie’.Selected.CODE_FORMAT_NT
    );
    {
    // Met à jour le champ ‘RESERVATION_PAPIER’ de l’enregistrement trouvé en fonction de la valeur du toggle ‘CALENDRIER – réservation de papier Toggle’.
    RESERVATION_PAPIER: If(
    ‘CALENDRIER – réservation de papier Toggle’.Value = false;
    false;
    true
    )
    }
    )

    Cette erreur m’empeche de modifier mes données dans ma BDD TS_CALENDRIER et donc de faire quoique ce soit.

    Pourtant, dans mon environnement DEV elle fonctionne, mais dès que j’essaye de l’utiliser dans mon environnement PROD elle bloque.

    Je ne trouve pas d’info par rapport à cette erreur dans mon cas.

    Si quelqu’un à une option à me proposer.

    En vous remerciant par avance,

    Maxime.

    Maxime a répondu Il y a 8 mois, 2 semaines 4 Membres · 8 Réponses
  • 8 Réponses
  • Jean-Rémy

    Membre
    5 mars 2024 à 16h40

    Bonjour,

    Quelle est la source de données, SharePoint ou Dataverse ?

    Souvent avec SharePoint lorsqu’on crée les listes dans les différents environnements on se trompe sur le nom à la création des colonnes et les Patchs peuvent provoquer ce genre d’erreur réseau. Si c’est une source SharePoint, bien vérifier que toutes les colonnes ont le même nom technique entre les environnements (pas le display name de la colonne, le nom généré à la création de la colonne)

  • Maxime

    Membre
    5 mars 2024 à 16h44

    Bonjour,

    Mes sources de données sont sharepoint et un serveur SQL.

    Il n’y avait aucun soucis avant, j’ai publié une nouvelle version de mon application en important la nouvelle version depuis l’environnement DEV et c’est à ce moment que le problème est survenu.

    Même si je recréé les connexions et/ou réimporte une nouvelle version le problème persiste.

  • Patrice

    Membre
    5 mars 2024 à 16h59

    Hello,

    souvent, dans ce cas, quand cela m’est arrivé, sans explication, j’ai été obligé de ‘retaper le code’ du début.

    Sinon, ce qui bloque et je ne sais pas pourquoi, c’est que la colonne ‘Titre’ (ou Title) n’est pas mentionné dans la MàJ du patch, même si je n’ai pas de modification, j’ai remarqué qu’en la mettant, cela débloquait souvent la situation…

  • Maxime

    Membre
    5 mars 2024 à 17h44

    Malheureusement, cela n’a pas d’impact, l’erreur est toujours persistante.

    Que voulez-vous dire par colonne titre ?

  • R3dKap

    Membre
    6 mars 2024 à 9h06

    Salut Maxime,

    1. As-tu utilisé une variable d’environnement pour que ta source de données SharePoint pointe vers le bon site SharePoint ?
    2. Lorsque tu édites ton application sur l’environnement de PROD, est-ce que tu vois une erreur dans l’app ?
    3. Utilise la fonction Contrôler sur ton app en PROD pour voir les traces de ton Patch() (explications ci-dessous) et fais-nous une capture de ton résultat

    Pour voir les traces de ton app :

    Il va t’ouvrir un nouvel onglet avec le moniteur. Clique sur Lire l’application publiée. Fait ton test, celui qui déclenche l’erreur et recherche la ligne d’erreur dans les traces du moniteur puis envoie-nous une capture.

    😉

  • Maxime

    Membre
    6 mars 2024 à 11h38

    Bonjour,

    1. J’ai vérifié la connexion, elle est bonne.

    2. Je n’ai pas d’erreur lorsque j’édite, mais dans la lecture du mode éditeur, la même erreur se produit sur le toggle.

    3. J’ai lancé le controleur et 3 erreurs s’affichent :

    J’ai regardé ma table et elle ne contient que 3 clés primaires en prod et 4 en dev, l’erreur viendrait de là ?

    Prod:

    Dev :

    Maxime

  • Maxime

    Membre
    6 mars 2024 à 12h04

    Rebonjour,

    Il n’y a plus d’erreur après ajout de la colonne en tant que clé primaire. C’est très étrange sachant que cela fonctionnait avant.

    Néanmoins, je vous remercie pour votre aide.

    Maxime

  • Maxime

    Membre
    7 mars 2024 à 11h21

    Rebonjour,

    J’ai une erreur similaire qui se produit à un autre endroit, mais lorsque je lance le monitor, aucune erreur ne s’affiche. Elle s’affiche uniquement dans l’éditeur. Etrangement tout fonctionnait auparavant mais plus maintenant.

    J’ai l’erreur “Erreur réseau lors de l’utilisation de la fonction Patch : l’enregistrment spécifié est introuvable”

    Mon code :

    If(
    // Vérifie si le champ ‘ABO – Select Quantité’ est vide.
    IsBlank(‘ABO – Select Quantité’.Text);
    // Si le champ est vide, supprime les enregistrements correspondants de la source de données ‘TS_DEMANDE_TIRAGE_ABO’.
    RemoveIf(
    TS_DEMANDE_TIRAGE_ABO;
    CODE_TITRE_NT = ‘Accueil – Titre’.Selected.CODE_TITRE_NT;
    CODE_PARUTION_NT = ‘Accueil – Parution’.Selected.Value;
    CODE_FORMAT_NT = ‘Accueil – Format’.Selected.Value;
    CODE_NIVEAU_DEMANDE = ThisItem.CODE_NIVEAU_DEMANDE;
    RESERVATION_PAPIER = ‘Toggle Réservation de papier’.Value
    );
    // Si le champ n’est pas vide, met à jour ou crée un nouvel enregistrement dans ‘TS_DEMANDE_TIRAGE_ABO’.
    Patch(
    TS_DEMANDE_TIRAGE_ABO;
    // Utilise ‘If’ pour déterminer si un enregistrement correspondant existe déjà.
    If(
    IsBlank(
    LookUp(
    TS_DEMANDE_TIRAGE_ABO;
    CODE_TITRE_NT = ‘Accueil – Titre’.Selected.CODE_TITRE_NT && CODE_FORMAT_NT = ‘Accueil – Format’.Selected.Value && RESERVATION_PAPIER = ‘Toggle Réservation de papier’.Value && CODE_NIVEAU_DEMANDE = ThisItem.CODE_NIVEAU_DEMANDE && CODE_PARUTION_NT = Concatenate(
    Match(
    ‘Accueil – Parution’.Selected.Value;
    “[a-zA-Z\s]+”
    ).FullMatch;
    If(
    Match(
    ‘Accueil – Parution’.Selected.Value;
    “[0-9 ]+”
    ).FullMatch – 1 < 10;
    “0”;
    “”
    );
    Match(
    ‘Accueil – Parution’.Selected.Value;
    “[0-9 ]+”
    ).FullMatch
    );
    QUANTITE_DEMANDEE
    )
    );
    Defaults(TS_DEMANDE_TIRAGE_ABO);// Si aucun enregistrement n’est trouvé, crée un nouvel enregistrement.
    // Si un enregistrement est trouvé, utilise cet enregistrement pour la mise à jour.
    First(
    Filter(
    TS_DEMANDE_TIRAGE_ABO;
    CODE_FORMAT_NT = ‘Accueil – Format’.Selected.Value && CODE_TITRE_NT = ‘Accueil – Titre’.Selected.CODE_TITRE_NT && RESERVATION_PAPIER = ‘Toggle Réservation de papier’.Value && CODE_NIVEAU_DEMANDE = ThisItem.CODE_NIVEAU_DEMANDE && CODE_PARUTION_NT = Concatenate(
    /*Cette expression recherche et extrait la partie de texte qui correspond à l’expression régulière [a-zA-Z\s]+, signifiant n’importe quelle suite de lettres (majuscules ou minuscules) et d’espaces.
    Le résultat est la première partie du code de parution, probablement représentant une sorte de code alphabétique.*/
    Match(
    ‘Accueil – Parution’.Selected.Value;
    “[a-zA-Z\s]+”
    ).FullMatch;
    /*Cette partie vérifie si le numéro extrait (partie numérique du code de parution) est inférieur à 10. Si c’est le cas, elle ajoute un “0” comme préfixe pour maintenir un format numérique cohérent (par exemple, transformer “1” en “01”).
    L’expression régulière [0-9 ]+ cherche une séquence de chiffres et d’espaces.*/
    If(
    Match(
    ‘Accueil – Parution’.Selected.Value;
    “[0-9 ]+”
    ).FullMatch – 1 < 10;
    “0”;
    “”
    );
    /*Cette expression extrait la partie numérique du texte sélectionné, puis soustrait 1 pour obtenir le numéro de parution final.
    Cela pourrait être utilisé pour gérer des cas où les numéros de parution sont décalés par une unité dans la source de données par rapport à leur représentation dans l’interface utilisateur.*/
    Match(
    ‘Accueil – Parution’.Selected.Value;
    “[0-9 ]+”
    ).FullMatch
    )
    )
    )
    );
    // Définit les champs de l’enregistrement à mettre à jour ou à créer.
    {
    CODE_TITRE_NT: ‘Accueil – Titre’.Selected.CODE_TITRE_NT;
    CODE_PARUTION_NT: ‘Accueil – Parution’.Selected.Value;
    CODE_CANAL_DIFFUSION: “ABO”;
    CODE_NIVEAU_DEMANDE: ThisItem.CODE_NIVEAU_DEMANDE;
    QUANTITE_DEMANDEE: Int(‘ABO – Select Quantité’.Text);
    CODE_FORMAT_NT: ‘Accueil – Format’.Selected.Value;
    IS_DISABLED: false;
    EMAIL_DEMANDEUR: User().Email;
    RESERVATION_PAPIER: ‘Toggle Réservation de papier’.Value;
    CODE_EDITION: Dropdown2.Selected.CODE_EDITION
    }
    )
    );;

    Merci d’avance pour votre aide.

    Cordialement

Connectez-vous pour répondre.