Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

FastReport Discussion :

Conception d'une facture avec FastReport


Sujet :

FastReport

  1. #1
    Membre actif

    Inscrit en
    mai 2010
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 312
    Points : 228
    Points
    228
    Par défaut Conception d'une facture avec FastReport
    Bonjour a tous,
    j'ai commencer a travaillé avec fastReport , j'ai réalisé des état avec ce dernier en consultant son documentation officiel .
    maintenant je suis arrivé a des choses un peut compliqué .
    c'est juste je veux réaliser une facture , j'ai mis une bande masterDetail qui contient le détail de ma facture, mais cette dernière doit avoir un nombre limité de ligne , 18 lignes par pages , après la 18 eme ligne, une nouvelle page est insérer automatiquement.
    j'ai commencer a jouer avec les événements de la bande Détail , j'ai appris comment réalisé un compteur de lignes et comment créer une nouvelle page.
    le problème est le suivant :
    si la facture contient seulement 7 lignes , je veut insérer les lignes vides (Blanches) a la fin de ces lignes (Dans mon exemple je doit insérer 11 lignes vides).

    j'ai consulter ce post qui resemble a mon probleme
    [FastReport 4][D7] Comment Completer un état ?
    y t il une suggestion SVP.

    j'utilise Delphi 7 entrepise + fastReport 5.

  2. #2
    Membre actif

    Inscrit en
    mai 2010
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 312
    Points : 228
    Points
    228
    Par défaut
    pour bien expliquer mon probleme voici une facture exemple.
    Nom : Image3.jpg
Affichages : 1229
Taille : 477,9 Ko

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    11 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 11 075
    Points : 28 482
    Points
    28 482
    Billets dans le blog
    27
    Par défaut
    Bonjour,

    Les Totaux doivent être dans une Bande résumée et cette dernière alignée en bas

    ceci devrait fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
    begin
    if engine.freespace > reportsummary1.height then
       Engine.CurY := Engine.PageHeight -reportsummary1.height -pagefooter1.Height - 1;
    end;
    ou cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure ReportSummary1OnAfterCalcHeight(Sender: TfrxComponent);
    begin
    Engine.CurY := Engine.PageHeight -reportsummary1.height -pagefooter1.Height - 1;
    end;
    en tout cas le manque de l'alignement en bas semble être une des lacunes de FastReport !
    malheureusement/heureusement je n'ai pas encore eu à faire ce type d'état, mais je suis à peu près sur qu'il y a des exemples de factures conforme à l'attente
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

  4. #4
    Membre actif

    Inscrit en
    mai 2010
    Messages
    312
    Détails du profil
    Informations forums :
    Inscription : mai 2010
    Messages : 312
    Points : 228
    Points
    228
    Par défaut
    Bonjour ,
    Merci beaucoup Sergio pour ton suivi ,
    tu sais j’attends toujours tes réponses , merci encore.
    je pense qu'il faut utiliser des sous rapport , une chose que je n'ai jamais utilisé.
    as tu un exemple claire avec les sous rapport FastReport?

  5. #5
    Membre régulier
    Inscrit en
    avril 2010
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : avril 2010
    Messages : 133
    Points : 111
    Points
    111
    Par défaut
    Citation Envoyé par aimer_Delphi Voir le message
    Bonjour a tous,

    le problème est le suivant :
    si la facture contient seulement 7 lignes , je veut insérer les lignes vides (Blanches) a la fin de ces lignes (Dans mon exemple je doit insérer 11 lignes vides).

    j'ai consulter ce post qui resemble a mon probleme
    [FastReport 4][D7] Comment Completer un état ?
    y t il une suggestion SVP.

    j'utilise Delphi 7 entrepise + fastReport 5.
    Bonjour essai avec la solution suivante:
    Tu rajoute une bande child(enfant) ,puis la bande donnée détails(ou bien données maitre ligne).Tu initialises une variable i à 0 dans le onbeforeprint de l’entête de page que tu incrémente dans le onbeforeprint des données détails puis enfin dans le onbeforeprint du pied détail
    tu met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while i<11 do
     begin
        ShowBand(enfant1);
        i:=i+1;
     end;

  6. #6
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    décembre 2003
    Messages
    1 866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2003
    Messages : 1 866
    Points : 2 600
    Points
    2 600
    Par défaut
    Citation Envoyé par aimer_Delphi Voir le message
    Bonjour ,
    Merci beaucoup Sergio pour ton suivi ,
    tu sais j’attends toujours tes réponses , merci encore.
    je pense qu'il faut utiliser des sous rapport , une chose que je n'ai jamais utilisé.
    as tu un exemple claire avec les sous rapport FastReport?
    bien vu, normalement dans le principal trace ta facture, avec "SubReport" tu affiche les données
    https://www.fast-report.com/public_d...rManual-en.pdf
    page 80;
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  7. #7
    Membre régulier
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    mars 2013
    Messages
    196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2013
    Messages : 196
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par aimer_Delphi Voir le message
    pour bien expliquer mon probleme voici une facture exemple.
    Depuis Ps mal du temps je cherche comment convertir ce Net à payer en lettres en bas de la facture .

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    11 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : janvier 2007
    Messages : 11 075
    Points : 28 482
    Points
    28 482
    Billets dans le blog
    27
    Par défaut
    Bonjour,

    Cette dernière demande est presque hors sujet !
    je cherche comment convertir ce Net à payer en lettres
    c'est le sujet de votre question ici Si vous n'arrivez pas à obtenir de résultat commencez donc par y poster votre code !

    en bas de la facture
    Vous avez l'approche proposée par edam : les subreports
    Page 1
    Nom : Capture.PNG
