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 :

créer un document de plusieurs pages


Sujet :

SAP Crystal Reports

  1. #1
    Membre régulier
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 106
    Points
    106
    Par défaut créer un document de plusieurs pages
    Bonjour,
    Je dois créer un rapport qui a une page 1 dont le layout est fixe. j'ai deux champs qui peuvent "déborder" de la place alouée et du coup il me faudrait reporter les détails dans des pages de détails qui ne seront montrée que si il y a quelquechoses à montrer.

    Est-il possible de faire cela, de preférence depuis ma classe d'impression, avec Crystal Report?

    Pour info, j'utilise pour l'instant la combo dotnet reportviwer/fichier rdlc mais je ne trouve pas de moyen d'obtenir ce résultat.
    Un des champs est du texte et l'autre est une collection (affichée pour l'instant avec un subreport)

    Merci pour toute aide

    Dom

  2. #2
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    Si tu fais ton report sur plusieurs pages avec un lien du premier sur le deuxième avec la valeur du champ qui t'intéresse ca ne correspond pas a ce que tu cherches??
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  3. #3
    Membre régulier
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 106
    Points
    106
    Par défaut
    Salut,
    Je vais essayer ca.
    Le probleme est que les pages de types 2 ou 3 ne doivent pas être imprimer si elles sont vides.
    Peut être que ce sera plus clair en pseudocode
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim maCollec as new List(of Foo)
    dim monText as string
    if NombreDeLignes(monTexte) > MAX_LIGNE then 
    text1 = "voir details sur les pages suivantes"
    TextDetail.text = monTexte
    else
    text1 = monTexte ' imprime sur la première page
    end if
    if maCollect.count > MAX_COLLEC
    subreport.datasource = new Foo("voir liste jointes pour detail")
    subreport2.datasource = maCollect
    else
    subreport.datasource = macollec   ' imprime sur la première page
    end if
    je sais pas si c'est vraiment plus clair
    Dom

  4. #4
    Rédactrice

    Avatar de Fleur-Anne.Blain
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 637
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 637
    Points : 6 805
    Points
    6 805
    Par défaut
    Citation Envoyé par trolldom Voir le message
    Salut,
    Je vais essayer ca.
    Le probleme est que les pages de types 2 ou 3 ne doivent pas être imprimer si elles sont vides.
    Peut être que ce sera plus clair en pseudocode
    je sais pas si c'est vraiment plus clair
    Dom
    Pas trop mais si tu parle d'impression sur imprimante (et pas a l'écran) a ta place je laisserai toujours 2 pages a mon report mais il doit ya voir moyen de n'imprimer que la première page soit en controlant le contenu du 2eme report du même crystal, soit avec la base de données genre si il n'existe rien (avec une requête) pour telle valeur imprime la page 1 et c'est tout..
    la culture c'est comme la confiture moins on en a plus on l'étale.

    Mes tutos

  5. #5
    Membre régulier
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 106
    Points
    106
    Par défaut
    merci pour ton aide

    Je ne connais pas Crystal Report mais après un test rapide inspiré par ton conseil il semble qu'il est peut être possible de faire ce que je veux (imprimer un page sous certaines conditiones). Je vais donc me faire un projet-test pour vérifier tout ca.
    btw: j'utilise des objets comme datasource mais je ne crois pas que cela ai quelque chose à faire.
    La dernière alternative est de tout faire avec des printDocument... et j'ai l'impression que cela représente beaucoup de travail.

    Dom

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 68
    Points
    68
    Par défaut
    Dans l'expert section, tu peux choisir d'afficher ou non une section... comme une partie détails... ce choix peut être fait dynamiquement grâce à l'éditeur de formules.

    tu pourrais donc avoir un code de ce type là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    booleanvar b := false;
    if(....) then b:=true;
    b;

  7. #7
    Membre régulier
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 106
    Points
    106
    Par défaut
    Merci pour votre aide.

    Après une très courte évaluation il me semble que CR n'est pas l'outil idéal pour moi. Nous utilisons un framework qui nous produit des objets et mon application actuelle est déconnectée, du coup pour travailler confortablement avec CR il me faudrait tout reassembler sous forme de dataset ADO.Net.
    J'ai fait un doc avec les classes PrintDocuments et consort grace à l'excellent tutoriel "Imprimer avec VB.NET (2005)" de J-M Rabilloud. Ce choix a le revers de devoir créer son propre "viewer".
    Au final, je vais m'orienter vers l'outils de DeveXpress "Xtra report suite" () qui me semble offrir:
    • Création de rapport traditionnel
    • génération de classe => possibilité de control programmatique dans l'IDE
    • possibilité d'impression de windows form (pas essentiel mais peut être pratique des fois)


    Merci encore, je passe le sujet en résolu

    Dom

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

Discussions similaires

  1. [AC-2003] créer un état de plusieurs pages
    Par KANIN dans le forum IHM
    Réponses: 0
    Dernier message: 03/02/2010, 10h55
  2. [PDF] Document de plusieurs pages
    Par mark o dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/11/2008, 20h53
  3. créer un formulaire avec plusieurs pages
    Par tiyolx dans le forum IHM
    Réponses: 5
    Dernier message: 23/03/2008, 10h33
  4. [PDFCreator] Créer un PDF de plusieurs pages
    Par Eruil dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/06/2007, 09h57
  5. Un document avec plusieurs pages
    Par freud dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 05/01/2007, 10h58

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