Gelöst Individuellen Ordner per Workflow erstellen.

Jurka

Aktives Mitglied
20. April 2017
61
9
Hallo,
ich stehe vor folgendem Problem. Da wir sehr viele neue Artikel einpflegen, legen wir die Bilder und andere Infos dazu in separaten Ordnern ab. Die Ordner werden bis jetzt händisch entsprechend benannt.
Ich möchte nun, sobald ein Artikel erstellt wurde, einen Workflow ausführen, der mir einen Ordner, bzw. ein Verzeichnis anlegt, welches bereits korrekt benannt ist. Auf Dauer wird das enorm viel Zeit sparen.
Es handelt sich um einen simplen Ordner ohne besondere Unterordnerstuktur.

Es ist ja ohne weiteres Möglich genau das Selbe mit einer Datei zu machen über "Datei schreiben". Dort kann ich über DotLiquid verschiedene Bedigungen und Variablen verwenden um das gewünschte Ergebnis zu erzielen. Für das Erstellen eines Verzeichnisses gibt es so eine fertige Lösung leider nicht.

Ich habe nun versucht mit "Ausführen" zu arbeiten. Mein Plan war also die Kommandozeile via Workflow auszuführen, einen Ordner zu erstellen und diesen dann über DotLiquid den Ordner zu benennen.

Rein manuell ohne Workflow klappt das auch.
Also in der Kommandozeile gebe ich ein:
mkdir C:\Users\meinbenutzer\Desktop\MEINWUNSCHORDNER (Die DotLiquid Variablen lasse ich der Übersicht halber weg)
läuft problemlos.

Wenn ich das Selbe über den Workflow umsetzen will, versuche ich folgendes:
Manueller Workflow >> Ausführen
Datei: C:\Windows\System32\cmd.exe
Parameter: mkdir C:\Users\meinbenutzer\Desktop\MEINWUNSCHORDNER
Ausführungsverzeichnis: Wie Programm / Skript (habe aber auch schon die anderen Varianten probiert)

Es wird jedoch kein Verzeichnis erstellt.

Fehlt der Kommandozeile die "Enter" Eingabe, die ich sonst manuell mache oder woran kann das liegen? Da es manuell klappt, scheint es ja definitiv an den Workflow Einstellungen zu liegen.
Versuche ich vielleicht generell mit der Kirche ums Dorf zu fahren, während es bessere Möglichkeiten gibt?

Vielen Dank vorab für euer Feedback.

Wawi Version 1.5.17.1
Die Software wird auf einem Server betrieben Windows Server 2012R
 

hii

Gut bekanntes Mitglied
6. Januar 2009
126
8
NRW
Vielleicht hilf dir dieses Batch-Datei "Schnipsel"... habe sowas ähnliches vor ein paar Wochen benötigt:

Code:
@echo off
if not exist "C:\Users\meinbenutzer\Desktop\%1" mkdir "C:\Users\meinbenutzer\Desktop\%1"
echo.
echo.

Du machst dann als Workflow "Ausführen" -> "Programm/Skript" -> "C:\DEIN-PFAD\ZUR-BATCH-DATEI\DEIN-NAME-DER-BATCH.bat"
Als Parameter hinterlegt Du Deine gewünschte Variable, diese wird dann in der Batch-Datei mit "%1" ersetzt.

In meinem Skript wird vorher noch geschaut, ob das Verzeichnis bereits Existiert.

Viele Grüße
 
Zuletzt bearbeitet:

gnarx

Sehr aktives Mitglied
18. Januar 2018
3.823
525
Wenn du etwas aus JTL speichern würdest legt dir JTL einen Ordner nach deinen Vorgaben an.
Hier ein Beispiel wie wir jeden Abend die Rechnungen speichern:
Code:
X:\Rechnungen\{{ Report.CreationDate | Datum:'yyyy'}}\{{ Report.CreationDate | Datum:'MM'}}\{{ Report.InvoiceNumber }}.pdf
 

T4DT.GmbH

Offizieller Servicepartner
SPBanner
6. November 2018
318
129
Hannover
@gnarx hat hier den richtigen Hinweis gegeben. Einfach eine Ausgabe "Datei schreiben" machen. In den Pfadnamen die Artikelnummer als Verzeichnis eintragen und eine leere Datei (Beispielsweise 0.txt). Diese Datei kann man dann über die Suchen-Funktion einmal im Monat löschen. Geht natürlich mit Powershell noch viel eleganzter, aber für den Anfang würde es reichen.
 

