Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Rave
Rave Forum d'entraide sur Rave Reports
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 06/02/2012, 11h29   #1
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 45
Points : 11
Points : 11
Par défaut Avoir plusieurs fois le même document dans un seul aperçu

Bonjour, je sillonne internet et le forum sans trouver de réponse, alors je me permet de venir quémander votre aide.

J'ai une impression qui me va très bien (un rapport mensuel), mais j'aimerais pouvoir l'enchainer pour imprimer en une seule fois par exemple mes rapports pour toute l'année. Il faudrait donc que mon programme soit capable de générer le rapport plusieurs fois et de me faire un aperçu du tout. Est-ce que Rave ou Delphi arrive à faire ça ?

Je sais pas si j'ai été assez clair, en tout cas si qq'un connais la solution, ça serait extra. Bonne semaine et merci d'avance.

P.S : J'utilise Delphi 2010 et Rave Report 7.7
jesusnavas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 08h15   #2
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 627
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2007
Messages : 3 627
Points : 4 532
Points : 4 532
Enchainer des rapports ? Oui c'est possible il doit même y avoir un Tip sur ce sujet chez nevrona
Maintenant reste a savoir exactement ce que tu entends par "enchainer"

tip Nevrona
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 12h04   #3
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 45
Points : 11
Points : 11
Génial mec !!! Ca à l'air d'être exactement ce que je cherche. J'avais pas trouvé ça.
Je vais essayer tout de suite. Milles mercis et bonne fin de semaine !!!
jesusnavas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2012, 18h33   #4
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 45
Points : 11
Points : 11
En fait c'est presque ça, mais cette astuce marche avec des reports différents. Moi j'aimerais enchainer le même report plusieurs fois.
C'est pas facile, mais merci, ça m'a donné une piste.
jesusnavas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 09h09   #5
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 627
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2007
Messages : 3 627
Points : 4 532
Points : 4 532
Citation:
Envoyé par jesusnavas Voir le message
marche avec des reports différents. Moi j'aimerais enchainer le même report plusieurs fois.
C'est la même chose le seul 'truc' c'est de changer le set de données ou le(s) paramètre(s)

exemple :
Code SQL de la source de données :
SELECT * FROM FACTURES WHERE MOIS=:MOIS
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
 WITH Sender AS TBaseReport do begin
    Maquery.Active:=False;
    Maquery.ParamByName('MOIS').asInteger:=1
    MaQuery.Active:=True;
    RaveProject.ExecuteReport('Report1');
    NewPage;
    Maquery.Active:=False;
    Maquery.ParamByName('MOIS').asInteger:=2
    MaQuery.Active:=True;
    RaveProject.ExecuteReport('Report1');
    NewPage;
    Maquery.Active:=False;
    Maquery.ParamByName('MOIS').asInteger:=3
    MaQuery.Active:=True;
    RaveProject.ExecuteReport('Report1');
  end; { WITH }
[Edit] en me relisant après envoi je me suis aperçu que l'on pouvait même faire une boucle du genre
Code :
1
2
3
4
5
6
7
8
9
10
 
 WITH Sender AS TBaseReport do begin
  FOR i:=1 TO 3 do begin
    Maquery.Active:=False;
    Maquery.ParamByName('MOIS').asInteger:=i
    MaQuery.Active:=True;
    RaveProject.ExecuteReport('Report1');
    IF i<3 then NewPage;  // fait un newpage sauf pour la dernière le seul truc "moche" de la boucle
 end; {FOR}
  end; { WITH }
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/02/2012, 20h46   #6
Candidat au titre de Membre du Club
 
Inscription : novembre 2007
Messages : 45
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 45
Points : 11
Points : 11
Ecoute je te remercie beaucoup de ton aide, mais je m'excuse, j'y arrive pas, mon aperçu reste toujours blanc.
Je dois rater un truc quelque part, j'ai essayé de sortir le code du onPrint et sur un simple bouton je fait ça :

Code :
1
2
3
4
5
6
 
MonRave.Open;
MaQuery.SQL.Text := 'Ma requête';
MaQuery.Open;
MonRave.ExecuteReport('1');
RavSystem.Execute;
Ce simple code me donne une page blanche.
Par contre exactement le même code avec juste le execute sur le Rave au lieu du System c'est à dire ça :

Code :
1
2
3
4
5
 
MonRave.Open;
MaQuery.SQL.Text := 'Ma requête';
MaQuery.Open;
MonRave.Execute;
M'imprime bien mon rapport. Je pense donc que le problème viens d'une propriété à la con que je dois avoir ou autre chose, mais je trouve pas. J'ai bien la propriété Engine de MonRave qui indique le RavSystem, bref, je galère un peu.

En tout cas merci de ta patience, je vais y passer encore pas mal de temps demain j'espère trouver.
Bonne semaine.
jesusnavas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 14h25   #7
Modérateur
 
Avatar de SergioMaster
 
Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 3 627
Détails du profil
Informations personnelles :
Nom : Serge Girard
Âge : 55
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : janvier 2007
Messages : 3 627
Points : 4 532
Points : 4 532
RvSystem est là pour utiliser l'événement OnPrint de celui-ci .

Code :
procedure TForm1.RvSystem1Print(Sender: TObject);
Mais il ne faut pas oublier de relier le raveproject au rvSytem via la propriété engine du rave project

relis bien les 2 portions de code fournies , pas de rvSystem.Execute , même pas un Rave.Execute mais bien un
Code :
    RaveProject.ExecuteReport('Report1');
ne pas confondre le 1 du paramètre de la query avec le 1 du 'report1'
Report1 étant le nom de l'état dans Rave

pour obtenir l'ensemble d'état :
Code :
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
  RvSystem1.Execute;
end;
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
SergioMaster 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 01h29.


 
 
 
 
Partenaires

Hébergement Web