Hallo,
Ich gebe ganz gerne über das Feld "Bemerkung" alle Informationen mit, die meine Kunden auf der Rechnung lesen wollen (Projektnummer, Referenznummer, etc). Da das bei jedem Kunden und Projekt anders ist und auch manchmal gar nicht vorkommt, ist das der (für mich) flexibelste Weg.
Nun habe ich in meiner Rechnungsvorlage einen Platzhalter DOCUMENT.MESSAGE eingefügt, der eben diesen Text überträgt. Da aber eben nicht bei jedem Projekt etwas übergeben wird, möchte ich gerne aus optischen Gründen nur dann eine neue Zeile einfügen, wenn das der Fall ist. Dafür gibt es ja die $PRE-Funktion. Drum habe ich meinen Platzhalter genau so formuliert:
<DOCUMENT.MESSAGE$PRE:%NL>
Wie ich feststellen musste, wird aber dieses "Newline" nicht eingefügt. Schreibe ich $PRE:irgendwas%NL funktioniert das: das %NL darf also nicht ganz am Anfang stehen.
Im Quellcode (TemplateProcessor.java) habe ich etwas rumgeschüffelt und nun die Vermutung, dass nach der Ersetzung der %NLs die Aufräumfunktion removeQuotationMarks zu oft oder zu spät aufgerufen wird (dort werden ua via trim() führende und nachstehende Leerraumzeichen aus dem String entfernt).
Leider habe ich zu wenig Überblick, an welchen Stellen das wohl exakt sein könnte. Vielleicht sieht das jemand mit mehr Sachverstand auf einen Blick?
Es wäre toll, diesen kleinen Bug gelöst zu bekommen, denn derzeit muss ich bei jeder Rechnung, die mit Anmerkungen daherkommt, ein händisches Newline einfügen und wenn ich das vergesse, sieht's komisch aus.
Vielen Dank für die Hilfe,
Bilemma
Hallo Bilemma, danke für die ausführliche Analyse, ich werde mir das mal ansehen.
Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?
@rheydenr Habe eben die Version 2.2.0 RC installiert und nochmals speziell auf dieses "Problem" geachtet: Ist erledigt, funktioniert nun einwandfrei.
Vielen Dank für die Optimierung und sowieso: Für das ganze, tolle Projekt!