Jump to content
  • 0
jcfarkas

Mise en place d'un "Time out" sur deux fenêtres.

Question

Bonjour à tous,

Nous utilisons (FMP 12 Server et Pros, sous Windows 10) une base de données qui contient de très nombreux modèles. Les utilisateurs vont d’un modèle à l’autre assez fréquemment, si bien que lorsque le modèle et la rubrique utilisée sont les mêmes depuis plus de trois minutes (ce qui ne peut pas correspondre à une utilisation courante), un script permet de revenir à un modèle où l’utilisateur doit s’identifier. C’est le principe du « time out ».

J’obtiens cela par un script, qui à l’arrivée sur le modèle enregistre son nom, ainsi que la rubrique active, compte 5 minutes et déconnecte l’utilisateur si au bout de 5 minutes, il est sur le même écran et dans la même rubrique : 

Définir variable [ $Nom_modèle_rubrique; Obtenir ( NomModèle ) & Obtenir ( NomRubriqueActive ) ] 

Suspendre/reprendre script [ Durée (secondes) : 300 ]

Si [ Obtenir ( NomModèle ) & Obtenir ( NomRubriqueActive )=$Nom_modèle_rubrique ] 

Exécuter script [ “Désactiver mon code” ]

Jusque là pas de souci. Mais cette utilisation est valable avec une seule fenêtre. Si je veux utiliser deux fenêtres, celle qui n’est pas concernée par le script (fenêtre n°2 par exemple) est inutilisable, car ce script se déroule sur la fenêtre n°1 et bloque l'utilisation de la fenêtre n°2. Je cherche donc un système qui me permettre d’avoir un « time out » tout en pouvant travailler dans deux fenêtres…

 

Merci d’avance

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

Tu as fait un TimeOut sur la fenêtre active, pour en faire un sur le fenêtre en arrière plan tu listes toutes les fenêtres ouvertes fonction : NomsFenetres {( nomFichier )}, tu substitues le nom de la fenêtre active, tu contrôles sa présence et si elle est ouverte depuis trop longtemps, tu fermes la ou les fenêtres ouvertes en arrière plan avant ton TimingOut.

Share this post


Link to post
Share on other sites
  • 0

Merci de ta réponse Philippe,

Ce n'est pas tant le contrôle du Time Out sur la seconde fenêtre qui me pose problème, c'est que si deux fenêtres sont ouvertes, alors que sur l'une un script est en suspension, je ne peux rien inscrire dans une rubrique de la seconde, or je souhaite pouvoir travailler dans les deux fenêtres...

Jean-Christophe

Share this post


Link to post
Share on other sites
  • 0

Bien compliqué tout ça,

Mais comment les utilisateurs activent-ils une nouvelle fenêtre ou ferment-ils leur fenêtre ? Par script dans ce cas la situation est claire, chaque fenêtre peut être gérée dans ton Time Out ou plus simplement par "Nouvelle fenêtre" dans le menu et là tu ne maitrise plus rien. 

Share this post


Link to post
Share on other sites
  • 0

Pas si compliqué que ça Philippe, 

Les utilisateurs activent la nouvelle fenêtre par un bouton déclenchant un script. Le choix de la seconde fenêtre est fait par l'utilisateur, en fonction de ses besoins sur le moment : 

Je suis sur un modèle A, j'ai besoin de voir soit les données de la fenêtre B1 soit celles de B2 etc.

Quand dans le modèle A un script est en cours avec la fonction Suspendre/reprendre script [ Durée (secondes) : 300 ], les rubriques de la fenêtre B1 ne sont pas accessibles. Il faut sans doute utiliser un autre système que Suspendre/reprendre script [ Durée (secondes) : 300 ] pour gérer le Time Out, mais je ne vois pas lequel.

 

Jean-Christophe

Share this post


Link to post
Share on other sites
  • 0

Une idée... plutôt que de trouver un autre systèmekonvoipalequel, peut-être décaler ton time out sur la fenêtre active. Si l'utilisateur passe de A à B1, le script suspendu en A est arrêté et c'est celui de B1 qui se déclenche. Comme les fenêtres ouvertes, d'après ce que j'ai compris, sont identifiées pour chaque utilisateur, peu importe à partir de laquelle le time out est compté, s'il arrive au bout il doit pouvoir fermer toutes les fenêtres de cet utilisateur.

 

Share this post


Link to post
Share on other sites
  • 0

Oui, je n'avais pas vu les choses comme, çà : arrêter le script dans la fenêtre A et le redéclencher dans la fenêtre B si une nouvelle fenêtre s'ouvre...

Je creuse.

Merci Rodolf

Jean-Christophe

Share this post


Link to post
Share on other sites
  • 0

Une autre voie que le multi-fenêtrage est le popover, il te permet de rester dans la même fenêtre sous en travaillant sur une autre représentation ou une autre occurrence de tables sans encombrer ton modèle.

Reste la question quel intérêt à avoir plusieurs fenêtres ouvertes simultanément ? On ne travaille que dans une ou l'autre fenêtre, pas sur les deux à la fois.

Share this post


Link to post
Share on other sites
  • 0
il y a 7 minutes, Philippe ROTTIER a dit :

On ne travaille que dans une ou l'autre fenêtre, pas sur les deux à la fois

Oui, mais on peut avoir besoin d'afficher des fenêtres côte à côte pour comparer des éléments, par exemple. Et le pop over est une invention géniale mais elle a ses limites, notamment de ne pas pouvoir mettre un pop over dans un pop over...

Share this post


Link to post
Share on other sites
  • 0

Oui le Popover est une solution que j'utilise à foison pour avoir accès a quelques données. 

En l'occurrence, les modèles que j'utilise contiennent une foultitude de données, la plupart du temps numériques, et comme le dit Rodolphe, et on a besoin d'avoir une visualisation des données d'une des fenêtres pour savoir quoi faire dans la seconde et vice-versa.

Jean-Christophe

Share this post


Link to post
Share on other sites
  • 0

Solution

J'ai trouvé comment utiliser deux fenêtres tout en utilisant un Time Out : en supprimant la fonction "Suspendre/Reprendre" et en utilisant à la place la fonction "Installer un script sur temporisation", il est possible d'accéder aux différentes rubriques des deux fenêtres, tout en relançant à chaque fois un script contenant cette fonction qui "délogue" l'utilisateur si la même rubrique est utilisée depuis plus de trois minutes.

Merci pour votre aide

Jean-Christophe

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...