[ab Version 895]: Hinweise zu den Dateinamen beim Speichern als Datei

SebastianB

Moderator
Mitarbeiter
6. November 2012
1.742
95
Hi,

die Dateinamen werden über die Template-Sprache DotLiquid definiert. Dabei ist zu beachten, dass die Dateinamen (genau wie Drucker, Anzahl der Seiten, etc.) in der Vorlagenverwaltung vergeben werden. Die Werte hier 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 direkt bei der Ausgabe unter "Erweitert" machen.

Der ganze Prozess ist dafür ausgelegt, auch große Datenmengen (mehrere hundert Elemente) im Hintergrund auszugeben. Deshalb erfolgen sämtliche Rückmeldungen in der Hintergrundprozessverwaltung (Einstellung -> 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.

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. Die Nummer ist fortlaufend, d.h. es handelt sich hierbei nicht um die Rechnungsnummer oder ähnliches.

DotLiquid ist eine .NET Implementierung der Liquid-Templatesprache. Dabei gelten folgende Einschränkungen / Besonderheiten:
  • alle Variablen aus List&Label stehen auch in DortLiquid zur Verfügung
  • es gibt einige Spezialvariablen (s.u.)
  • Filter müssen in CamelCase geschrieben werden, z.B. "Date" statt "date"
  • Datumsstring werden im .NET-Format angegeben, nicht im Ruby-Format

Folgende Variablen stehen bereit:

  • Firma.* - die aktuelle Firma - im selben Format wie in List&Label, d.h. Firma.Name, etc.
  • Vorgang.* - wie bei List&Label
  • Datum.Jetzt - aktueller Zeitstempel
  • Datum.Gestartet - Zeitpunkt zu dem der Ausgabevorgang gestartet worden ist
  • Verzeichnisse.Desktop
  • Verzeichnisse.EigeneDateien

Ein umfangreiches Beispiel:

Code:
{{ Verzeichnisse.EigeneDateien }}\Rechnungen\Rechnung #{{ Vorgang.Rechnungsnummer }} vom {{ Vorgang.Erstelldatum | Date:'yyyy-MM-dd' }} von Firma {{ Vorgang.Firma.Name }}.pdf
Gruß,
Sebastian
 

Shopworker.de

Offizieller Servicepartner
SPBanner
4. Januar 2011
2.983
250
Arnsberg, Sauerland
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Hallo Sebastian,

danke für die Infos.

Die Nummer ist fortlaufend, d.h. es handelt sich hierbei nicht um die Rechnungsnummer oder ähnliches.
Ich fänd es aber trotzdem prima, wenn man die Rechnungen mit der Rechnungsnummer im Dateinamen abspeichern könnte .... alles andere wird sehr, sehr schnell sehr unübersichtlich.

Versuch mal aus Rechnung-1.pdf bis Rechnung-1000.pdf eine bestimmte Rechnung zu finden ;))
 

deepblue

Sehr aktives Mitglied
2. Januar 2009
2.301
5
Hannover / Hamburg
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Ja, Shopworker das Problem sehe ich auch so.

Würde mich sehr freuen, wenn auf dieses Problem noch einmal genau eingegangen wird.
 

muenster

Sehr aktives Mitglied
25. September 2012
1.824
35
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Meine Frage dazu, wie kann einen anderen Laufwerkspfad angeben?
 

Janusch

Administrator
Mitarbeiter
24. März 2006
13.390
132
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Hallo,

man kann hier kombinieren:

d:\pdf\Rechnung_{{ Vorgang.Rechnungsnummer }}.pdf

speichert die Datei in d:\pdf mit Rechnungsnummer ab. Rechnungsnummer darf Sonderzeichen enthalten, diese werden weg gefiltert.
 

Shopworker.de

Offizieller Servicepartner
SPBanner
4. Januar 2011
2.983
250
Arnsberg, Sauerland
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Ich habe das Problem hier glaube ich gefunden:

Hier wurde nach der 099898_8 auf die finale 099898 upgedatet ...

Der eingestellt Pfad war beim Speichern immer noch /Desktop/Ausgabe.pdf

Nachdem wir die Formulare neu konvertiert haben ist jetzt beim Speichern der richtige Pfad mit dem gewünschten Namen eingestellt:

{{ Verzeichnisse.Desktop }}\{{ Vorgang.Vorgangsid }}.pdf

... Für alle, die das Problem auch haben reicht vermutlich einmal das konvertieren der Formulare ... vermutlich ist das Problem durch die Betaversionen aufgetaucht ...

Es mussten die Formulare neu erzeugt werden
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
1.742
95
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Ich weiß jetzt nicht, was das | Zeichen bewirken soll. Ich würde es wie folgt einstellen:

