Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Anzeigeproblem Jasper Reports (https://www.delphipraxis.net/175835-anzeigeproblem-jasper-reports.html)

Metallicwar 23. Jul 2013 09:53

Anzeigeproblem Jasper Reports
 
Moin,
kurz zu meinem Problem:
Ich lasse mir in meinem Bericht eine Variable anzeigen.
Die entsprechenden Werte zieht sich die Variable aus diesem SQL:
Code:
   <queryString>
      <![CDATA[SELECT
    IFNULL(Ergebnis."ID_Personal", 0) as ID_Personal, IFNULL(Ergebnis."Jahr", 0) as Jahr,
    IFNULL(Ergebnis."Monat", 0) as Monat, IFNULL(Ergebnis."KontoNr", 0) as KontoNr,
    IFNULL(Ergebnis."M", 0) as M, IFNULL(Ergebnis."J28", 0) as J28,
    IFNULL(Ergebnis."J29", 0) as J29, IFNULL(Ergebnis."J30", 0) as J30,
    IFNULL(Ergebnis."J31", 0) as J31, IFNULL(Konten."Bezeichnung", 'NA') as Bezeichnung,
   IFNULL(Konten."Dezimal", false) as Dezimal
FROM
    { oj "Ergebnis" Ergebnis INNER JOIN "Konten" Konten ON
        Ergebnis."KontoNr" = Konten."KontoNr"}
WHERE
    Ergebnis."ID_Personal" = $P{ID_Personal} AND
   Ergebnis."Jahr"=$P{Jahr} AND
   Ergebnis."Monat"=$P{Monat} AND
                     Ergebnis."KontoNr" < 900
ORDER BY
    Ergebnis."KontoNr" ASC]]>
   </queryString>
Die Variable prüft welcher der letzte Tag im ausgewählten Monat ist und soll den entsprechenden J Wert anzeigen.
Da wir erst den 23 Juli haben, werden die Felder ab 23 Juli bis 31 Juli noch nicht gefüllt sie stehen auf null.

Code:
   <variable name="jahreswert" class="java.lang.Double" resetType="Column">
      <variableExpression><![CDATA[(de.zmi.reports.util.Monatswerte.lastDayOfMonth($F{Monat},$F{Jahr})<30
    ?(
        de.zmi.reports.util.Monatswerte.lastDayOfMonth($F{Monat},$F{Jahr})<29?(
            $F{J28}
        ):(
            $F{J29}
        )
    )
    :(
        de.zmi.reports.util.Monatswerte.lastDayOfMonth($F{Monat},$F{Jahr})<31?(
            $F{J30}
        ):(
            $F{J31}
        )
    ))]]></variableExpression>
   </variable>
Die Variable lass ich mir dann in einem Textfeld anzeigen und habe die Eigenschaft gesetzt dass er das Feld leer lassen soll, wenn der Wert "null" ist. Leider zeigt er mir immer null im Bericht an.
Hat jemand eine Idee oder Tipp woran das liegen kann?
Code:
         <textField isBlankWhenNull="true">
            <reportElement x="417" y="0" width="50" height="14">
               <printWhenExpression><![CDATA[new Boolean($F{Dezimal}.equals(new Boolean(false)))]]></printWhenExpression>
            </reportElement>
            <textElement textAlignment="Right">
               <font fontName="Arial" size="10"/>
            </textElement>
            <textFieldExpression><![CDATA[de.zmi.reports.util.Monatswerte.minutes2Clock($V{jahreswert})]]></textFieldExpression>
         </textField>


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz