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
135
9
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.868
536
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
327
160
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.244
1.521
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
135
9
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
327
160
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 Wenn keine Postnummer für Versand per DHL notwendig ist User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Workflow kurze Pause per Batch - Fehler "Die Eingabeumleitung wird nicht unterstützt" JTL-Workflows - Ideen, Lob und Kritik 6
In Diskussion Per Workflow Versandart ändern - EK wird nicht korrigiert JTL-Workflows - Ideen, Lob und Kritik 1
Neu Menge von Auftragspositionen per Workflow ändern User helfen Usern - Fragen zu JTL-Wawi 4
Neu Externe Belege per Workflow speichern Amazon-Anbindung - Fehler und Bugs 2
Neu Per SQL eine Liste nicht lieferbarer Artikel im Auftrag erstellen User helfen Usern - Fragen zu JTL-Wawi 4
In Diskussion Rechnung per mail / Workflow gibt Fehler aus JTL-Workflows - Fehler und Bugs 6
Rechnungsversand per Email nicht mehr möglich JTL-Wawi 1.10 3
Neu Wie richte ich es so ein, dass alle vom Shop versendeten Mails per BBC an eine bestimmte Mail gehen (SMTP) Allgemeine Fragen zu JTL-Shop 1
Neu Lässt sich die Artikelsichtbarkeit pro Kundengruppe per Workflow steuern? User helfen Usern - Fragen zu JTL-Wawi 2
Neu andere Artikelbeschreibung für neue Marktplätze per Ameise, wie ? Arbeitsabläufe in JTL-Wawi 4
Neu alte Bestellungen und Rechnungen per Connector importieren WooCommerce-Connector 2
Neu Amazon: Rechnung per Mail abschalten User helfen Usern - Fragen zu JTL-Wawi 0
Neu Auftrag (Position) per SQL versenden User helfen Usern - Fragen zu JTL-Wawi 5
Neu Verfügbarkeit per Ameise einstellen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Import von Angeboten per Ameise möglich? JTL-Ameise - Ideen, Lob und Kritik 3
Neu Artikelübersicht: JTL-Shop lädt per AJAX gesamte Html-Seite in das Filter-Modal JTL-Shop - Fehler und Bugs 0
Artikel mehreren Kategorien per Ameise zuordnen JTL-Wawi 1.9 3
In Diskussion Rechnungskorrekturen per SQL Vorgangsstatus setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Nach Update auf 1.9.8.0 kein Bilderabgleich per JTL-Connector mehr möglich Shopify-Connector 24
Zahlungslinks & Rechnungen per Mollie API? JTL-Wawi 1.9 0

Ähnliche Themen