Icone visible

  • Icone visible

    Posté par Jonathan FRANÇOIS sur 26 janvier 2025 à 15h41

    Bonjour,

    J’aimerai faire apparaitre un icone quand une pièce jointe est présente dans un formulaire.

    Voici ma formule présente dans la partie visible de mon icone:

    <div>
    <div>
    <pre class=”language-markup”>If(
    IsBlank(ThisItem.'Pièces jointes'.attachement);
    false;
    true
    )

    </div>
    <div> </div>
    <div>Auriez-vous une idée?</div>
    <div>Merci pour votre aide.</div>
    </div>

    Jonathan FRANÇOIS a répondu Il y a 2 semaines, 3 jours 3 Membres · 3 Réponses
  • 3 Réponses
  • Geoffroy

    Membre
    26 janvier 2025 à 15h59

    Bonjour Jonathan,

    Il vaut mieux utiliser une formule du type

    CountRows(DataCardValue_PJ.Attachments)>0

    où DataCardValue_PJ est la datacard du contrôle Pièces jointes

  • R3dKap

    Membre
    26 janvier 2025 à 16h40

    Salut François,

    La fonction IsBlank() sert à vérifier si une variable ou un enregistrement est vide. Pour vérifier si une table est vide il faut utiliser la fonction IsEmpty(). En effet, la propriété Attachments (attention ça s’écrit comme ça 😉) est une table car il peut y avoir plusieurs pièces jointes.

    Autre remarque (voir mon post LinkedIn sur le sujet de la logique booléenne) : écrire If(Test; True; False) revient à écrire Test (tout seul).

    Dernière chose : tu dis que tu veux vérifier la présente de pièces jointes dans un formulaire. Si ton icône se trouve à l’intérieur d’un datacard du formulaire alors tu dois utiliser :

    • ThisItem.'Pièces jointes'.Attachments si tu veux rendre l’icône visible lorsque les PJ actuellement sur l’enregistrement en cours sont bien présentes (le mot-clé ThisItem à l’intérieur d’un formulaire représente l’enregistrement en cours dans la source de données -> il est en lecture seule et ne change pas lorsque tu modifies les données du formulaire)
    • DataCardValueNN.Attachments si tu veux rendre l’icône visible lorsque l’utilisateur ajoute des pièces jointes dans le champ correspondant du formulaire

    Si l’icône est sur l’écran en dehors du formulaire, alors tu vas devoir utiliser la variable qui contient l’enregistrement en cours de ta source de données (en gros, ce que tu as mis dans la propriété Item de ton formulaire).

    Donc, au final, sur la propriété OnVisible de ton icône, il te faut mettre (je par sur le 1er cas de figure) :

    Not(IsEmpty(ThisItem.'Pièces jointes'.Attachments))

    ou, comme précisé par Geoffroy :

    CountRows(ThisItem.'Pièces jointes'.Attachments) > 0

    Voilou… 😉

  • Jonathan FRANÇOIS

    Membre
    26 janvier 2025 à 17h10

    Avec le .Attachments cela ne fonctionne pas.

    J’ai essayé avec la formule de R3dKap comme suit :

    <div>
    <div>Not(IsEmpty(ThisItem.’Pièces jointes’)) et cela fonctionne parfaitement.</div>
    <div> </div>
    <div>Merci à vous deux.</div>
    </div>

Connectez-vous pour répondre.