Wechseln zu: Navigation, Suche

Vorlagenverwaltung

Verwandte Themen:


Dynamische Dateinamen

In der neuen Vorlagenverwaltung von JTL-Wawi können Sie Dateinamen und -pfade dynamisch bestimmen. Dabei ist zu beachten, dass die Dateinamen (genau wie Drucker, Anzahl der Seiten, etc.) in der Vorlagenverwaltung vergeben werden. Die Werte werden für jeden Benutzer auf jedem Arbeitsplatz getrennt gespeichert. Möchte man für eine einzelne Ausgabe abweichende Einstellungen definieren, dann kann man das im entsprechenden Wawi-Dialog direkt bei der Ausgabe unter dem Menüpunkt "Erweitert" konfigurieren.

{{ Verzeichnisse.Desktop }}\{{ Vorgang.Vorgangsid }}.pdf   #=> C:\Users\Wawi-Nutzer\Desktop\Rechnung RE12345678.pdf

Damit der Vorgang komplett ohne Nutzeraktion ablaufen kann muss man vorgeben, was geschehen soll, wenn eine Datei bereits existiert: Die Datei kann entweder überschrieben werden, die Ausgabe kann übersprungen werden oder es kann eine fortlaufende Nummer (Rechnung.pdf, Rechnung (1).pdf, Rechnung (2).pdf, etc.) angefügt werden.

Der gesamte Prozess ist dafür ausgelegt, auch große Datenmengen im Hintergrund ausgeben zu können, deshalb erfolgen sämtliche Rückmeldungen in der Hintergrundprozessverwaltung. Sie finden die abgearbeiteten Prozesse unter JTL-Wawi > Einstellungen > Hintergrundprozesse. Erfolgreich abgeschlossene Aufgaben verschwinden aus der Liste, mit Fehlern abgebrochene Aufgaben bleiben in der Liste erhalten. Die genaue Fehlermeldung kann man über dieses Fenster ebenfalls abrufen. So bleiben Sie stets über Abläufe und Komplikationen informiert.

Automatische Exportvorlagen

Mit DotLiquid stehen ungeahnte neue Möglichkeiten offen. So können Sie jeder Email, z.B. einer Lieferantenbestellung, Dateien in einem Text-basierten Format (XML, CSV und weitere) als Datei anfügen. Diese Dateien können im Inhalt frei programmiert und editiert werden. Auch Kopfzeilen und Fußzeilen sind möglich.

{{#widget:YouTube|id=GIZvMWHbsdI}}

Listenelemente und Arrays iterieren

Um an die Objekteigenschaften von Listenelementen, wie z.B. Auftragspositionen, heranzukommen, müssen Sie die Variable über diese Felder iterieren.

Die Iteration erfolgt über eine for-Schleife:

{% for position in Vorgang.Positionen -%}
 {{position.Artikelnummer}};{{position.Menge}};{{position.Bezeichnung}};
{% endfor -%}

#=> BZ627;28;Beleuchtungssatz Krempelheimer Leuchten;

Die Schleife erzeugt für jede Auftragsposition entsprechend eine Zeile im Export mit der Artikelnummer, der Bestellmenge und der Positionsbezeichnung. Alle Felder die Sie aus der Vorlagenverwaltung und Ihren Druckvorlagen bereits kennen, können Sie auch hier verwenden. Es verhält sich genauso wie der Berichtskontainer in List&Label, nur das hier keine Tabellen, sondern Schleifen zum Einsatz kommen.

Wenn Sie direkt über das Hauptobjekt gehen, erhalten Sie nur Aggregationswerte über die ganze Liste, wie z.B. bei
{{Vorgang.Positionen.BruttopreisGesamt}} #=> 265,89 EUR
.

Genauso verhält es sich auch mit Untertabellen im Berichtscontainer der Vorlagenverwaltung. Um zum Beispiel die Unterelemente eines Objekts zurück zu geben, von denen ein Auftrag mehr als eines haben kann, müssen ineinander verschachtelte Schleifen eingesetzt werden. So zum Beispiel beim Export von Trackinginformationen in eine CSV. Ein Auftrag kann beliebig viele Lieferscheine erhalten und ein Lieferschein kann aus beliebig vielen Paketen bestehen. Die Abfrage dafür könnte zum Beispiel so aussehen:

{% for Tracking in Vorgang.Auftrag.Lieferscheine -%}
  {% for TrackingId in Tracking.Pakete -%}
    {{ TrackingId.Logistiker.Name }};\
    {{ TrackingId.TrackingID }};\
    {{ TrackingId.Versanddatum | Datum: "dd.MM.yyyy" }};\
  {% endfor -%}
{% endfor %}

#=> DHL;34526353823827;20.02.2014;

Wie geht es weiter?