Forum Replies Created

Page 1 of 2
  • Il faudrait que tu remplaces Defaults(IV_TastingSheet) (qui sert justement à créer une nouvelle ligne) par LookUp(IV_TastingSheet;ID=varID)

    En gros il s’agit de lui dire quelle ligne tu veux remplacer.
    A toi de voir comment tu définis cette ligne (Soit par l’ID, soit via une donnée unique ou un filtrage plus spécifique). La fonction LookUp va te retourner une ligne spécifique (Un objet).

  • Jonathan Copin

    Member
    23 décembre 2023 at 18h10 en réponse à: PA // Dataverse Champs vide

    Salut,

    Tanguy a raison, le point d’interrogation permet de ne pas retourner d’erreur si la colonne est nulle.
    C’est la formulation utilisée par défaut par Power Automate lorsque tu sélectionnes une sortie d’action.

    Si ton problème n’est pas résolu il faudrait que tu nous mettes un imprime écran pour que l’on voit comment ton flux est construit. Par défaut j’ai l’impression que tu veux récupérer toutes tes lignes et compter les valeurs égales à 1,2,3 et vides.

    Tu peux utiliser faire une requête sans filtre Odata puis faire 3 actions “Filtrer un tableau” pour tes valeurs 1,2 et 3.

    Ensuite Tu peux utiliser la fonction length() pour connaitre le nombre d’éléments dans chacun de ces tableaux filtrés. le nombre de vide sera ta requête originale moins tes 3 tableaux filtrés.

  • Lorsque tu crées ton ticket SAV Archive il faut que tu enregistres son ID dans ta liste principale (sous un champs type nombre ‘ID Archive’).

    Comme ça tu peux faire ce test dans ton flux :

    • Si ID Archive vide –> Créer dans Archive et enregistrer l’ID dans liste principale

    • Sinon –> Modifier élément –> ID = ID Archive

    Tu peux également enregistrer l’ID de ta liste principale dans ta liste archive si tu souhaites un jour faire l’opération inverse 😄

    CommentID=PE4bwkckiott3Br, PostID=t30eeyQcqF8YLRC

  • Jonathan Copin

    Member
    17 février 2023 at 16h32 en réponse à: Filtrer les enregistrement d'un formulaires

    Pour compléter le filtre de R3dKap je dirais même :

    Filter(n   'CRM-Détail commandes';n   //Filtrer sur les commandes et tout afficher si rien de sélectionnén   Or(n      Commande.ID= DropDown_Commande.Selected.ID;n      Isblank(DropDown_Commande.Selected)n   );n   //Filtrer sur les clients (si client est également renseigné dans 'CRM-Détail commandes') et tout afficher si rien de sélectionnén   Or(n      Client.ID=ddlClient.Selected.ID;n      IsBlank(ddlClient.Selected)n   )n)

    CommentID=PTQfVTH5dY1Ka9d, PostID=wVEkrzcD5VIJ3Ae

  • Jonathan Copin

    Member
    16 février 2023 at 15h39 en réponse à: Erreur de syntaxe ?

    Ta formule ForAll ne peut fonctionner dans ce cas que si :

    • ‘Formation’ et ‘demie journee’ sont des champs texte uniquement

    • Tous tes champs sont bien orthographiés

    Dans ce genre de cas j’ai tendance à simplifier au maximum en supprimant tous les champs de la collection et en les rajoutant un par un pour voir si l’erreur vient d’un des champs.

    Quand tu fais le ClearCollect uniquement il faut voir quel est le format des champs qui ressortent

    CommentID=npXhD121k3zzr73, PostID=YpR19o4wz2Z92Ua

    • Jonathan Copin

      Member
      17 février 2023 at 14h01 en réponse à: Erreur de syntaxe ?

      En fonction du type de champs de tes colonnes il faut les déclarer différemment :

      ForAll(n    Sequence(3) As DateCounter;n    Collect(n        ColEmargementsFormateur;n        {n            //Colone de type nombren            Nombre: 1;n            //Colonne de type choixn            Choix: {Value: "Choix 1"};n            //Colonne de type personnen            Personne: {n                DisplayName: "Display name de l'utilisateur";n                Claims: "i:0#.f|membership|" & Lower("adresse@user.com")n            };n            //Colonne de type texte mais avec un nom interne différentn            //à cause de l'espace et du "é"n            //"Titre spécial" --> Nom interne dans SharePoint : Titresp_x00e9_cialn            Titresp_x00e9_cial: "Un titre de colonne très spécial"n        }n    )n);;

      On voit que le nom de ma colonne “Titre spécial” remonte différemment lorsqu’il est “collecté” et également que en fonction du type de la colonne la méthode change. Pour les champs “Texte” pas besoin de guillements si tu utilises des variables.

      C’est le nom interne SharePoint

      SubCommentID=agpk8CDWrhB1qoM, CommentID=npXhD121k3zzr73, PostID=YpR19o4wz2Z92Ua

    • Jonathan Copin

      Member
      16 février 2023 at 16h51 en réponse à: Erreur de syntaxe ?

      En double cliquant sur le nom de ta collection tu vas pouvoir afficher son contenu dans l’éditeur de formule. Cela permet de vérifier le type et le nom des colonnes :

      Un type [Enregistrement] ne peut pas être remonté de la même manière par exemple :

      • Un champs de type recherche se notera ‘colonne recherche’:{Value:”Ma valeur”}

      • Un nombre –> ‘Colonne Nombre’: 1

      • Un texte –> ‘Colonne texte’: “Texte”

      • etc.

      Le nom des colonnes dans une collection peut changer car sur une liste SharePoint par exemple c’est le nom interne de la colonne qui va remonter (qui peut être différent en fonction de l’utilisation de certains caractères)

      SubCommentID=lYxJbv6kgEeKlp9, CommentID=npXhD121k3zzr73, PostID=YpR19o4wz2Z92Ua

  • Jonathan Copin

    Member
    16 février 2023 at 9h14 en réponse à: Problème d'affichage

    Le format du nombre n’est peut être pas le bon pour Power Apps.

    Il faudrait essayer de remplacer “##,#” par “##.#” dans la formule ou tu peux aussi tester :

    RoundUp(ThisItem.Nombre;2)

    CommentID=ws3Py1XluiJR9y7, PostID=uij720GIJONCMuR

  • Je ne vois pas d’où pourrait provenir le problème. Avec cette formule dans la propriété “Items” de ta combobox ou DropDownList (nommée ddlClient) tu devrais avoir :

    • Soit toutes les commandes si tu ne sélectionnes pas de client

    • Soit les commandes liées au client si tu sélectionnes un client

    (Il ne faut pas oublier de modifier les champs visibles et de recherche de la liste déroulante)

    Filter(n   'CRM-Commande';n   Or(n      IsBlank(ddlClient.Selected);n      Client.ID=ddlClient.Selected.IDn   )n)

    CommentID=cyccfcz3K81tJn0, PostID=6eTzHodIvac1hrj

  • Jonathan Copin

    Member
    27 février 2023 at 17h30 en réponse à: Filtrer les enregistrement d'un formulaires

    Si tu filtres tes lignes de commande sur l’ID de la commande tu ne devrais pas avoir de problème (si on s’en réfère à ton modèle de données).

    Je vois que tu as toujours des problèmes de délégation sur ta combobox “Commande” et je pense que tu auras la même sur tes lignes de commande. Ceci est du au fait que tu utilises des champs de type Recherche dans ta liste pour pointer vers ton client ou tes commandes. Les champs de type recherche n’ont vraiment d’utilité que si tu utilises directement ta liste SharePoint. Tu peux voir tout de suite le nom de client et accéder à la liste client directement en cliquant dessus.

    Si tu n’accèdes à ta liste SharePoint que depuis ton application je te conseille d’utiliser plus un champs de type nombre nommé “ID client” pour stocker l’ID client dans “CRM-Commandes” ou “ID Commande” pour l’ID commande dans “CRM-détail Commandes”. Cela supprimera tous tes problèmes de délégation. Tes formules vont légèrement changer mais par contre les formulaires nécessitent des ajustements pour la saisie.

    Items de ddlCommande :

    Filter(n   'CRM-Commandes';n   'ID Client' = ddlClient.Selected.IDn)

    Items de ta gallerie :

    Filter(n   'CRM-détail Commandes';n   'ID commande' = ddlCommande.Selected.IDn)

    SubCommentID=jyT3NZ19UinJshY, CommentID=V18Wz9Is3SAM35f, PostID=wVEkrzcD5VIJ3Ae

  • Jonathan Copin

    Member
    20 février 2023 at 8h14 en réponse à: Filtrer les enregistrement d'un formulaires

    Je le prends bien R3dKap 😄 J’avais oublié qu’on ne voulait affiché que le détail d’une commande…

    SubCommentID=JIAjlT2HpCaYBAU, CommentID=dQSwjoGFoRWFCaZ, PostID=wVEkrzcD5VIJ3Ae

  • Jonathan Copin

    Member
    17 février 2023 at 14h31 en réponse à: Filtrer les enregistrement d'un formulaires

    C’est parce que tu dois aller chercher tes commandes dans ta table commande, ce sera beaucoup plus simple :

    Filter(n   CRM-Commande;n   Client.ID=ddlClient.Selected.IDn)

    et si tu souhaites afficher toutes les commandes si il n’y pas de client sélectionné :

    Filter(n   CRM-Commande;n   Or(n      Client.ID=ddlClient.Selected.ID;n      IsBlank(ddlClient.Selected)n   )n)

    SubCommentID=iv2qF6vnsWq28XD, CommentID=4Dt3AYMeJnuTvC7, PostID=wVEkrzcD5VIJ3Ae

    1. Quel est le nom de ta liste “Commandes” ?

    2. Quel est le nom du champs “Client” dans cette table ? Est-ce aussi un champ de type Recherche ?

    3. As-tu des erreurs remontées par Power Apps sur ta formule ?

    SubCommentID=fDK1hTgwjwPvO9q, CommentID=pTGS4IwwLHs4xet, PostID=6eTzHodIvac1hrj

  • Une fois fait tu pourras filtrer tes commandes de la même manière sur ta combobox de recherche Commandes :

    Si c’est un champs Recherche dans ta liste :

    Filter(n   Commandes;n   Or(n      IsBlank(ddlClient.selected);n      Client.ID=ddlClient.selected.IDn   )n)

    Si c’est un type texte :

    Distinct(nFilter(n   'Détail commande';n   Or(n      IsBlank(ddlClient.Selected);n      Client=ddlClient.selected.Valuen   )n);Commande)

    Si c’est un type choix:

    Distinct(nFilter(n   'Détail commande';n   Or(n      IsBlank(ddlClient.Selected);n      Client.Value=ddlClient.selected.Valuen   )n);Commande)

    SubCommentID=9c2T9LJ2Gj40ObD, CommentID=pTGS4IwwLHs4xet, PostID=6eTzHodIvac1hrj

  • Désolé Diane Je viens de me rendre compte que ma réponse est valide sur Power Apps mais pas sur Power Automate 😑

    Pour Power Automate il faudra faire comme DavidZed le dit avec une expression :

    if(equals(triggerBody()?['ColumnName'],true),'Oui','Non'))

    SubCommentID=aZLh1JbEh5vmP3r, CommentID=4VA6jRdQ1tnLKxH, PostID=vXMHruHOWf4jKZT

Page 1 of 2