Bonjour
Voilà mon concept
Opérations manuelles :
Création des plans (6h à 14h - 14h à 22h - 22h à 6h)
Création des équipes
Affection des plans par équipe (P1>Equ1 - P2>Equ2 - P3>Equ3)
Affectation des employés par équipe
Traitement par programmation:
Avec une procédure TimerSys()
Calcule de reste du jours (Date départ - date du jour)
On compare le reste du jour avec la semaine (7 jours ) et on vérifié si la fin de la journée (Samedi) avec dateDuJour()
Si la condition est vraie alors on change les plans entre les équipes
Que pensez vous? est ce que vous avez d'autres contrôles/vérification ou autres ?
Merci d'avance
Une fois de plus non, il est préférable d'utiliser une procédure/tâche planifiée, selon le type d'appli. Pour 2 raisons
1-Cela nécessite que ton appli (serveur ou monoposte d'ailleurs) reste ouverte en permanence
2-Cela surcharge la machine inutilement alors que les serveur ou l'OS contrôlent régulièrement les procédures/tâches planifiées.
Par ailleurs en cas de multiposte, quelle est la machine qui "prend le manche" ?
Il y a peut être plus simple, mais ça tourne
Bonjour,
@Serendib (et aux autres): j'avais compris qu'il y avait déjà une "petite partie" de programme qui existait.
@Fmfib : Oui, c'est ça grosso modo. Reste à savoir :
- à quelle heure (à 00:00, ou un autre horaire dans la nuit) ?
- si un utilisateur est en train de faire une saisie, que faut-il faire ?
- la gestion des équipes. C'est à dire comment un utilisateur est "traité" dans celle-ci. Ex : Si je suis connecté en tant que Fmfib, savoir que je suis dans l'équipe 2.
Une solution "bourrin" est que la gestion des plans soit faite à l'ouverture du programme et qu'au changement de semaine, le programme se ferme (genre un gros finProgramme()). L'utilisateur est alors obligé de le lancer le dimanche matin (ou d'utiliser une tâche planifiée pour le relancer).
Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.
Sur internet, tout est vrai ! Honoré de Balzac
Make it real not fantasy... Herman Rarebell
@frenchsting.
J'ai l'impression que tu penses à une autorisation d'accès selon les heures alors qu'à priori c'est purement et simplement une gestion des horaires de travail des personnels sur une chaîne de production.
![]()
Il y a peut être plus simple, mais ça tourne
@voroltinquo. C'est le souci, est-ce qu'il y aura autre chose que la saisie de son identité sur ce programme ?
On a tendance à vouloir affréter un convoi exceptionnel, là où un simple envoi par la poste suffirait...
Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.
Sur internet, tout est vrai ! Honoré de Balzac
Make it real not fantasy... Herman Rarebell
Quelle saisie d'identité ? Eventuellement la badgeuse à l'entrée de l'usine.
C'est ni plus, ni moins qu'une gestion de personnel.
Au lieu d'avoir Mauricette qui imprimais le planning de la semaine précédente, mettait un coup de typex sur P1 et écrivait P2 tout doit se faire automatiquement, à priori le samedi.
La seule interaction d'un employé (sauf Mauricette) avec le SI c'est la lecture de son planning. Et encore... S'il travaillait cette semaine de 6 à 14, il sait que la semaine prochaine ce sera de 14 à 22
Il y a peut être plus simple, mais ça tourne
A priori, c'est toujours utile de connaître quelques jours ou quelques semaines à l'avance les différents plannings. Le traitement qui va faire les planning de la semaine du 20 au 26 mars doit donc tourner vers le 1er mars, dernière limite. Et il ne doit pas écraser le planning des semaines de début mars.
Version 1 : Tu fais une option de menu quelque part dans ton application, et quelqu'un a la charge de lancer cette option une fois par mois, ou une fois par semaine, comme tu veux.
Version 2 : Tu fais en sorte que ce traitement se lance automatiquement. Si tu es en client/serveur, il y a les taches planifiées qui permettent de faire ça. Sinon, tu peux le faire en mode bricolage : quand un utilisateur se connecte, le programme vérifie si cette tache a besoin d'être lancée, et si oui, le traitement se lance 'en tache de fond'.
N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
Merci d'abord pour vos retour
@Voroltinquo
Je suis tout à fait d'accord pour le coté timerSys()
Pour les taches planifiée j'ai pas encore utilisée
Est ce que tu peux me donnée un pas (Code) ?
@frenchsting.
à quelle heure (à 00:00, ou un autre horaire dans la nuit) ? : Bonne remarque (Peut être selon leurs paramètres)
si un utilisateur est en train de faire une saisie, que faut-il faire ? : non compris
Si je suis connecté en tant que Fmfib, savoir que je suis dans l'équipe 2. : Oui c'est déjà paramètre dans la fiche des employés
C'est de plus en plus nébuleux.
@Fmfib,
demandes au monsieur ou à la dame avec son joli crayon comment il ou elle faisait.
Ca s'appelle une analyse.
Après tu fais pareil avec ton beau clavier.
En ce qui concerne les tâche planifiées (C/S) il faut utiliser une variable de type hTachePlanifiée il y a un exemple dans la doc (comme d'hab.)
En mono poste on a deux structures, TachePlanifiées et HorairesTachePlanifiées qui sont manipulées via les fonctions PLANIFICATEURXXX. cf supra pour les exemples
Dans les 2 cas de figures, on peut aussi passer par un mode manuel WDAdminHF en C/S le gestionnaire de tâches planifiées Windows.
Remarque
En mode monoposte, le nom du programme doit comprendre le chemin complet de l'appli, ou ce chemin doit être dans le PATH
Il y a peut être plus simple, mais ça tourne
Ok.Pour la V1 il n'accepte plus
Reste la version 2 en utilisant les taches planifiées
Et la V1 (faire un bouton ou une option de menu qui modifie le planning en respectant les règles), tu sais faire ?
Je considère que oui.
Le (seul) besoin, c'est donc de faire en sorte qu'un petit automate se lance régulièrement, et fasse le job. Si tu utilises HFSQL/CS, c'est expliqué ici : HFSQL Client/Serveur : Taches planifiées
Si tu n'utilises pas HFSQL/CS, qu'utilises-tu à la place ?
N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
Ok, mais si c'est fait dans une fenêtre 'fiche employé', je soupçonne que c'est fait avec des fonctions de type écran ( EcranVersFichier, utilisation de Tables , ou autres choses du genre) et je soupçonne aussi que c'est fait employé par employé.Pour la V1 c'est déjà fait dans la fiche des employés
Ici, il te faut une procédure dans un bouton ( par exemple) qui va faire le traitement pour tous les employé, d'un coup, et sans utiliser toutes les fonctionnalités relatives à l'affichage. (Ce que je mettais dans ma V1 dans mon message précédent).
Ensuite, copier la procédure pour la mettre dans les taches planifiées c'est à faire aussi. Mais normalement, c'est juste une copie. Si la V1 a été faite totalement. Et ici, ce n'est pas clair, mais je pense que la V1 n'existe pas vraiment.
N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager