Rupture dans un etat.
Stagiaire WDF
Inscrit:
01/12/2005 17:28
De Monaco
Post(s): 8
Bonjour a tous,

J'ai un probleme qui dure.
Je dois afficher dans un etat, un planning de salles (8 salles), occuppees ou non , a 3 moments de la journee (matin, midi, soir) et creer une rupture pour chaque date (date de debut et date de fin etant parametres de ma requete).

- J'ai tente de creer un etat "tableau croise", mais je ne peux avoir pour une meme date (les lignes) plusieurs enregistrements correspondant a ma salle (je peux effectivement avoir 3 activites successives, matin, midi et soir pour cette meme date dans cette meme salle).

N'y parvenant pas par ce biais, j'e suis en train de faire un etat tableau (simple) que je remplis par programmation).
Apres avoir affiche le nom de mes salles dans les colones, je dois faire apparaitre les activites pour les differentes salle aux differents moments de la journee (le tout sur une meme ligne)et creer une rupture par programmation a chaque changement de date. Et la ca bloque depuis plus de 8 heures... Je n'en peux plus et je ne sais plus quoi faire.

D'avance merci pour votre aide.

Cordialement

Contribution le : 01/12/2005 17:45
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Animateur WDF
Inscrit:
05/06/2003 14:23
De Québec
Post(s): 511
Salut,

La solution serait peut etre que ta source de donnee qui est utilisee par ton etat soit triee de la facon suivante :

 
    - La Date
       - La salle
           - Matin
           - Midi
           - Soir


Donc logiquement si on suit ce tri tu devrais avoir

-20051001
      - Salle No 1
          Matin
          Midi
          Soir
      - Salle No 2
          Matin
          Midi
          Soir


Et ainsi de suite ...

Une fois trie dans ce sens tu auras moins de difficulte de faire ta rupture par date.

a+++

Contribution le : 01/12/2005 18:07
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
01/12/2005 17:28
De Monaco
Post(s): 8
Salut,

Malheureusement, mon client veut absolument afficher ses salles en en-tete de colonnes. Donc cette solution ne me convient pas.
Une autre idee , peut-etre ??
Merci.
A+
Ralph

Contribution le : 02/12/2005 11:13
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
23/11/2005 08:11
De Blois - France
Post(s): 24
Je pense qu'il ne faut pas utiliser le mode tableau, mais le mode personnalisé.

Dans le bloc "Haut de Page" , on trouverais les entêtes de colonnes "DATE" "SALLE1" "SALLE2" ... "SALLE8" (9 Champs libellé)

Dans le bloc "Corps", on y trouverai 25 champs rubriques ou calcul disposé en une seule ligne de la manière suivante :
1 pour la date situé en aplomb de son entête
3 pour chaque salle ( largeur champs=1/3 largeur entete salle)

On y ajoute les cadres nécessaires.

Pour le remplissage par programmation.

Dans le traitement initialisation de l'état:
LaDate est chaine
HLitPremier(requete)

Dans le traitement "Lecture des données"
SI HEnDehors(requete) alors RENVOYER(faux)
Ladate=requete.date
TANTQUE PAS HEnDehors(requete)
si requete.Date<>ladate alors sortir
// ici insérer le traitement qui va retrouver la bonne case en fonction de la salle et de la plage horaire

HLitSuivant(Requete)
FIN
RENVOYER(vrai)



J'espère avoir été assez clair, sinon faites moi signe ...

Contribution le : 02/12/2005 12:14
_________________
BMike
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
01/12/2005 17:28
De Monaco
Post(s): 8
Salut,

Non, ca ne va pas.
Que veux que je fasse avec de si petits champs, sachant qu'a l'interieur de chacun d'entre eux, je dois pouvoir integrer du texte en RTF deisgnant le descriptif de chaque salle a un moment donne de la journee.
Qui plus est, le nom de mes salles est rempli lors de l'ouverture de l'etat de maniere dynamique, sachant qu'il ne va recuperer que des salles dites "actives".
C'est vraiment un genre de tableau qu'il me faut, ou a chaque intersection, SALLE - DATE, nous avons une periode suivi du descriptif de ce qu'il se deroule dans cette salle.
C'est un peu sorcier. Je continue de me prendre bien la tete !!
A++

Contribution le : 07/12/2005 17:00
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
23/11/2005 08:11
De Blois - France
Post(s): 24
Okay, je crois enfin avoir compris ton schéma :


Date Salle1 Salle2 Salle3 Salle5

12/12/205 Matin Matin

Contribution le : 07/12/2005 18:01
_________________
BMike
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
23/11/2005 08:11
De Blois - France
Post(s): 24
Oops , une mauvaise combinaison clavier et réponse validée.

Voici la suite


Date_________Salle1____Salle2____Salle4

12/12/05_____Mat:descr_Mat:______Mat:Desc
_____________Mid:______Mid:des___Mid:Desc
_____________Mid:des___Mid:des___Mid:Desc

13/12/05_____Mat:descr_Mat:desc__Mat:Desc
_____________Mid:______Mid:______Mid:Desc
_____________Mid:des___Mid:des___Mid:Desc

(ne pas prêter attention aux ___, c'est juste pour consever l'espace)

Avant de parler de la suite, confirmes que c'est bien ce genre de tableau que tu veux ....

Contribution le : 07/12/2005 18:06
_________________
BMike
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
23/11/2005 08:11
De Blois - France
Post(s): 24
Pour gagner de la place, on peut mettre la date au dessus sur une ligne de séparation (rupture).

Contribution le : 07/12/2005 18:08
_________________
BMike
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
01/12/2005 17:28
De Monaco
Post(s): 8
Salut,

Oui, c'est exactement cela.
Je te confirme donc ton "diagnostic".
Merci pour ton aide.
A++
PS : Avec la date en rupture, OUI, OUI, OUI...

Contribution le : 09/12/2005 09:11
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
23/11/2005 08:11
De Blois - France
Post(s): 24
Je suppose que les seuls paramètres sont « DateDébut » et « DateFin »
Comme je ne connais pas la structure des fichiers, on va traiter l’aspect général.

Création de l’état de type vierge avec source de données "par programmation" :
Dans le bloc haut de page, un champs libellé « LibSalle1 » de taille égale à la largeur de la page
Un bloc rupture pour y mettre la date
Dans le corps de l’état , un champs libellé multi-ligne RTF « PlSalle1 » de taille égale à la largeur de la page.

Pour la partie code de l’état :
Au départ, il faut définir les salles actives (par ex : une requête « reqSallesActives »avec suppression des doublons). En déduire le nombre.
Avec ce nombre on va déterminer la taille de la colonne pour une salle.
Ensuite, on va cloner les libellés.
Puis on va associer les salles aux colonnes à l’aide d’une zone mémoire.

Voici le code pour faire ça :
//initialisation de l’état
nbSalles est entier
cpt est entier
LargeurColonne est réel
ZoneMemo est chaîne="PLANNINGSALLE"

