Willkommen im kivitendo Forum! Hier erweitern und teilen AnwenderInnen und EntwicklerInnen ihr Wissen.

Teste kivitendo!

kivitendo Demo

kivitendo Demo mit Schweizer Kontenplan

Geld allein macht nicht glücklich - benutzt kivitendo!

0 Punkte

Kivitendo 3.5.4

Ich versuche erfolglos in der Rechnung das Artikelgewicht dann auszugeben, wenn es ungleich 0 ist.
Mit dem Konstrukt
<%if weight%> Gewicht: <%weight%> kg<%end%>
bekomme ich das Gewicht auch dann ausgegeben, wenn es mit 0 Kg im Artikel drin steht.
Mit
<%if weight != 0%> Gewicht: <%weight%> kg<%end%>
oder auch mit
<%if weight != "0"%> Gewicht: <%weight%> kg<%end%>
wird überhaupt nichts mehr ausgegeben.
Weiss da jemand Rat?

Gefragt von (490 Punkte)

2 Antworten

0 Punkte
 
Beste Antwort

Hallo e.nussbaum

Ich sehe von der Syntax her auch keinen Fehler. In der Standardvorlage invoice.odt aus dem Vorlagensatz rev-odt verwenden wir zum Beispiel bei der Rundung die gleiche Syntax:
<%if rounding != "0.00"%>
Wenn du gar nichts mehr ausgegeben bekommst, deutet das eventuell daraufhin, dass sich dort in der Vorlage irgend ein unsichtbares Steuerzeichen (z.B. Wechsel von Gross- zu Kleinschreibung) eingeschlichen hat.
Am besten du schreibst den ganzen Block:
<%if weight != "0"%> Gewicht: <%weight%> kg<%end%>
nochmals in eine reine Textdatei und kopierst sie dann als ganzes in deine odt-Vorlage. So kannst du Störeffekte mit Steuerzeichen normalerweise ausschliessen.

Beantwortet von (3.4k Punkte)
ausgewählt von

Frohes Neues Andreas!

Aber dann hätten wir es ja gelöst.

Ihr überprüft auf die Zeichenkette '0.00' und nicht auf Zeichenkette '0' oder logisch 0.

Hi,

die Variable weight kann (je nach Einstellung) formatiert sein. Um in Vorlagen Prüfungen durchführen zu können, ist es evtl. besser, weight_nofmt zu nehmen - diese ist nicht formatiert.

Probiert bzw. getestet habe ich das nicht - aber evtl. hilft es weiter.

Viele Grüße und frohes neues Jahr
Bernd

Hallo
<%if weight_nofmt%><%weight%><%end weight_nofmt%> funktioniert weil weight_nofmt 0(false) oder größer 0(true).
Die bedingte Abfrage != geht nicht auch nicht die von Andreas <%if rounding != "0.00"%>
@Andreas die zeile Rundung wird zumindest bei mir immer angezeigt
Du hast noch dizusätzlichen Variablen lineweight und lineweight_nofmt für die Zeilenberechnung
Grüße
Werner

Sorry für die späte Antwort. Hab mal ein paar Tage ausgespannt :)

Genau das ist es. mit weight_nofmt geht es einwandfrei.

Vielen Dank für die Hilfe

0 Punkte

Frohes Neues!

Experte für die OpenOffice-Vorlagen ist unser Schweizer Partner revamp it, vielleicht kannst Du die Frage direkt dort stellen.

Von der Syntax aus der Doku, sieht das alles korrekt aus.

https://www.kivitendo.de/kivi/doc/html/ch03s03.html

Kann es vielleicht sein, dass das Gewicht nicht mit dem Wert 0 übergeben wird, sondern mit 0,00, bzw. 0.0000 ?

Ist die Prüfung auch innerhalb der foreach-Schleife für jeden einzelnen Posten?

Mehr Fehlerquellen kann ich ansonsten nicht erkennen, aber wir haben OO-Vorlagen auch noch nie in einem Projekt verwendet ...

Beantwortet von (7.7k Punkte)

Ähnliche Fragen

0 Punkte
1 Antwort
0 Punkte
2 Antworten
0 Punkte
3 Antworten
Gefragt 14, Jun 2012 von new2kivi (100 Punkte)
...