Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/09/2011, 22h43   #1
Modérateur
 
Avatar de sevyc64
 
Homme Yves
Développeur informatique
Inscription : janvier 2007
Messages : 3 880
Détails du profil
Informations personnelles :
Nom : Homme Yves
Âge : 39
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2007
Messages : 3 880
Points : 7 654
Points : 7 654
Par défaut Sous-rapport ou détail récursif

Salut à tous,

J'utilise Crystal report pour Visual studio et je veux un état pour imprimer des nomenclatures. Ma table nomenclature possède les champs AR_REF (référence de l'article composé), REF_DETAIL (référence des articles composants), QTE, etc .... sachant que les composants peuvent ou pas, être à leur tour des articles nomenclatures (composés). Dans ce cas, REF_DETAIL de l'article composant est l'AR_REF de lignes de ses propres articles composants. Je peux avoir en théorie jusqu'à 10 niveaux, mais pour le moment j'en ai identifier un maximum de 4 sur les données actuelle (1er niveau + 3 sous-niveaux). Le nombre de niveau est variable en fonction des référence, chaque niveau pouvant contenir des articles simples (et/ou des articles composé en nombre et proportion variable.

Je voudrais, pour une AR_REF donnée, afficher un entête avec quelques informations de cet AR_REf, puis une liste des composants (1er niveau) avec quantité, etc ... avec pour chaque composant, si nécessaire, une liste récursive des sous-niveaux (ou au moins des 3 identifiés).

J'ai crée un groupe sur le premier AR_REF (la nomenclature que je veux afficher), puis un second sur le REF_DETAIL. J'ai mis mon entête dans le 1er GroupHeader, mon 1er niveau dans le second GroupHeader, et, dans la bande Détail, j'ai créé un sous-rapport pour le 1er sous niveau. Mais je m’arrête donc au 1er sous niveau, j'ai pas de récursivité.

On m'a conseillé, de modifier ma source, pour mettre autant de jointure que de niveaux à avoir. J'ai donc tenté, en mettant chaque niveau dans son GroupHeader, sauf le dernier que je met dans le Détail. Mais l'affichage est considérablement plus long, et en plus le détail ne m'affiche qu'un seul élément. Et je n'ai que les niveaux que je prévois dès le départ.

Comment je pourrais faire pour obtenir ce que je veux. N'y a-t-il pas un moyen d'avoir automatiquement les sous-niveaux qui s'affichent de manière récursive ?
Sinon, quel est, selon vous, la meilleure (ou la moins mauvaise) manière de procéder pour obtenir quelque chose de correct.

Nota :
- Le 1er niveau doit avoir un format d'écriture différent des sous-niveaux.
- J'aimerais, si c'est possible, qu'à chaque descente d'un niveau décaler un peu vers la droite ma première colonne, en réduisant la largeur de la seconde colonne.
__________________
Sevyc64 --- Le partage est notre force

NON AU LANGAGE SMS & FAUTES VOLONTAIRES SUR LES FORUMS
sevyc64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 16h13   #2
Membre habitué
 
Inscription : juin 2008
Messages : 96
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 96
Points : 114
Points : 114
Citation:
Envoyé par sevyc64 Voir le message
On m'a conseillé, de modifier ma source, pour mettre autant de jointure que de niveaux à avoir. J'ai donc tenté, en mettant chaque niveau dans son GroupHeader, sauf le dernier que je met dans le Détail. Mais l'affichage est considérablement plus long, et en plus le détail ne m'affiche qu'un seul élément. Et je n'ai que les niveaux que je prévois dès le départ.
Il faut absolument que ce soit des jointures gauche
GaelleH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 09h11   #3
Modérateur
 
Avatar de sevyc64
 
Homme Yves
Développeur informatique
Inscription : janvier 2007
Messages : 3 880
Détails du profil
Informations personnelles :
Nom : Homme Yves
Âge : 39
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2007
Messages : 3 880
Points : 7 654
Points : 7 654
oupss, j'ai oublié de répondre

Oui, c'est des jointures gauches qu'il faut puisque je peux avoir des jointures vides.

Pour le moment, je suis partie sur le système d'autant de jointure que de niveaux en me limitant à 2 sous-niveaux. En refaisant correctement et proprement ma connexion à la source de données ce n'est finalement pas si lent que ça.

MAis si d'autres solutions existent ...
__________________
Sevyc64 --- Le partage est notre force

NON AU LANGAGE SMS & FAUTES VOLONTAIRES SUR LES FORUMS
sevyc64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 10h10   #4
Membre habitué
 
Inscription : juin 2008
Messages : 96
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 96
Points : 114
Points : 114
J'ai toujours fais ce genre d'état pas des jointures , les solutions par récursivité nécessitent forcément autant de sous états que de niveaux dans l'état principal et en remontant par des variables globales les données nécessaires au sous état du niveau du dessous et finalement on se complique la vie pour une solution au bout de compte beaucoup moins performante que celle des jointures...
GaelleH est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h20.


 
 
 
 
Partenaires

Hébergement Web