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 :

Variable partagé sous rapport


Sujet :

SAP Crystal Reports

  1. #1
    Membre à l'essai
    Variable partagé sous rapport
    Bonjour,

    J'utilise CR XI avec SAGE X3.
    j'ai un rapport Crystal qui édite des devis.
    Mon rapport ZDevis, contient un sous rapport qui vient éditer un tableaux avec les éléments de pied de facturations.
    Dans ce tableau, je peux n'édite que les lignes renseignées.
    Le montant Matériel est toujours renseigné, ensuite je peux avoir de l'emballage en % ou en montant, du FOB en % ou en montant, du CIF en % ou en montant, des assurances en % ou en montant, des Frais globaux en % ou en montant, des remises en % ou en montant.
    Pour les lignes FOB %, FOB montant, CIF % et CIF montant, si je calcule un champs de formule lblFOB%, lblFOBmnt , lblCIF% et lblCIFmnt qui contiennent le libellé du champs concernés si il est valorisé. Ce libellé peut être pris dans la table ATABDIV en fonction de la langue du tiers, si il n'y a pas de libellés spécifique d'enregistré au niveau du champ.
    Cela fonctionne correctement et me permet d'imprimer mes lignes d'éléments de facturation en fonction des libellés et valeurs de ces lignes.
    Dans mon sous-rapport, j'ai rajouter un cadre Texte avec une étoile sur chacune des lignes FOB%, FOB montant, CIF% et CIF montant qui n'apparait (l'étoile) que si le label de la ligne est renseigné (Par exemple : Le cadre texte contenant l'étoile sur la ligne FOB% est supprimé si le champ de formule lblFOB%="").

    J'ai maintenant besoin de rajouter un note en dessous de mon cartouche (sous-rapport éléments_pieds) qui fait apparaître un texte "* Selon ICC Incoterms©2010" stocké dans ATABDIV en 3 langues et qui doit s'éditer dans une section après mon sous rapport. J'ai réussi à l'intégrer dans un champ de formule lblInco, et à gérer la langue comme toujours.

    Mon problème est que je veux le faire apparaître le champ lblInco en fonction de la condition suivante :
    il ne doit apparaître dans la section suivant le sous-rapport "Eléments_pieds" que si au moins l'une des lignes lblFOB%, lblFOBmnt, lblCIF%, lblCIFmnt est renseigné (et donc s'affiche dans le sous rapport avec l'étoile correspondante à ma note).

    J'ai donc imaginé déclaré dans mon sous-rapport une variable partagée (share booleanvar Etoile) qui prendrait la valeur False si lblFOB%="" and lblFOBmnt="" and lblCIF%="" and lblCIFmnt=""

    je pensais faire pouvoir récupérer mon texte dans la section suivante en fonction de la variable Etoile, en tapant dans la formule de mon champ de formule lblInco, une condition
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    WHILEPRINTINGRECORDS;
    Shared BooleanVar Etoile;
    if Etoile=true then
        (STRINGVAR chaine:= "ATABDIV~LNGDES~1012~124~";
        X3TranslatedText ({?X3DOS}, {BPARTNER.LAN_0}, chaine))


    Mais cela ne fonctionne pas, en fait que je renseigne mon FOB avec une valeur ou pas, les éléments de pieds et leur libellé ainsi que l'étoile sortent correctement dans le sous-rapport, mais rien ne sort dans la section suivante, comme si ma variable Etoile ne passait pas de mon sous-rapport à mon rapport principal.

    Merci si vous avez une idée comment résoudre cela.

  2. #2
    Modérateur

    Bonjour, a froid et a cette heure....tes champs de comparaison sont vides ou nuls?
    Luc

    Disponible - Intervention sur demande tout pays, toutes régions
    Formateur Crystal Reports (toutes versions)
    Contrat de support possible
    N'hésitez pas.... http://paypal.me/lucrascar

###raw>template_hook.ano_emploi###