Bearbeitet von
0 0 Punkte

Nachdem ich einen Opendoc Lieferschein erstellt habe, der auch tadellos funktioniert, möchte ich nun gerne die Chargennummern mit ausdrucken.
Ich habe eine Tabelle, die die einzelnen Positionen darstellt.
In einer Zelle sollen wenn vorhanden die diversen Chargennummern des Artikels mit ausgedruckt werden.
Allerdings funkioniert das Konstrukt

<%foreach si_number%>Seriennummer: <%si_chargenumber%><%end si_number%>

nicht.
Das Dokument kann wegen Fehlern nicht geöffnet werden.
Nun habe ich folgendes in der Dok. gelesen

Besonderheit in OpenDocument-Vorlagen: Tritt ein <%foreach%>
-Block innerhalb einer Tabellenzelle auf, so wird die kom- plette Tabellenzeile so oft wiederholt wie notwendig. Tritt er außerhalb auf,
so wird nur der Inhalt zwischen <%foreach%> und <%end%> wiederholt,
nicht aber die komplette Zeile, in der er steht.

Heißt das, dass ich die Chargennummern in Zellen nicht ausgeben kann, oder verstehe ich das falsch?

2 Antworten

1 1 Punkt

Die Variablen, die mit si_... beginnen, sind Variablen, die nur für Ein-/Auslagerungen gesetzt sind. Das sind diejenigen Einträge, die man in dem kleinen Popup "?" macht.

Außerdem sind sie bezogen auf die aktuelle Positionsspalte. Das heißt, dass diese Schleife nur innerhalb einer <%foreachrow number%> Sinn ergibt. Du brauchst also zwei verschachtelte Schleifen: die äußere iteriert über alle Positionen, die innere ist deine über si_number iterierende.

Die äußere Schleife sollte, wenn man in OpenDocument ist, in der Tat mit foreachrow gebildet werden, die innere aber nicht.

0 0 Punkte

Ah, Fehlermeldung des öffnenden Programmes. Hatte ich überlesen.

Das passiert dann, wenn Formatierungen innerhalb einer foreach-Schleife anfangen und dahinter enden, oder aber auch gerne, wenn innerhalb einer foreach-Schleife echte Absätze (Return) benutzt werden. Zeilenumbrüche (Ctrl+Return) innerhalb von foreach sind OK!

Lösung:

  1. Zuerst alle Absätze und Zeilenumbrüche innerhalb der inneren foreach entfernen.
  2. Den gesamten Text von <%foreach si_number%> bis hin zum dazugehörigen <%end%> markieren, Rechtsklick, "Direkte Formatierungen entfernen" (so oder so ähnlich heißt es bei OpenOffice/LibreOffice -- auf Englisch "Clear direct formatting", keine Ahnung, wie es bei Word heißt)
  3. Speichern und ausprobieren.
  4. Wenn es funktioniert: an den gewünschten Stellen wieder Zeilenumbrüche (Ctrl+Return) aber keine Absätze einfügen, speichern, erneut ausprobieren.

Ähnliche Fragen

1 1 Punkt
1 1 Antwort
arudin Gefragt 17, Apr 2020
Wir haben gerade folgende Frage per Mail erhalten: ich habe versucht, mit den odt-Vorlagen des rev-odt Vorlagensatzes ein PDF zu erzeugen und erhielt diese Meldung: Fehle...
0 0 Punkte
1 1 Antwort
hul Gefragt 10, Jul 2020
Moin in die Runde, bei der Vorlagenbearbeitung bin ich auf folgendes Phänomen gestossen: In der Angebots- bzw. Auftragsvorlage wird die Variable cp_greeting, also die An...
0 0 Punkte
3 3 Antworten
Anonym Gefragt 14, Jun 2012
Hello@all :) Kivitendo mach auf mich, nach den ersten Schritten der Einarbeitung, einen positiven Eindruck. Der CSV Import von alten Daten war, nach kleinen Anlaufproblem...
0 0 Punkte
2 2 Antworten
ulk Gefragt 11, Nov 2024
Liebes kivi-Team, bis jetzt scheint es nicht möglich zu sein, Zugferd-Rechnungen aus ODT-Vorlagen zu erzeugen. Ist denn geplant, diese Funktionalität bereit zu stellen?...
0 0 Punkte
1 answers 1 Antwort
Anonym Gefragt 28, Jun 2013
Ich benötige für die Angebots-/Rechnungserstellung verschiedene Freitextfelder für z.B. Lieferzeit, Lieferbedingungen ...). Da diese projektabhängig sind, habe ich en...