Jurka

Aktives Mitglied
20. April 2017
61
9
Hallo,
vielen Dank für Eure Antworten.
Zumindest stimmt es mich schonmal froh, dass es die Funktion tatsächlich nicht gibt und ich nicht einfach nur auf dem Schlauch stand.

Der Vorschlag über Ausgabe>>Speichern etc. ist auch wirklich eine schöne Alternativlösung.

Das Problem, das ich momentan aber damit habe ist, dass ich an die selbst erstellten Artikelmerkmale ran will. In unserem Fall z.B. "Zollgröße", "Reifengröße", "Felgenmaterial" etc. (Zu finden unter dem Reiter "Artikel" im Variablenbaum unter Vorgang>>Merkmale>>Merkmale

Diese kriege ich bisher nur aus dem Reiter "Artikel" in der Workflowverwaltung. Sonst habe ich in keinem anderen Reiter Zugriff auf die Merkmale.
Das Problem ist nun, dass ich aus dem Artikel heraus lediglich die Ausgabemöglichkeit "Druck" zur Verfügung habe. "Mail", "Speichern" etc. steht gar nicht zu Auswahl. Ich kann mir also eigentlich nur per Ausgabe das Artikelettiket ausdrucken lassen.

Wenn ich z.B. aus den Rechnungen heraus etwas per Workflow speichern will, geht das auch. Nur dann habe ich keine Zugriff auf die o.g. Merkmale und kann bestenfalls einen statischen Ordnernamen vergeben.

Gibt es Einstellungen, die ich übersehe?
 

Jurka

Aktives Mitglied
20. April 2017
61
9
Kein Problem, ich hätte auch alles direkt hinschreiben sollen. :)

O.K. also es ist so (ich machs jetzt mal ausführlich):

Wir haben sehr viele individuelle Artikel in der Wawi. Wenn diese eingepflegt werden, wurde bisher immer ein entsprechender Ordner erstellt, welcher im Namen die wichtigsten Merkmale zusammenfasst. Im Ordner selbst sind dann die Fotos und andere Dateien abgelegt. Wir brauchen die Fotos auch noch außerhalb der Wawi, selbst nachdem der Artikel erstellt wurde.

Sagen wir es geht um :
VW Alufelgen mit Continental Winterbreifung in der Größe 195 / 65 R15

Der Ordner würde dann manuell benannt werden in z.B. : "ART123456789 VW Alu Winter 195 65 15 Continental"

Per DotLiquid würde ich dann z.B. folgende Merkmale verwenden (diese habe ich vorher samt Merkmalswerten natürlich alle selbst erstellt):
{{Artikelnummer}}{{Felgenhersteller}}{{Felgenmaterial}}{{Reifenart}}{{Reifengröße}}{{Reifenquerschnitt}}{{Zollgröße}}{{Reifenhersteller}}

Diese Merkmale (und alle anderen) finde ich in der Workflowverwaltung NUR unter dem Reiter "Artikel"
In den Workflows unter "Artikel" habe ich jedoch keine Ausgabeoption "Speichern".
Wenn ich Ausgabe auswähle, dann kann ich nur "Drucken" als Ausgabemodus auswählen.
Der Trick funktioniert dort also nicht für mich.

Unter dem Reiter "Rechnung" kann ich unter Ausgabemodus "Speichern" sehr wohl auswählen, habe dort im Variablenbaum aber keinen Zugriff auf die Merkmale. Es ist also ein "Entweder Oder".

Was ich also eigentlich als Arbeitsablauf will, ist:
1) Erstelle Artikel (manuell)
2) Weise alle nötigen Merkmalswerte zu (manuell)
3) Löse Workflow aus (Workflow generiert mir den Ordner mit der breits korrekten Bezeichnung s.o.)
4) Lege alle Bilder und Dateien in den Ordner ab (manuell)
5) Fertig

Das mag sich jetzt zwar unnötig anhören, aber wir haben täglich dutzende von diesen Ordnern in Bearbeitung. Es würde langfristig zum Einen Zeit sparen, zum Anderen, und das ist fast noch wichtiger, würden auch keine Tippfehler, Zahlendreher etc. mehr vorkommen, falls man den Ordner wieder braucht.