Code:
C:\Temp\Rechnungen{{ Vorgang.Erstelldatum | Date : 'YYYY'}}\{{ Vorgang.Erstelldatum | Date : 'MMMM' }}\{{ Vorgang.Erstelldatum | Date:'yyyy-MM-dd' }}_{{ Vorgang.Vorgangsid }}.pdf
Die Rechnung mit Nummer RE1234 vom 01.02.2013 würde dann unter "C:\Temp\Rechnungen2013\Februar\2013-02-01_Rechnung #RE1234.pdf" gespeichert.

Gruß,
Sebastian
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.271
339
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Hallo Leute,

das Feature ist ziemlich genial, aber einen Wermutstropfen habe ich doch noch gefunden, denn leider ist die Länge der Quelltext-Strings auf 255 Zeichen beschränkt.
Damit sind aufgrund der recht "verbosen" VariablenNamen aus der Wawi längere Pfade schon nicht mehr erreichbar. Das hier geht zum Beispiel schon nicht mehr...

\\FILESERVER\Buchhaltung\MeineFirma\Auftragsbestätigungen\{{ Vorgang.Erstelldatum | Date : 'yyyy' }}\Ausgang\Auftrag_{{ Vorgang.Auftragsnummer }}_{{ Vorgang.Rechnungsadresse.Vorname }}{{ Vorgang.Rechnungsadresse.Name }}_{{ Vorgang.Erstelldatum | Date:'yyyy-MM-dd' }}.pdf

obwohl der resultierenden Pfad/String gerade mal 103 Zeichen lang ist ...

\\FILESERVER\Buchhaltung\MeineFirma\Auftragsbestätigungen\2013\Ausgang\Auftrag_AB13091007_MeinName.pdf

@JTL: Der Schritt von 0.99894 zu 0.99900 ist ein echter Quantensprung! - Bitte, bitte macht es jetzt noch möglich, dass die Quelltexte für die Speicherpfade länger als 255 Zeichen werden können. Ein Check auf eine maximale Pfadlänge von 255 Zeichen kann aber natürlich nicht schaden...

Vielen Dank, auch im Voraus ;)
Ingmar
 

IceT

Aktives Mitglied
13. Juli 2007
89
0
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Gibt es auch noch eine Variable für den Kundennamen?
 

PC-Korrekt.at

Aktives Mitglied
15. Juli 2012
492
1
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

wo füge ich das ein ? direkt in der vorlage ?
fragt sich nur wo.
Mit der Bitte um Hilfe

Danke Markus
 

HITSYSTEME

Aktives Mitglied
17. September 2013
50
0
Oeversee
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Hallo Zusammen,

die Umstellung der Dateinamen mit der neuen JTL-Version hat unseren Workflow gestört, da wir auf das Datum im Dateinamen angewiesen sind. Ich habe mich nun mit der Vorlagenverwaltung beschäftigt und versucht die alte Einstellung: "Rechnung_YYY-MM-DD_<Rg-Nr> wieder wie folgt wieder herzustellen:

Rechnung_{{ Vorgang.Erstelldatum | Date:'yyyy-MM-dd' }}_{{ Vorgang.Vorgangsid }}.pdf

Beim Abspreichern der Rechnung als PDF funktioniert diese Einstellung bereits. Wir drucken aber Lieferschein und Rechnung zusammen über einen PDF Creator in der Auftragsansicht über "Rechnung erstellen und drucken".

Dort greift diese Einstellung aber nicht!

Weiterhin wird als Dateinamen: "Rechnung <Rg-Nr>" übergeben. Was können wir hier tun?
 

Art-Natur

Aktives Mitglied
7. Oktober 2013
1
0
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Wir haben das gleiche Problem: Beim Abspreichern der Rechnung als PDF funktioniert diese Einstellung bereits. Wir drucken aber Lieferschein und Rechnung zusammen über einen PDF Creator in der Auftragsansicht über "Rechnung erstellen und drucken". Dort greift diese Einstellung aber nicht! Weiterhin wird als Dateinamen: "Rechnung " übergeben. Was können wir hier tun? BITTE UM LÖSUNGSVORSCHLAG! DANKE
 

ManuelP

JTL-Wawi
Mitarbeiter
2. Januar 2012
2.186
341
Hückelhoven
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Hallo Zusammen,

jetzt bin ich neugierig.

Beim Abspreichern der Rechnung als PDF funktioniert diese Einstellung bereits. Wir drucken aber Lieferschein und Rechnung zusammen über einen PDF Creator in der Auftragsansicht über "Rechnung erstellen und drucken".
Ihr habt die Möglichkeit direkt als PDF mit gewünschter Bezeichnung zu speichern, verwendet aber den PDF Creator. Warum? Ggf. ist die Lösung eine völlig andere, als die Benennung des Druckjobs für den PDF Creator zu ändern.

