Réponses céées sur le Forum

Page 19 sur 68
  • DavidZed

    Membre
    8 novembre 2023 à 20h09 en réponse à: Problème récupération de champs SQL

    Hello Romane , peux tu nous montrer un screenshot ?

    Car si c’est dans l’aperçu des données que tes champs apparaissent vides, c’est normal car les champs ne sont peuplés que si le champ est sollicité dans l’application.

    Si c’est dans un objet où tu appelles ce champ et que rien ne remonte, c’est un autre problème

    CommentID=eaKtiZN7zCdLYia, PostID=Knoz1uQrzzECZMu

  • DavidZed

    Membre
    7 novembre 2023 à 12h31 en réponse à: Utilisation des expressions

    il faut vérifier en sortie de requête que le type de donnée sur ce champ est bien int (numérique) le cas échéant le convertir dans le fichier si c’est possible, sinon dans le flux

    CommentID=IA9Ua14CjljYTWG, PostID=aUdixXp0fw8AoeK

  • DavidZed

    Membre
    7 novembre 2023 à 10h29 en réponse à: Utilisation des expressions

    Bonjour ALAIN DEL GIUDICE ,

    Ta condition ne peut pas être vraie, tu lui demandes de lister les lignes dont la valeur Points est à la fois egale à 500 et supérieure à 1000, ce qui est impossible.

    Il faut remplacer le And de ta condition par un Or :

    A noter que tu dois pouvoir formuler ce filtre directement dans ton action “obtenir les lignes” (filtre Odata)

    CommentID=iSP578feSJMZCrr, PostID=aUdixXp0fw8AoeK

  • DavidZed

    Membre
    7 novembre 2023 à 10h23 en réponse à: Problème affichage de données dans controle Table

    Hello Data_Speacker ,

    Ta formule fonctionne, elle te retourne toutes les lignes qui contiennent la chaîne de caractère Entrée de texte dans les colonnes ACTI_LIB, Année et ACTI_COD

    Du coup, il te faut enlever la valeur par défaut de ton TextInput1, qui doit être le fameux Entrée de texte et mettre ce texte d’indication dans la propriété HintText

    Par contre si ton classeur comporte plus de 2000 lignes, tu vas avoir un problème de délégation, seuls les 500 à 2000 premières lignes seront évaluées.

    Pour savoir si une formule n’est pas délégable, il suffit de cliquer dans la barre de formule et de survoler les éventuels passages soulignés en bleu, un HintBox t’indiquera la partie de la formule qui n’est pas délégable :

    CommentID=xddYJCULUeOQbQZ, PostID=AuK7Myg0pmiXmSg

  • Ce contrôle ressemble au bouton par défaut dans les Power apps crées dans un environnement Dataverse for Teams, est-il possible que ton application soit un import de packege .zip ou .msapp d’une application qui a été créée sur un environnement D4T ?

    Car je viens de tester sur la même authoring version, j’ai bien les boutons classiques :

    Dans tous les cas, pour ne pas être bloqué, tu peux copier-coller un bouton d’une application existante si besoin

    CommentID=uoO5hvrgZMOgJxE, PostID=AoY4ktsPpiyyXtk

  • DavidZed

    Membre
    6 novembre 2023 à 18h37 en réponse à: Problème d'affichage de données

    Hello Lilian ,

    Pour remonter correctement une erreur sur le forum, je t’invite à lire ce guide ici ce qui serait pertinent, serait de voir dans l’éditeur, quelle partie de ta formule est soulignée en bleu car ce problème d’affichage est lié à la délégation.

    Il me semble qu’avec sharepoint, le “In” n’est pas délégable avec les colonnes complexes, dans ton cas la colonne Référent ADV ou contrat qui sont certainement des lookup, du coup il faut songer à le remplacer par un StartsWith() :

    Filter('ADV AuRA';nStartsWith('Entité Juridique Parente' ; 'TSB_Recherche EJR/PC/ADV'.Text) ;nStartsWith('Référence PC/Contrat' ; 'TSB_Recherche EJR/PC/ADV'.Text) ; nStartsWith('Référent ADV pour la MEF'.Value ; 'TSB_Recherche EJR/PC/ADV'.Text) ; nStartsWith('Contrat : Statut'.Value ; 'TSB_Recherche EJR/PC/ADV'.Text) n)

    CommentID=vh3UJ9JzYgW3vpf, PostID=0jhvdoWvGslPJj5

  • DavidZed

    Membre
    6 novembre 2023 à 15h36 en réponse à: Champs texte – Ajouter les modifications au texte existant

    Bonjour Romane ,

    Dans ton formulaire, sur la propriété .Update de ton Datacard du champ “Comment”, admettons que tu aies la formule :

    DatacardValue28.Text

    Tu peux la remplacer par :

    If(IsBlank(DatacardValue28.Text) ; ThisItem.Comments ; $"{ThisItem.Comments} </br> {User().FullName} ({Now()}) : {DatacardValue28.Text}")nn//si le DatacardValue28 est vide, on garde le même commentaire, si non on fait une concaténation du commentaire existant avec une nouvelle ligne

    CommentID=XqSiXbJmePCjTcE, PostID=2pnwHMRYUbPvUOv

  • DavidZed

    Membre
    4 novembre 2023 à 11h14 en réponse à: Fonction SUM

    Hello Data_Speacker ,

    Pour avoir le total général dans ta vignette jaune en bas, tu ajouter une colonne avec ton calcul et mettre le tout dans un Sum() :

    Sum(AddColumns('Nom de ta source de données' ; "MONTANT TOTAL" ; ThisRecord.COMMANDE * ThisRecord.DEVIS ) ; 'MONTANT TOTAL')

    Pour que ce soit plus clair, tu peux ajouter la colonne “Montant total” à ta table de données pour voir le produit devis*commande sur chaque ligne : Dans le .Items de ta DataTable, tu peux remplacer ta source par :

     AddColumns('Nom de ta source de données' ; "MONTANT TOTAL" ; ThisRecord.COMMANDE * ThisRecord.DEVIS )  

    CommentID=BAbGT3OW2P6viQV, PostID=PZKyGTzEuLSDfgA

  • DavidZed

    Membre
    4 novembre 2023 à 10h54 en réponse à: Problème de date

    Hello Charline ,

    Peut être que supprimer la partie heure dans l’update résoudrait le problème, dans ce cas il suffit simplement de l’enlever du format en remplaçant :

    If( IsBlank(DateValue1.SelectedDate); "0"; DateAdd( Text(DateValue1.SelectedDate; "yyyy-mm-ddThh:mm:ss"); 2; TimeUnit.Hours ) )

    par

    If( IsBlank(DateValue1.SelectedDate); "0"; DateAdd( Text(DateValue1.SelectedDate; "yyyy-mm-dd"); 2; TimeUnit.Hours ) )

    CommentID=KOe2ImaoiSim2gW, PostID=FGJ2FzAReIPZpEe

  • DavidZed

    Membre
    4 novembre 2023 à 10h49 en réponse à: Suppression de doublons – ne garder que le dernier enregistrement

    Hello,

    Ton poste étant dans la section Dataverse, je pars du principe que tu souhaites supprimer les enregistrements ayant une date antérieure au dernier record pour chaque référence.

    Tu as plusieurs manières d’y parvenir

    Soit avec Power Automate :

    A privilégier si la table reçoit des nouveaux enregistrements en grande quantités / à forte fréquence

    1. Il faut partir sur un déclencheur “Quand un nouvel enregistrement est créé”

    2. Ajouter une action “Obtenir les éléments” en filtrant (Odata) sur deux critères :

      1. La catégorie = la catégorie de l’élément dans le déclencheur

      2. La valeur Date < à celle de l’élément dans le déclencheur

    3. Ajouter une action supprimer une ligne : Mettre le item de l’action précédente (ce qui va créer une boucle For Each)

    Soit avec un Dataflow :

    A privilégier si la table contient beaucoup d’enregistrements et surtout si beaucoup d’enregistrements sont créés (ex 1000+ / jour)

    L’idée c’est de faire une requête sur ta table, réduire la table à un enregistrement par Référence avec un “group by” en se basant sur la valeur maxi du champ “Date” .

    La difficulté ici c’est que pour le champ “Valeur” et le GUID qui va te permettre de supprimer les autres enregistrements lors de l’import, il y a une certaine gymnastique à faire pour récupérer les valeurs correspondantes à la dernière date.

    Voici un article qui décrit le principe, étape par étape :

    1. Tri par date

    2. Table buffer pour charger toutes les données en cache

    3. Group By avec un List. First (ou List.Max selon l’ordre de tri) pour chaque colonne doit on doit récupérer la valeur correspondante (Valeur, GUID…) Bien nommer les colonnes avec leur nom d’entrée, ce sera plus facile pour le mappage

    Ensuite il faudra mapper en sélectionnant la même table et en veillant bien à cocher l’option

    Il y a peut être également d’autres possibilités : Outil de suppression en blocs, plugins…

    CommentID=eITVIwUP2ofAn4F, PostID=4DOQZ92DMZbUNMZ

  • DavidZed

    Membre
    2 novembre 2023 à 11h08 en réponse à: Problème avec un flux

    Hello Youcef DOUMANDJI ,

    Je n’ai jamais eu ce message, mais vu l’intitulé et la capture d’écran j’aurai tendance à regarder:

    Est-ce que le flux est partagé en lecture (pour le “impersonation” dans le message d’erreur) ?

    Est-ce que ce ne serait pas lié à la dépréciation du connecteur Dataverse legacy (actions avec logo Dataverse sur fond gris), dans le cas où cette erreur serait survenue il y a peu, alors que le flux tournait sans problèmes il y a quelques mois.

    CommentID=fdLehbWnXKfK4hn, PostID=bEqN23tL6MmrpVj

  • DavidZed

    Membre
    31 octobre 2023 à 20h45 en réponse à: Problème dans fonction ForAll

    Hello Mickael ,

    à mon avis il manque un ThisRecord. ici :

    Dans un Forall, tu appelles les valeurs de l’élément actuellement évalué avec ThisRecord. ou n’importe quel autre préfixe que tu détermine avec As, exemple

    ForAll(Sequence(10) As ThisNumber ; {Value: ThisNumber + 1 })

    Par contre ton modèle de données est assez spécial pour ce type de besoin, as-tu envisagé de faire une liste de demandes (avec le montant total) et un autre liste pour les articles, avec une colonne recherche vers la première. Ca te permettrait de recalculer le montant total avec une formule du type :

    Patch('Liste des demandes' ; varDemande ; {nPTotal: Sum(Filter('Liste des articles','Col recherche de la demande'.Id=varDemande.Id );TotalLigne)n})

    Ce serait moins gourmand en requêtes et plus cohérent au niveau de la donnée 🙂

    CommentID=cS6BjKdP1Z5W1vf, PostID=T9vSh2cd2jtqtA5

  • DavidZed

    Membre
    31 octobre 2023 à 13h36 en réponse à: Search dans une colonne lookup Dataverse

    Hello FRED b. ,

    D’ordinaire j’utilise la fonction Filter() plutot que Search() et je n’ai jamais à utiliser IsType AsType etc…

    Dans ce cas te figure j’aurai tendance à faire un simple filtre :

    Non délégable donc si tu as moins de 500 à 2000 clients :

    Filter(Droits;n       TextInput1.Text in 'Nom de la colonne recherche Compte'.'Nom du compte'n)

    Une version délégable avec startswith() si tu as beaucoup plus de clients :

    Filter(Droits;n       StartsWith('Nom de la colonne recherche Compte'.'Nom du compte'; TextInput1.Text)n)

    CommentID=u4263Nr4WGIlH7w, PostID=2DxOurTrRtWTGdq

  • DavidZed

    Membre
    7 novembre 2023 à 13h00 en réponse à: Problème de date

    je me rends compte que le Text() est mal placé, le DateAdd doit recevoir des données au format date et non du texte :

    If( IsBlank(DateValue1.SelectedDate);n    "0";n    Text(DateAdd(DateValue1.SelectedDate; 2; TimeUnit.Hours ); "yyyy-mm-dd")n)

    SubCommentID=SufFDMaBlZ7i3pD, CommentID=aj9RfdDGPFbMN34, PostID=FGJ2FzAReIPZpEe

  • DavidZed

    Membre
    7 novembre 2023 à 10h36 en réponse à: Le Xeme jour de l'année

    Je dirai même :

    DateDiff(Date(Year(DatePicker1.SelectedDate);1;0);DatePicker1.SelectedDate)

    Ce qui te permet d’avoir un affichage qui sera dynamique en fonction de l’année sélectionnée

    SubCommentID=7txBTn8LyD8amLi, CommentID=6bihcudhBbjjdwv, PostID=K7Agj7Q670Kvb1A

Page 19 sur 68