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 :

Plusieurs résumés différents d'un même champ


Sujet :

SAP Crystal Reports

  1. #1
    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 Plusieurs résumés différents d'un même champ
    Bonjour,

    J'ai un groupe COLIS, et dans chaque colis, j'ai un ou plusieurs articles différents. Chaque article a un numéro de référence douanière et une référence douanière concerne plusieurs articles.

    Mon problème : je dois en pied de page faire un résumé de chaque quantité d'articles par référence douanière sans pour autant créer de groupe "Réf.. dou.."

    Quelqu'un aurait-il une astuce ?

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 304
    Points
    304
    Par défaut
    Le principe est assez simple.

    Tu initialise deux tableaux dans ton en-tête de document ou de groupe
    REFDOUANE
    QTEREF

    de dimension 1


    Ensuite dans ta ligne de détail, tu ajoute une formule qui test si la référence douanière existe déjà dans le tableau REFDOUANE. Si oui alors tu mets à jour QTEREF, sinon tu incrémente les tableaux de 1 et tu mest à jour les deux

    Pour finir dans ton pied d'état ou de groupe, tu ajoute une formule du type suivant dans un champ texte par tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    shared stringVar array REFDOUANE;
     
    Local numbervar temp;
    Local stringvar str;
    For temp := 1 to UBOUND(REFDOUANE)
        do
    (
        str := str & REFDOUANE[temp]+ Chr(13)+ Chr(10)
    );
    str
    et normalement cela devrait fonctionner nickel

  3. #3
    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
    Alors, là.... tu m'impressionnes...

    Seul problème : je n'y connais rien aux tableaux...

    Peux-tu me donner un petit coup de pouce pour la création et l'incrémentation.

    D'avance merci

    Adrien

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 304
    Points
    304
    Par défaut
    Voici un exemple un peu similaire

    en en-tête de groupe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if pagenumber=1 then
    (
    shared stringVar array COUNTRY := [""];
    shared stringVar array TARIF := [""];
    Shared numberVar array CTARIF:= [0];
    Shared stringvar LC;
     
    redim COUNTRY[1];
    redim TARIF[1];
    redim CTARIF[1];
     
    LC = "";
    )
    Ensuite dans les lignes

    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
    28
    29
    30
    31
    32
    33
    34
    35
     
    Whileprintingrecords;
    shared stringVar array COUNTRY;
    shared stringVar array TARIF;
    Shared numberVar array CTARIF;
    Shared stringvar LC;
     
     
     
    Local numbervar OK;
    Local numbervar temp;
     
    OK :=0;
    //On test si on à déjà ce tarif
     
    For temp := 1 to UBOUND(TARIF)
        do
        (if {ITMMASTER.CUSREF_0} = TARIF[temp]
            then
            (CTARIF[temp] := CTARIF[temp] + {@Mt_net};
             OK := 1;
            exit for)      
    );
    // test si on l'a trouvé où non
    If OK = 0 
        then
        if TARIF[1]="" then
            (TARIF[1] := {ITMMASTER.CUSREF_0};
            CTARIF[1] := {@Mt_net})
        else
            (temp := Ubound(TARIF)+1;
            Redim PRESERVE TARIF[temp];
            Redim PRESERVE CTARIF[temp];
            TARIF[temp] := {ITMMASTER.CUSREF_0};
            CTARIF[temp] := {@Mt_net})
    Et pour finir dans le pied de groupe la fonction posté ci-dessus.

    Voilà j'espère que cela t'ira.

    Bon week-end

    Machuet

  5. #5
    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,

    Comme je ne réussissais pas trop avec le code de MAchuet j'ai fait mon 1er sous-état.
    Ca se passe bien sauf que j'ai mis comme champ : le numéro de rubrique douanière, sa désignation et la quantité (résumé somme).
    Le problème est qu'il me renvoie le résumé de TOUTES les livraisons, alors que je souhaiterai le résumé seulement de la livraison de l'état principal.

    Je ne sais pas si je me fais bien comprendre mais quelqu'un a t-il des idées ?

    Merci

  6. #6
    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
    Bon, j'ai ouvert un peu plus les yeux et en bidouillant je m'en suis sorti.

    J'avais pas vu qu'on pouvait faire un lien entre les 2

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/03/2010, 16h09
  2. [MySQL] Plusieurs données concatenées dans un même champ ou une table supplémentaire?
    Par Rocky Turquoise dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/11/2008, 01h31
  3. Réponses: 6
    Dernier message: 02/07/2008, 11h24
  4. Réponses: 5
    Dernier message: 06/04/2008, 20h08
  5. Réponses: 16
    Dernier message: 19/07/2006, 00h16

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