Affichages : 450
Taille : 25,9 Ko

    SubReport1
    Nom : Capture1.PNG
Affichages : 432
Taille : 26,1 Ko

    l'autre solution (que j'avais signalée) fonctionne également
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // code fastreport
    procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
    begin
    //   Engine.CurY := Engine.PageHeight - Reportsummary1.height - PageHeader1.Height - 0.00001; 
    end;
    ce code se trouve dans le même état que les images précédentes, il a été commenté après création/utilisation du subreport

    j'anticipe également la question : "comment avoir des lignes verticales complètes ?"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // code fastreport
    procedure Child1OnBeforePrint(Sender: TfrxComponent);
    var h : Extended;
    begin
     h:=Engine.FreeSpace-ReportSummary1.Height-PageFooter1.Height;
     if h < 0  then h:=(Engine.FreeSpace-PageFooter1.height) + (Engine.PageHeight- PageHeader1.Height - PageFooter1.Height- ReportSummary1.Height - 0.0001 )
               else h:=(Engine.FreeSpace-PageFooter1.height-ReportSummary1.Height);
     Child1.Height:=h;
     Memo2.Height:=h;
    end;
    La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein

    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Tokyo, Rio) et peut être quelques autres
    SGBD : Firebird 2.5, 3, SQLite
    générateurs Etats : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Ubuntu, Androïd

Discussions similaires

  1. Conception d'une BDD avec "FileMaker Pro"
    Par mariny dans le forum Autres SGBD
    Réponses: 1
    Dernier message: 21/04/2008, 12h37
  2. Conception d'une structure avec automate
    Par nicodev24 dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 21/02/2008, 13h01
  3. [Conception] Créer une table avec php
    Par freezerhm dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/10/2006, 13h15
  4. imprimer une facture avec liste de produits variables
    Par ouldfella dans le forum Delphi
    Réponses: 4
    Dernier message: 31/07/2006, 00h10
  5. etablir une facture avec Visual C++
    Par aymeno dans le forum MFC
    Réponses: 4
    Dernier message: 27/08/2005, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo