Au secours…

  • Au secours…

    Posté par Karlemagne sur 1 février 2022 at 12h48

    Bonjour les gens,

    Je me retrouve avec un gros soucis depuis quelques jours sur mon appli de réservation d’outils. Cela se passe au niveau du calendrier de réservation.

    Celui-ci possède 2 chevrons pour naviguer dans les mois, sauf que d’un seul coup, il se passe quelque chose de bizarre. Une fois le calendrier affiché, je peux avancer ou reculer d’un mois, mais si je reclique sur un des 2 chevrons, ça réinitialise mon appli et elle reviens à l’écran de démarrage… J’ai beau regarder dans les codes, je ne vois rien qui cloche. Pire, je suis revenu à la toute première version ou j’ai intégré le calendrier, et j’ai toujours le bug…
    Voici comment cela fonctionne :
    -Lorsque l’écran de réservation s’affiche, une variable est crée

    Set(varFirstDayOfMonth;Date(Year(Today());Month(Today());1))

    -La formule du chevron permettant d’avancer d’un mois

    Set(varFirstDayOfMonth;Date(Year(varFirstDayOfMonth);Month(varFirstDayOfMonth)+1;1))

    -La formule du chevron permettant de reculer d’un mois

    Set(varFirstDayOfMonth;Date(Year(varFirstDayOfMonth);Month(varFirstDayOfMonth)-1;1))

    Alors je sais très bien qu’avec ces quelques lignes de code vous n’allez pas pouvoir m’aider énormément, donc si il vous faut d’autres information, n’hésitez pas à demander et je vous les communiquerais autant que possible…

    PostID=QtQF113kinM7ZMG

    Karlemagne a répondu 11 months, 3 weeks ago 1 Membre · 12 Réponses
  • 12 Réponses
  • R3dKap

    Member
    2 février 2022 at 15h46

    @Karlemagne lorsqu’une application se comporte de manière complètement erratique comme ça, j’ai tendance à fermer le studio, le redémarrer, faire une modif bidon dans l’application, la republier puis retester tout ça…

    Passk’effectivement je vois pas où pourrait être le problème au vu de tes formules, surtout que je vois que ce sont celles qui viennent de l’écran modèle d’agenda fournit par Power Apps…

    Mais peut-être as-tu déjà tenté ça… Essaie surtout de republier l’app… parfois, le processus de publication ne fonctionne pas bien et l’app peut avoir des comportements étranges…

    CommentID=8GbBImaecZDvn8a, PostID=QtQF113kinM7ZMG

    • Karlemagne

      Member
      3 février 2022 at 12h17

      Bonjour @R3dKap,

      J’ai déjà effectué tout ça, jusqu’à la republication, seulement rien n’y fait… Quand j’aurais 5min, je vais tenter de supprimer les formules, enregistrer/publier, et remettre les formules avec republication. Avec un peu de chance, cela fonctionnera peut-être de nouveau…

      SubCommentID=FfjMaM2nkxccZle, CommentID=8GbBImaecZDvn8a, PostID=QtQF113kinM7ZMG

    • Karlemagne

      Member
      8 février 2022 at 13h05

      Ca ne change rien… mais je pense avoir localiser où se trouve le problème. Le défaut tourne autour de la variable

      varFirstDayOfMonth

      Celle-ci est initialisé lors de l’affichage de l’écran du calendrier dans la propriété OnVisible :

      Set(varFirstDayOfMonth;Date(Year(Today());Month(Today());1))

      pour être ensuite utilisé sur les chevrons de changement de mois. Mais elle est également utilisé pour l’affichage du calendrier en lui-même dans la propriété Item de la galerie :

      ForAll(Sequence(35);{Value:varFirstDayOfMonth+Value-1-Weekday(varFirstDayOfMonth;StartOfWeek.Sunday)+1;NextDay:varFirstDayOfMonth+Value-1-Weekday(varFirstDayOfMonth;StartOfWeek.Sunday)+2})

      Lorsque je supprime cette dernière formule, mon problème disparait et je peux de nouveau naviguer comme je veux dans les mois, sauf que mon calendrier ne s’affiche plus ce qui est normal. Donc j’en conclut que mon problème se situe dans cette formule, sauf que depuis que je l’ai mise en place il y a déjà quelques mois de cela, je n’y ai jamais retouché…

      Alors pourquoi est-ce que j’ai un bug de fonctionnement comme ça du jour au lendemain? c’est un grand mystère…

      SubCommentID=50wluBJfNUvNrTL, CommentID=8GbBImaecZDvn8a, PostID=QtQF113kinM7ZMG

  • R3dKap

    Member
    9 février 2022 at 9h05

    Je vois… Essaie le truc suivant :

    • déplace le Set() qui définit la valeur de varFirstDayOfMonth dans le OnStart de l’application

    Parce-que comme il est utilisé sur l’écran dans le Items de la galerie et que parfois les traitements se parallélisent, peut-être parfois n’est-il pas initialisé que le ForAll() s’exécute déjà… Mais bon, j’y crois pas trop.

    Autre chose aussi : dans mes formules j’essaie de faire en sorte d’être certains de ne pas me mélanger les pinceaux dans les noms des variables ou des champs qui auraient le même nom. Dans ton ForAll(), le champ Value est à la fois celui renvoyé par le Sequence() et le nom de la colonne de ton record retourné par le ForAll(). Donc, essaie plutôt ceci :

    ForAll(n    Sequence(35) As LoopItem;n    {n        CalendarValue: varFirstDayOfMonth+LoopItem.Value-1-Weekday(varFirstDayOfMonth;StartOfWeek.Sunday)+1;n        NextDay:varFirstDayOfMonth+LoopItem.Value-1-Weekday(varFirstDayOfMonth;StartOfWeek.Sunday)+2n    }n)

    Et autre chose aussi… Pour avancer et reculer dans les mois tu peux plus facilement le faire ainsi :

    Set(n    varFirstDayOfMonth; n    DateAdd(varFirstDayOfMonth; 1; Months)n)

    Et :

    Set(n    varFirstDayOfMonth; n    DateAdd(varFirstDayOfMonth; -1; Months)n)

    CommentID=QPSS5knL0Ocur84, PostID=QtQF113kinM7ZMG

    • Karlemagne

      Member
      9 février 2022 at 12h37

      Merci de ton retour @R3dKap,

      J’ai appliqué tout les changements, même le déplacement du Set() dans le OnStart, sauf que rien n’y fait. Mon bug est toujours présent…

      SubCommentID=LBZTbc01uVkpdsE, CommentID=QPSS5knL0Ocur84, PostID=QtQF113kinM7ZMG

  • R3dKap

    Member
    14 février 2022 at 14h58

    @Karlemagne tu as trouvé une solution ? Sinon, contacte-moi sur LinkedIn et je te filerais un mail où tu pourras m’envoyer ton app si tu veux que je jette un oeil…

    CommentID=0QZ2MUa1T38Mfz6, PostID=QtQF113kinM7ZMG

    • Karlemagne

      Member
      16 février 2022 at 8h45

      @R3dKap,

      Désolé pour le temps de réponse, j’étais en congé. Le technicien IT de l’entreprise a profité de mes congés pour passer sur mon appli et faire une modif après avoir fait une copie de l’écran. D’après lui cette modif fonctionne, mais faut que je regarde ce qu’il à fait car il m’a modifié la variable de base varFirstDayOfMonth, crée une autre et modifié l’item du calendrier…

      Je fais le point sur ce qu’il a fait, et revient vers toi après.

      Merci quand même pour ton aide.

      Edit 1

      En 1ère étape, l’IT à remplacer ma variable de base

      Set(varFirstDayOfMonth;Date(Year(Today());Month(Today());1)) 

      par 3 autres variables

      Set(dateSelected;Today());;nSet(_firstDayOfMonth;DateAdd(Today();1-Day(Today());Days));;nSet(_firstDayInView;DateAdd(_firstDayOfMonth;-(Weekday(_firstDayOfMonth)-2+1);Days))

      Il a fait d’autres modifs ailleurs par rapport à ces nouvelles variables, mais sans me dire où exactement, donc faut le temps que je les trouve…

      Edit 2

      Seconde modif dans l’item du calendrier :

      ForAll(Sequence(35) As LoopItem;{CalendarValue:varFirstDayOfMonth+LoopItem.Value-1-Weekday(varFirstDayOfMonth;StartOfWeek.Sunday)+1;NextDay:varFirstDayOfMonth+LoopItem.Value-1-Weekday(varFirstDayOfMonth;StartOfWeek.Sunday)+2})

      remplacé par :

      [0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34]

      SubCommentID=V9CtxCdiDAMAX3O, CommentID=0QZ2MUa1T38Mfz6, PostID=QtQF113kinM7ZMG

    • Karlemagne

      Member
      16 février 2022 at 10h31

      Je suis encore en pleine étude des modifs apportées. Entre temps, j’aurais une autre question subsidiaire. Dans ce même calendrier, il y a une galerie pour afficher les jours avec comme Items

      Calendar.WeekdaysLong()

      Seulement, cela fait commencer les jours à Dimanche. Est-il possible de faire en sorte que les jours affichés démarrent à partir de lundi? Toutes mes recherches sur le net à propos de ce détail sont resté infructueuses…

      En te remerciant de ton retour.

      SubCommentID=kP9BiOU4RWcvfHb, CommentID=0QZ2MUa1T38Mfz6, PostID=QtQF113kinM7ZMG

    • Karlemagne

      Member
      16 février 2022 at 12h54

      Après étude des formules modifiées que j’ai trouvé entre mon écran et celui de l’IT, et en faisant quelques tests, il s’avère effectivement que mon problème vient bel et bien du ForAll() situé dans l’Item du calendrier. D’après l’IT, l’appli se mélange les pinceaux dans ma variable varFirstDayOfMonth. Il y a quelque chose dans ce ForAll() qui ne lui convient plus, mais alors quoi…

      SubCommentID=gIpGTr5fkm9BM8b, CommentID=0QZ2MUa1T38Mfz6, PostID=QtQF113kinM7ZMG

  • R3dKap

    Member
    16 février 2022 at 11h28

    J’ai cherché un peu de mon côté aussi et j’ai rien trouvé non plus. Le plus simple c’est de te faire ta propre liste de jours de la semaine comme ceci :

    ["Lundi"; "Mardi"; "Mercredi"; "Jeudi"; "Vendredi"; "Samedi"; "Dimanche"]

    CommentID=Vr0BXFwF0XiHqI6, PostID=QtQF113kinM7ZMG

    • Karlemagne

      Member
      16 février 2022 at 12h47

      Oui effectivement ça fonctionne… Comme d’habitude je cherche compliqué alors que c’est simple😔

      SubCommentID=rb1GSqX5zRp8wju, CommentID=Vr0BXFwF0XiHqI6, PostID=QtQF113kinM7ZMG

  • Karlemagne

    Member
    22 février 2022 at 14h50

    Hello,

    Je reviens de nouveau sur mon appli après une pause de quelques jours suite à d’autres obligations au boulot. Je n’ai pas fini de chercher toutes les modifs effectuées par le technicien IT, mais comme cela fonctionne avec son système, j’ai mis mon écran à moi de côté et activé le sien dans les liens. Je reviendrais peut-être un jour dessus.

    CommentID=org9ipZduMIw8rF, PostID=QtQF113kinM7ZMG

Connectez-vous pour répondre.