Gruß und Danke fürs Feedback

Manuel
 

HITSYSTEME

Aktives Mitglied
17. September 2013
50
0
Oeversee
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Hallo ManuelP,

bei uns werden die Aufträge einzeln abgearbeitet, also kein Massendruck von Rechnungen wie das hier unter "Rechnungsdruck / erweiterte Ausgabe" angedacht ist.

Wir möchten Rechnung UND Lieferschein in EINER Datei abspeichern und dann Duplex auf dem Drucker ausgeben. Dazu hatten wir bisher immer die PDF-Factory dazwischengeschaltet, die auch noch eine Vorschau vor dem Druck bietet.

Das schnellste Vorgehen dazu ist, in der Auftragsansicht den Auftrag auszuwählen und "Lieferschein und versenden" anzuklicken. In dem Fenster können dann die Rechnung, der Lieferschein und der Adressexport in einem Arbeitsgang ausgegeben werden.

Nun fehlt aber das Datum im Namen des Druckjobs bzw. läßt sich dieser nirgens konfigurieren.

Die neuen Ausgabeoptionen sind meines Erachtens damit noch nicht durchgängig umgesetzt, denn nicht jeder nutzt den Massendruck.

Der Versuch in der oben beschriebenen Syntax den Kudennamen mit in den Dateinamen zu schreiben funktioniert leider auch noch nicht. Was mache ich hier falsch:

{{ Vorgang.Rechnungsadresse.Vorname }}_{{ Vorgang.Rechnungsadresse.Name }}
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.271
339
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Hallo JTLer,

leider hat auch die 0.99906 immer noch das von mir oben beschriebene Problem, dass die Eingabezeile für die Dateinamen-Syntax unnötigerweise auf 255 Zeichen beschränkt ist. Das macht logisch gesehen aber keinen Sinn, da es ja der Windows-Pfad selbst ist, der auf 255 Zeichen beschränkt ist und nicht "der Weg dahin". Und angesichts der recht verbosen Variablennamen wird das leicht zu einer ziemlich gravierenden Einschränkung: Die Variable "Vorgang.Rechnungsadresse.Vorname" hat zum Beispiel schon 32 Buchstaben...

Wenn man also von den zur Verfügung stehenden Variablen kräftig Gebrauch macht, sind die 255 Zeichen ratz-fatz weg, obwohl die resultierenden Windows-Dateipfade vergleichsweise kurz sein können und wenn man dann (wie ich) auch noch eine ziemlich ausdifferenzierte Ordnerstruktur auf dem Server hat, scheitern die meisten Dateinamens-Vorgaben völlig unnötigerweise an der 255 Zeichen Grenze.

Das ist natürlich kein Bug, sondern eher eine Design-Schwäche oder Kinderkrankheit, es ist aber definitiv ein Ärgernis und ich möchte deshalb folgende Änderung vorschlagen:

- Dateinamens-Syntax Eingaben in beliebiger Länge zulassen.
- Beim Speichern checken, ob resultierender Pfad zu lang ist.
- Falls Nein: Datei unter dem angegeben Pfad und mit angegebenem Namen speichern.
- Falls Ja: Nach letztem Backslash im resultierenden (zu langen) Pfad suchen und die Datei unter komplettem Dateinamen, aber (z.B.) auf dem Desktop speichern. Fehlermeldung mit Angabe des Speicherorts in Ausgabe-Protokoll.

Damit hätte man die Gewißheit, dass die Datei immer und immer unter dem gewünschten Namen gespeichert wird. Im Fehlerfall halt auf dem Desktop oder an einem konfigurierbaren Fallback-Ort.

Danke und viele Grüße,
Ingmar
 

SebastianB

Moderator
Mitarbeiter
6. November 2012
1.742
95
AW: [ab Version 985]: Hinweise zu den Dateinamen beim Speichern als Datei

Nun fehlt aber das Datum im Namen des Druckjobs bzw. läßt sich dieser nirgens konfigurieren.
Hier wird ja letztlich ein undokumentiertes Feature genutzt: Der Name des Druckjobs war nie vorgesehen um als Dateiname genutzt zu werden. Eben deshalb kann man den Namen des Druckjobs nicht definieren - wie auch schon in der alten Wawi-Version. Wir werden schauen, ob man sinnvoll wieder den alten Druckjobnamen nutzen kann - aber das muss sich wohl erstmal hinten anstellen.

Gruß,
Sebastian