Einzelnen Beitrag anzeigen

Metallicwar

Registriert seit: 5. Feb 2010
Ort: Bad Kissingen
293 Beiträge
 
Delphi XE Architect
 
#1

Anzeigeproblem Jasper Reports

  Alt 23. Jul 2013, 09:53
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>
  Mit Zitat antworten Zitat