PROFESSIONAL NEWSGROUPS
WINDEV
,
WEBDEV
and
WINDEV Mobile
Home
|
Recent messages
|
Connect
|
Sign out
|
English
Home
→
WINDEV 2024
→
Position dans un digramme de Gantt
Position dans un digramme de Gantt
Started by Jeremy ZUCCARELLI, Aug., 21 2020 10:04 AM - 3 replies
Connect yourself…
Jeremy ZUCCARELLI
#1
Registered member
3 messages
Popularité : +1 (1 vote)
Posted on August, 21 2020 - 10:04 AM
Bonjour,
Je souhaite crée un planning de taches avec des liens entre elles. J'ai créer une table hiérarchique avec une colonne de Gantt. J'ai une liste de tâches à effectuer sur le coté et je voudrai pouvoir faire un glisser déposer sur le diagramme de Gantt pour près remplir la tâches. J'arrive à trouver le numéro de la ligne avec un TableInfoXY(), mais je n'arrive pas à trouver la fonction pour savoir sur quel jour le glisser déposé à été lâché.
Existe t'il une fonction pour trouver ce jour?
Report
0
0
Benjamin
#2
Registered member
386 messages
Popularité : +13 (13 votes)
Posted on August, 21 2020 - 8:29 PM
Bonsoir Jérémy,
Il n'existe pas de fonction pour savoir à quel jour/heure se trouve le curseur actuel. Il faut donc le calculer, en partant de la date de début affichée, qui peut être connue avec PlanningPositionDateHeure(CHAMP_GANTT, plnDateDébut).
En pseudo code cela ressemble un peu à ça :
// Soient :
// CHAMP_GANTT : le champ "table hiérarchique avec colonne Gantt"
// COL_RESSOURCE : la première colonne du champ table
// COL_GANTT : la seconde colonne du champ table, qui contient le diagramme de gantt
// On calcule la position "réelle de la souris" par rapport à la partie affichage des dates : on soustrait la largeur des colonnes fixes du tableau (ici juste la colonne COL_RESSOURCE)
n
PositionReelleX
est un entier
= (
_DND.SourisPosX
) -
CO
L_RESSOURCE
..
Largeur
// On part de la date d'origine affichée dans le champ
dh
DebutTache
est une
dateheure
=
PlanningPositionDateHeure
(
C
HAMP_GANTT
,
plnDateDébut
) +
"000000"
// On rajoute le nombre de jours correspondant à l'écart entre le début de la colonne gantt divisé par la largeur du jour du champ gantt
dh
DebutTache
..
Jours
+
= (
n
PositionReelleX
/
C
HAMP_GANTT.COL_GANTT
..
LargeurJour
)
J'ai volontairement dit "pseudo-code" car il peut y avoir un certain nombre d'adaptations à faire :
- Si vous avez défilé le champ gantt à la molette, il faudra prendre en compte la position de l'ascenseur pour avoir une nPositionReelleX correcte.
- Si votre amplitude horaire affichée n'est pas de 24h, il faudra adapter la dernière ligne pour prendre en compte ce fait
- Si vous déposez votre tâche sur une ressource en congé, la date de début de la tâche ne sera pas celle réellement précisée, mais démarrera après le congé.
J'espère que cela vous donnera une première piste, bon courage pour la suite
Report
1
0
Jeremy ZUCCARELLI
#3
Registered member
3 messages
Popularité : +1 (1 vote)
Posted on September, 07 2020 - 2:51 PM
Bonjour,
Merci je vais voir pour tester ceci.
Report
0
0
Jeremy ZUCCARELLI
#4
Registered member
3 messages
Popularité : +1 (1 vote)
Posted on September, 25 2020 - 11:08 AM
Bonjour,
J'ai enfin réussi à tester votre solution.
J'ai simplifier le code à cause d'un soucie de WINDEV (si je tente de fixer une ou plusieurs colonne par programmation la colonne de Gantt viens se superposer sur les colonne fixe quand j'utilise l'ascenseur horizontal.), J'ai donc deux tableaux lier avec les traitements et j'utilise ce code pour avoir le jour au niveau du pointeur de la souris.
Procedure
lpGanttInfoXY
(
pTable
est un
C
hamp
) :
DateHeure
pX
est un entier
=
SourisPosX
(
spChamp
)
dh
DebutTache
est une
DateHeure
=
PlanningPositionDateHeure
(
pTable.COL_Gantt
,
plnDateDébut
) +
"000000"
dh
DebutTache
..
Jour
+
=
ArrondiInférieur
(
(
pX
+
AscenseurPosition
(
pTable
,
ascHorz
)
) /
pTable.COL_Gantt
..
LargeurJour
)
RENVOYER
dh
DebutTache
Report
1
0
→ Go back to WINDEV 2024
WINDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (earlier versions)
WEBDEV (earlier versions)
WINDEV Mobile (earlier versions)
Reports & Queries
Off-topic
Tools
Français
English
Español
Portuguesa
Close this window
Search type
Only topics
All the messages
Search period
Any time
Past hour
Past 24 hours
Past week
Past month
Past year
Cancel
Preview of your message
Adding an image
Import an image from a URL
Send an image from a file of your disk
Drop a file or click "Browse..."
or
Cancel
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Text