Das Einzige was dem bisherigen Vorschalg am nächsten kommt ist: "Datei schreiben" und die Datei entsprechend benennen. (So hat man zumindest die korrekte Bezeichnung. Ist dann nur noch Copy Paste)
Ist aber eben nur eine Datei und kein Ordner.
Bei "Datei schreiben" weigert sich der Workflow einen neuen Pfad zu generieren. Ich kann nur bestehende Pfade zur Erstellung verwenden.
Beduetet: C:\Users\meinbenutzer\Desktop (ist ja vorhanden und wird auch akzeptiert)
Aber bei: C:\Users\meinbenutzer\Desktop\{{Individueller Ordner}} tut sich gar nichts. Funktioniert auch nicht mit statischen Ordnernamen.
Der Ordner, in dem man die Datei schreiben will, muss also schon vorhanden sein.

Wenn es dafür keine, für Laien machbare, Lösung gibt ist das nicht schlimm.
Ich wundere mich nur, warum unter "Artikel" manche Ausgabemodi nicht vorhanden sind.
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.508
Wenn es nur darum geht den Ordner automatisch zu erstellen, dann könntest du mit "Datei schreiben" arbeiten.
Dort lässt du dann einfach eine leere Textdatei rein schreiben und hast deinen gewünschten Pfad.
 

Jurka

Aktives Mitglied
20. April 2017
61
9
Wenn es nur darum geht den Ordner automatisch zu erstellen, dann könntest du mit "Datei schreiben" arbeiten.
Dort lässt du dann einfach eine leere Textdatei rein schreiben und hast deinen gewünschten Pfad.

Bei "Datei schreiben" weigert sich der Workflow einen neuen Pfad zu generieren. Ich kann nur bestehende Pfade zur Erstellung verwenden.
Beduetet: C:\Users\meinbenutzer\Desktop (ist ja vorhanden und wird auch akzeptiert)
Aber bei: C:\Users\meinbenutzer\Desktop\{{Individueller Ordner}} tut sich gar nichts. Funktioniert auch nicht mit statischen Ordnernamen.
Der Ordner, in dem man die Datei schreiben will, muss also schon vorhanden sein.

Also bei mir läufts irgendwie leider nicht so, wie Ihr es beschreibt. :confused:
Keine Ahnung, was ich falsch mache. Es scheint ja nicht allzu viele Möglichkeiten zu geben, wo man etwas einstellen kann...
 

hii

Gut bekanntes Mitglied
6. Januar 2009
126
8
NRW
Also ich bin da nach wie vor der Meinung, das sich für Dich der "Umweg" über die vorgeschlagene Batch Datei zum Ziel führt.
Hier noch ein beispielhafter Screenshot, wie wir soetwas hier bereits in Verwendung haben:

n.jpg
Dann noch die Batch mit dem Code aus dem Post #2 und die Parameter mit den von Dir gewünschten Variablen füllen (diese werden dann im Batch anstelle des "%1" gesetzt).

Ich hoffe es hilft Dir vielleicht doch.

Lieben Gruß
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Rico Giesler

Jurka

Aktives Mitglied
20. April 2017
61
9

Sorry, hii.
Ich wollte Deinen Vorschlag nicht unter den Tisch fallen lassen. Ich habe alles zur Kenntnis genommen und werde es ausprobieren (mit dem Screenshot wird es sogar noch einfach werden. Danke nochmal dafür). Nur habe ich mit batch Dateien vorher nicht gearbeitet und daher gehofft, ich käme drum herum, wenn es Wawi intern eine Lösung gäbe. Da dem nicht so zu sein scheint, werde ich das mit der batch Datei machen.
Sollte ich es nicht vergessen, so melde ich mich nochmal mit einem Feedback.

Nochmal vielen Danke für die Vorschläge von allen Mitgliedern.
 
  • Gefällt mir
Reaktionen: hii

T4DT.GmbH

Offizieller Servicepartner
SPBanner
6. November 2018
318
129
Hannover
Der mit Abstand schnellste Weg für so etwas ist aber die Anwendung Powershell.exe auf dem PC zu starten (auf allen Windows-Rechnern enthalten) und das Kommando direkt zu übergeben. Hier:
Powershell.exe -Command "[system.io.directory]::CreateDirectory('C:\jtlTemp')" - Ich hab mal ein Beispiel skizziert, um einen Ordner zu erstellen, eine Dummy-Datei abzulegen und anschließend das ganze Verzeichnis wieder zu entfernen:
1586450451221.png

