IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

SAP Crystal Reports Discussion :

totaux calculé en haut de section [Fait]


Sujet :

SAP Crystal Reports

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Points : 110
    Points
    110
    Par défaut totaux calculé en haut de section
    bonjour,

    je cheche à faire apparaitre un total calculé par formule en haut d'une section.
    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Total    12
    ligne 1  10
    ligne 2  2
    pour se faire j'ai la structure suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Section 1 : @totalLignes
    Détail    : @maformule.
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @totalLignes :
    Global NumberVar cumulMàj;
    WhilePrintingRecords;
    NumberVar result := cumulMàj;
    cumulMàJ := 0;
    result;
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @maformule :
    Global NumberVar cumulMàj;
    cumulMàj := cumulMàj + Maximum({VUE_FLUX.FTR_NB_MAJ},{VUE_FLUX.FTR_ID});
    cumulMàj;
    ce code me fait apparaitre le total en BAS de section... ce qui ne me va pas du tout...

    j'ai essayé d'inserer des Résumés mais il ne se basent que sur des champs et pas sur des formules...

    une idée??

    merci.

    P.

  2. #2
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bonjour,

    Il n'y a qu'une seule solution au problème.

    En effet, CR ne sait pas afficher un résultat quand les montants à additionner se trouvent après au momennt de la lecture de l'état.
    Il faut donc créer en en-tête un sous-état qui fait la même chose que ton état et stocker tes valeurs dans des variables pour les afficher ensuite où tu souhaite.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Points : 110
    Points
    110
    Par défaut
    Merci pour ta réponse.

    J'ai finalement résolu mon problème en intervenant sur la source de donnée.
    l'idée étant déplacer mes formules dans une vue.
    De cette manière je zap completement la logique d'évaluation de crystal report.

    P.

  4. #4
    Inactif  
    Avatar de Aitone
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    3 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 3 562
    Points : 4 493
    Points
    4 493
    Par défaut
    Bravo

    Je t'invite à expliquer ton raisonnement dans le topic FAQ


  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Points : 110
    Points
    110
    Par défaut
    Problematique :

    j'ai une vue basé sur une jointure de trois tables. une de header et une de détail et une de regroupement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    table HEADER
    head_id    number
    groupe_id  number
    libelle    varchar10
    total      number
     
    table DETAIL
    detail_id number
    header_Id number
    libelle   varchar10
     
    table GROUPE
    group_id number
    libelle  varchar10
    ma vue est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    CREATE OR REPLACE VIEW datasource ( 
       groupe_id, 
       head_id, 
       detail_id, 
       libelle, 
       total
     ) AS 
    select
       groupe_id, 
       head_id, 
       detail_id, 
       libelle, 
       total
    from header, groupe, détail
    where 
        header.header_id = detail.header_id
    and header.groupe_id = groupe.groupe_id
    je veux un repport qui aurais la tête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Section Groupe: Somme(Header.total,Groupe)
    Section Header: HEADER.total
    Detail : DETAIL.valeur
    le résultat souhaité est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Groupe1 : 345 <- total groupe
    Header1 : 300 <- total header1
    Détail  : bla
    Détail  : Bla
    Header2 : 45 <- total header2
    Groupe2... etc...
    le probleme est que la jointure HEADER x DETAIL x GROUPE (ci dessus) retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    groupe_id, head_id, detail_id, libelle, total
    1,1,1,titi,300
    1,1,2,toto,300
    1,1,3,tutu,300
    1,2,4,hehe,45
    1,2,5,hoho,45
    et que je souhaite afficher la somme de 300 et de 45.

    il est possible de résoudre cela avec crystal report en utilisant des formules d'accumulation de valeurs évalué lors de l'edition de l'état (voir premier post). Mais le résultat n'est alors disponible qu'après l'édition des lignes de détail. Donc en fin de section.

    Mais si on souhaite le total en haut de section, on est foutu (voir post d'adrien)

    La solution trouvé est de modifier la vue de base de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    CREATE OR REPLACE VIEW datasource ( 
       groupe_id, 
       head_id, 
       detail_id, 
       libelle, 
       total
     ) AS 
    select
       groupe_id, 
       head_id, 
       detail_id, 
       libelle, 
       0
    from header, groupe, détail
    where 
        header.header_id = detail.header_id
    and header.groupe_id = groupe.groupe_id
    union all
    select
       groupe_id, 
       head_id, 
       0, 
       null, 
       header.total
    from header, groupe
    where 
        header.groupe_id = groupe.groupe_id
    du coup ma vue retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    groupe_id, head_id, detail_id, libelle, total
    1,1,0,null,300
    1,1,1,titi,0
    1,1,2,toto,0
    1,1,3,tutu,0
    1,2,0,null,45
    1,2,4,hehe,0
    1,2,5,hoho,0
    dans mon crystal je n'ai plus qu'a afficher en haut de section la somme (Header.total, groupe) et le tour est joué.

    Bon, j'espere avoir été clair.

    Patrice.

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par Adrien Artero Voir le message
    Je t'invite à expliquer ton raisonnement dans le topic FAQ
    Adrien,
    j'aurais du mal à généraliser le problème pour le mettre en FAQ. mais la solution est la

    Patrice

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul de haute performance
    Par nass5 dans le forum Général Java
    Réponses: 10
    Dernier message: 29/11/2011, 09h54
  2. Arondir des nombres et calcul des totaux
    Par Kallamou dans le forum Access
    Réponses: 1
    Dernier message: 06/02/2007, 19h24
  3. [forms 6i] calculs de sous-totaux
    Par Magnus dans le forum Forms
    Réponses: 4
    Dernier message: 31/03/2006, 10h13
  4. Impression des totaux calculés
    Par Soulghard dans le forum IHM
    Réponses: 2
    Dernier message: 14/02/2006, 15h30
  5. Réponses: 5
    Dernier message: 29/12/2005, 10h31

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