HexecuteRequete(reqSallesActives,……  
NbSalles=HnbEnr(reqSallesActives)

SI nbSalles>1 ALORS
	LargeurColonne =CORPS..Largeur/nbSalles
	
	LibSalle1..Largeur=LargeurColonne
	PlSalle1..Largeur=LargeurColonne
	
	POUR cpt=2 A nbSalles
		ChampClone(LibSalle1,"LibSalle"+NumériqueVersChaîne(cpt),LargeurColonne*(cpt-1)+1)
		ChampClone(PlSalle1,"PlSalle"+NumériqueVersChaîne(cpt),LargeurColonne*(cpt-1)+1)	
	FIN
FIN

MemCrée(ZoneMemo)
cpt=0
POUR TOUT reqSallesActives
	Cpt++
	MemAjoute(NomZone,cpt,reqSallesActives.IdSalle)		
{"LibSalle"+NumériqueVersChaîne(cpt)}..Libellé= reqSallesActives.NomSalle
FIN



//fermeture de l’état
memSupprimeTout(ZoneMemo)



Pour la suite, il me faudrait la structure des fichiers, donc si mon idée t’inspire, j’attends de tes nouvelles.

Contribution le : 10/12/2005 18:10
_________________
BMike
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Anonyme
Salut,

Oui, ca m'inspire bien...
Mais jusque la, j'y etais arrive, mais d'une autre maniere.
Peu importe...
Ta maniere me convient tres bien. Elle est surement plus propre que la mienne.
Ma structure de fichiers.
En fait, lors de l'enregistrement d'un "planning", j'ai un enregistrement de "DATE DEBUT" a "DATE FIN", dans lequel pour une salle "X", j'ai une "OEUVRE", une "TACHE" et eventuellement des observations. ce fichier se nomme RECAP.

Suite a quoi, je genere un fichier (a chaque fois) un nouveau fichier "PLANNING".
Dans ce dernier, et pour chaque enregistrement de RECAP, j'inscris un enregistrement dans PLANNING afin d'avoir toutes les dates.
A titre d'exemple, si j'avais un enregistrement dans RECAP :
DATEDEBUT 01/01/2005
DATEFIN 05/01/2005
SALLE X
TACHE Y
OBS Z

J'aurais dans mon fichier PLANNING les enregistrements suivants:
DATE 01/01/05
SALLE X
TACHE Y
OBS Z

DATE 02/01/05
SALLE X
TACHE Y
OBS Z

DATE 03/01/05
SALLE X
TACHE Y
OBS Z

DATE 04/01/05
SALLE X
TACHE Y
OBS Z

DATE 05/01/05
SALLE X
TACHE Y
OBS Z

Ce, afin de pouvoir prendre en compte toutes mes dates.

NOTA : SALLE, TACHE ET OBS SONT EN FAIT UNE SEULE ET MEME RUBRIQUE QUE JE CONCATAINE LORS DE LA REGENRATION DU FICHIER PLANNING. Ensuite, j'extrais des morceaux de chaines, correspondant a ce que je veux.

Le plus difficile etant de faire correspondre, dans mon tableau la bonne salle avec la bonne date et d'y mettre ce qui va bien...

En esperant que tu as compris.

D'avance merci pour ton aide.
A++

Contribution le : 14/12/2005 11:22
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Anonyme
Dans ta structure, je ne vois pas ou on parle de MATIN/MIDI/APRES-MIDI.

que penserais-tu de communiquer par mail, ce serait plus simple, ou par PM si tu préfères ?

A+

Contribution le : 14/12/2005 11:36
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
23/11/2005 08:11
De Blois - France
Post(s): 24
Okay pour ta structure, il me manque juste une info, où fais-tu la distinction MATIN/MIDI/SOIR ?

Que penserais-tu de communiquer par PM ou Mail, ce serait peut-être plus simple...

A+

Contribution le : 14/12/2005 11:40
_________________
BMike
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
01/12/2005 17:28
De Monaco
Post(s): 8
Yes, of course...mais je n'ai pas ton email.
Concernant les moments de la journee, jes les ai inclus dans mon fichier concatene (le fameux fichier "PLANNING").
dans la meme rubrique que X+Y+Z (je rajoutes, avant ca, le moment de la journee, precedee de 0 pour journee, 1 pour matin, 2 pour apres midi, 3 pour soir) et j'y inclus meme, avant ca, la date. Ce qui me permet de trier mon fichier juste sur cette rubrique.
Apres, comme je te l'ai dit, j'extrais des morceaus de chaines de cette rubrique...
Mon email : rl@uriel.mc

A++

Contribution le : 14/12/2005 16:28
_________________
"Dans le doute, tu rebootes, si ca rate, tu formates !!"
Créer un fichier PDF de la contribution Imprimer


Re: Rupture dans un etat.
Stagiaire WDF
Inscrit:
05/04/2005 19:08
Post(s): 6
Bonjour,

J'ai appliqué l'exemple du tableau pour les salles, cela fonctionne très bien.
J'ai utilisé pour cela un tableau.
Dans mon cas, j'ai constaté une particularité:
Entre la cellule 1 et la 2, j'ai un petit espace que je n'ai pas entre les autres cellules.


Voici le code simplifié que j'ai utilisé:

NbSalles est un numérique =10
LargeurColonne est un réel
Cpt est un numérique = 0

SI NbSalles>1 ALORS
LargeurColonne =CORPS..Largeur/NbSalles

LibSalle1..Largeur=LargeurColonne
Salle1..Largeur=LargeurColonne

POUR Cpt=2 A NbSalles
ChampClone(LibSalle1,"LibSalle"+NumériqueVersChaîne(Cpt),LargeurColonne*(Cpt-1)+1)
ChampClone(Salle1,"Salle"+NumériqueVersChaîne(Cpt),LargeurColonne*(Cpt-1)+1)
{"LibSalle"+NumériqueVersChaîne(Cpt)}..Libellé = "Salle "+NumériqueVersChaîne(Cpt)
FIN
FIN


Avec le déboggueur, je constate que la largeur du CORPS est de 170, donc la largeur des colonnes 17.
Tout semble parfait, sauf à l'affichage avec un petit espace entre les colonnes 1 et 2.
Si je déplace la colonne 1 un petit peu vers la droite, cela semble parfait.

D'avance merci pour votre aide
Eric

Attacher un fichier:



jpg  WinDev.jpg (9.48 KB)
1101_43a13c1aec5ed.jpg 662X86 px

Contribution le : 15/12/2005 10:33

Edité par EricBaz sur 15/12/2005 10:49:25
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2