Hintergrund: Die CreateDirectory()-Methode entstammt direkt dem .Net-Framework, auf dem auch die Wawi basiert. Sie erstellt rekursiv den Ordnerpfad. Sprich: Fehlende Unterordnerpfade werden erzeugt.
Dem Programm Powershell.exe kann man direkt einen Befehl mitgeben (oder auch eine Skriptdatei). Das lässt sich sogar noch beliebig erweitern
 
  • Gefällt mir
Reaktionen: JuergenSaenger
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL 1.8.12.0 - Artikelattribut für Shop importieren - Format CSV-Datei / Hilfe bei Import von individuellen Attributen für JTL-Shop (googlekat) JTL-Ameise - Ideen, Lob und Kritik 1
Neu shopapotheke per Anbindung eBay-Anbindung - Fehler und Bugs 1
Neu Umlagerung per Ameisen-Import JTL-Wawi - Fehler und Bugs 1
Neu In einen Portlet-Container im Frontend per Ajax Datennachladen (weitere anzeigen) Technische Fragen zu Plugins und Templates 1
Neu eBay Plus Angebote per Ameise steuerbar ? Eigene Übersichten in der JTL-Wawi 6
Neu Zugang zu Kategorien nur per Kennworteingabe Plugins für JTL-Shop 3
Neu Eigene Felder (Kunde) in csv-Datei per Ausgabe (Auftrag oder Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Lieferadresse / Rechnungsadresse im Auftrag per Doppelklick wählbar machen JTL-Wawi - Ideen, Lob und Kritik 0
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Neu Lieferantenbestellung als CSV mit selbst festgelegten Spalten per Mail senden Arbeitsabläufe in JTL-Wawi 1
Neu Benachrichtigung per Workflow bei Wareneingang User helfen Usern - Fragen zu JTL-Wawi 24
Neu Weiterleitungen direkt per Datenbank einfügen aufgrund Größe bzw. Anzahl? Betrieb / Pflege von JTL-Shop 9
Gelöst Per Workflow im Servicedesk eine Mail versenden. Gelöste Themen in diesem Bereich 4
Variationen per Ameise umbenennen JTL-Wawi 1.8 1
Workflow Auftraqspositionen per Email an Kunden senden JTL-Wawi 1.7 3
Neu Ist es möglich per Ameise Kunden zu löschen? Arbeitsabläufe in JTL-Wawi 2
Neu LS-Pos Kundenrechnung per Email Fragen rund um LS-POS 1
Neu Warenkorb per Link teilen Allgemeine Fragen zu JTL-Shop 6
Ausgabe per E-Mail geht plötzlich nicht mehr, Testmail aus Wawi aber schon JTL-Wawi 1.6 22
Beantwortet Kunde von Firma per Workflow setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Datenbankebene per SQL löschen Eigene Übersichten in der JTL-Wawi 6
Neu Consent Status per Smarty Var abfragen Technische Fragen zu Plugins und Templates 2
Nur noch sporadischer Versand per Mail von Rechnungen, Lieferscheinen und Mahnungen nach Update auf Version 1.8. JTL-Wawi 1.8 0
Neu Kinderartikel per Ameise vom Vater lösen Arbeitsabläufe in JTL-Wawi 6
Neu Probleme bei Aufgabenplaner (Export-Manger) per Cronjob JTL-Shop - Fehler und Bugs 1
Neu EK-Preise per Workflow in Lieferantenbestellung einfügen? User helfen Usern - Fragen zu JTL-Wawi 0
Neu per Workflow: WhatsApp oder ähnliches senden User helfen Usern - Fragen zu JTL-Wawi 0
Preise per Artikel Funktionsattribut bei einzelnen Artikeln ausblenden Einrichtung JTL-Shop5 0
Neu Vorschlag: Per Workflow Tickets erstellen Servicedesk (Beta) 1
Label per Import bedienen JTL-Wawi 1.8 0
Neu Artikeländerung per Artikelnummer mit Wildcard? JTL-Ameise - Ideen, Lob und Kritik 1

Ähnliche Themen