Créer application Canvas avec un champ qui récupère automatiquement une valeur

  • Créer application Canvas avec un champ qui récupère automatiquement une valeur

    Posté par Diane sur 19 février 2025 at 16h47

    Bonjour à tous,

    je voudrais créer une applicqtion canvas qui aurait un parametre de reconnaissance de l’ordinateur qui l’execute.

    Par exemple: 2 ordinateurs “A” et “B” sur lesquels sont installé des instances d’une même application Canvas Microsoft 365 , Ainsi au lancement de l’application sur les différents ordinateurs, il est mentionné automatiquement “Ordinateur A” dans le champ nom de l’ordinateur quand il s’agit de l’ordinateur A et “Ordinateur B” quand il s’agit de l’ordinateur B.

    si quelqu’un peut m’aider

    Diane a répondu 1 month, 3 weeks ago 4 Membres · 7 Réponses
  • 7 Réponses
  • Nicolas

    Member
    19 février 2025 at 17h44

    Bonjour @Diane,

    Ce n’est pas tout à fait une récupération de l’information du poste, mais tu peux créer au premier lancement de l’application un GUID que tu peux enregistrer dans l’appareil et relire ensuite. Il suffit ensuite de relier le GUID au nom de l’appareil correspondant grâce à un Switch ou garder le GUID.

    L’écriture du GUID peut se faire dans OnStart de l’application avec :

    LoadData(DeviceID; “DeviceID”; true);;
    If(IsEmpty(DeviceID); ClearCollect(DeviceID;{ID: GUID()}));;
    SaveData(DeviceID; “DeviceID”)

    Si tout ça n’est pas clair…

    • This reply was modified 1 month, 4 weeks ago by  Nicolas.
    • This reply was modified 1 month, 4 weeks ago by  Nicolas.
    • This reply was modified 1 month, 4 weeks ago by  Nicolas.
  • Diane

    Member
    21 février 2025 at 17h51

    Bonjour @Nicolas

    Merci pour ta reponse, j’essaie et je vous laisse savoir.

    • This reply was modified 1 month, 3 weeks ago by  Diane.
  • Nicolas

    Member
    22 février 2025 at 0h43

    Bonjour Diane,

    en fait, après test, ça ne fonctionne pas avec un navigateur… Il va falloir trouver une autre piste !

  • DavidZed

    Member
    22 février 2025 at 17h24

    Pas possible à ma connaissance, à la rigueur, en alternative :

    SI seulement quelques postes : mettre des navigateurs différents et ainsi différencier le poste par le navigateur utilisé.

    ou

    Utiliser des comptes M365 dédiés aux postes en question

  • Diane

    Member
    24 février 2025 at 12h27

    OK Merci,

    Cependant, je voudrais savoir s’il y a possibilité de créer une variable persistante, qui une fois sélectionnée ne change pas même après fermeture et ouverture de l’application Canvas.

    Je vous explique mon problème plus clairement, peut-être vous aurez d’autres méthodes de résolution.

    Mon application doit être déployée sur 2 différents sites, mais lorsque l’on utilise l’application sur l’un des sites, le nom du site doit être récupéré automatiquement sans que l’utilisateur ne sélectionne le site d’où il utilise l’application

    Merci

  • Nelson

    Member
    25 février 2025 at 15h51

    Bonjour,

    Avec ce que tu viens de nous donner comme information tu peux mettre ceci en place :

    Tu créé une liste sharepoint qu’on nommera PARAMETER_SITE (ceci est un exemple) avec deux colonnes.

    Première colonne : ID_USER (text) (le nom sera à ta convenance) qui sera ta clé primaire (donc une information unique)

    Ta seconde colonne SITE sera une colonne nombre qui contiendra 1 ou 2 selon le site sélectionné.

    Dans ton application, tu créé un premier écran (Screen1) qui s’affichera seulement si dans ta liste sharepoint aucune ligne ne correspond.

    Ce qui veut dire que la personne n’a encore jamais choisi son site.

    <div>
    <div>Dans ton App.StartScreen tu vérifies :</div>
    <div> If(IsBlank(LookUp(PARAMETER_SITE;ID_USER=User().Email).SITE);Screen1;Screen2)</div>
    <div>Une fois arrivé sur ton Screen1, il fait face à deux boutons qui lui permettent de sélectionner son choix de site.</div>
    <div>Dans tes boutons tu mets ton code de patch qui serait :</div>
    <div>
    <div>
    <div>Patch(PARAMETER_SITE;Defaults(PARAMETER_SITE);{ID_USER:User().Email;SITE:Self.Text)})</div>
    <div>J’ai mis Self.Text en se disant que sur tes boutons tu as en text “1” et “2”.</div>
    <div>Tu devras un peu adapter le tout.</div>
    <div>Et donc à chaque ouverture de ton app, tu feras donc une requête pour vérifier que cette personne a choisi un des deux sites sinon, elle sera automatiquement renvoyé vers ton screen1 qui lui demandera de sélectionner.</div>
    <div> </div>
    <div>La seconde option est d’utiliser les paramètres de l’ordinateur en faisant une comparaison avec ce que retourne Host.BrowserUserAgent</div>
    <div>Et dès lors, dans ton code tu feras une variable qui choisi le site selon ce que retourne le browser.</div>
    <div>Attention, si les informations du browser changent, ton code ne sera plus valide.</div>
    </div>
    </div>
    </div>

  • Diane

    Member
    26 février 2025 at 11h46

    OK Merci ; je vais essayer et je vous laisse savoir Merci

Connectez-vous pour répondre.