Neu Automatische Picklistenerstellung nicht mögich?

bauschnell

Aktives Mitglied
16. Januar 2023
26
4
Hallo zusammen,

wir haben früher die Funktion "Automatische Erstellung" in der Picklistenvorlage gerne genutzt, allerdings ist dies nun bei uns ausgegraut.


Wir nutzen aktuell die JTL-Wawi 1.11.4, weiß jemand, warum das Feld ausgegraut ist?

Vielen Dank im Voraus
 

forumjtlolshopag

Sehr aktives Mitglied
6. Juni 2018
809
235
JTL hat bei 1.11 die Automatische Picklistenerstellung erweitert und sah das als Grund es nur noch der Enterprise Version vom WMS anzubieten. Siehe hier:
https://forum.jtl-software.de/threa...n-der-enterprise-version.241490/#post-1319571

Hab mich beim Support beschwert, aber das scheint denen egal zu sein. Wir sind aktuell noch bei 1.9 und werden demnächst mal auf 1.10 gehen, aber 1.11 wissen wir noch nicht. Weil wir dieses Feature auchbenötigen...
Sind am überlegen ggf. was eigenes über die API zu bauen.
 

AlenaMM

Neues Mitglied
8. Januar 2026
20
2
Buchholz in der Nordheide
Firma
askJan
Hallo bauschnell,
ich habe deine Fragestellung mal in unser neues JTL-Wawi KI-Analysetool reingepackt und folgenden ersten Gedanken erhalten, vielleicht hilft er dir weiter (um es auf genau deine Situation zu münzen, müsstest du es wahrscheinlich selbst bei askJan einmal abfragen):

🎯 Teil 1: JTL- Workflow mit HTTP-Request erstellen
📝 Schritt-für-Schritt Anleitung:
1.⁠ ⁠Workflow-Verwaltung öffnen:

JTL-Wawi → Admin → Automatisierung: JTL-Workflows
2.⁠ ⁠Ereignisbereich auswählen:


Wähle "Aufträge" (für Bestellungen) oder "Manuell" (für zeitgesteuerte Ausführung)
3.⁠ ⁠Workflow erstellen:

Ereignis: "Manuell ausführbar" (für zeitgesteuerte Ausführung)

Name: "API Pickliste erstellen"

Ausführung: "Sofort"
4.⁠ ⁠HTTP-Request Aktion hinzufügen:

Aktionen → Neue Aktion → HTTP-Request (oder Web-Request)

HTTP-Methode: POST
URL: http://127.0.0.1:5883/api/eazybusiness/v1/wms/32/picklists
Content-Type: application/json

Request-Body (JSON):
{
"PickListTemplateId": 1
}
5.⁠ ⁠Workflow speichern:


Den Workflow unter einem eindeutigen Namen speichern
Status auf "Aktiv" setzen
🖥️ Teil 2: Batch-Script für API-Trigger erstellen
📄 picklist_trigger.bat (Windows Batch):

@echo off
REM ============================================
REM Picklisten-Automatisierung für JTL-Wawi
REM Triggert Workflow per API-Call
REM ============================================

REM Basis-URL der JTL-API
set API_BASE=http://127.0.0.1:5883/api/eazybusiness/v1

REM Lager-ID (anpassen!)
set WAREHOUSE_ID=32

REM Log-Datei
set LOG_FILE=C:\Logs\picklist_automation.log

REM Datum/Zeit für Log
for /f "tokens=1-3 delims=/ " %%a in ('date /t') do set datum=%%c-%%b-%%a
for /f "tokens=1-2 delims=: " %%a in ('time /t') do set zeit=%%a:%%b

echo [%datum% %zeit%] Starte Picklisten-Erstellung >> %LOG_FILE%

REM Prüfe ob JTL-API erreichbar ist
curl -s --connect-timeout 10 %API_BASE%/ping >nul
if %errorlevel% neq 0 (
echo [%datum% %zeit%] FEHLER: JTL-API nicht erreichbar >> %LOG_FILE%
exit /b 1
)

REM Erstelle Pickliste via API
curl -X POST ^
-H "Content-Type: application/json" ^
-H "Accept: application/json" ^
-d "{\"PickListTemplateId\": 1}" ^
"%API_BASE%/ wms/%WAREHOUSE_ID%/picklists" ^
--max-time 60 ^
--output C:\Temp\picklist_response.json ^
--write-out "HTTP_CODE:%%{http_code}\n" >> %LOG_FILE% 2>&1

REM Prüfe Response-Code
for /f "tokens=2 delims=:" %%i in ('findstr "HTTP_CODE" %LOG_FILE%') do set HTTP_CODE=%%i

if "%HTTP_CODE%"=="200" (
echo [%datum% %zeit%] ERFOLG: Pickliste erstellt >> %LOG_FILE%
) else if "%HTTP_CODE%"=="201" (
echo [%datum% %zeit%] ERFOLG: Pickliste erstellt >> %LOG_FILE%
) else (
echo [%datum% %zeit%] FEHLER: HTTP-Code %HTTP_CODE% >> %LOG_FILE%
type C:\Temp\picklist_response.json >> %LOG_FILE%
)

REM Aufräumen
del C:\Temp\picklist_response.json 2>nul

echo [%datum% %zeit%] Picklisten-Job beendet >> %LOG_FILE%
🐍 Alternative: PowerShell-Script (picklist_trigger.ps1):

# ============================================
# Picklisten-Automatisierung für JTL-Wawi
# PowerShell Version für bessere Fehlerbehandlung
# ============================================

param(
[int]$WarehouseId = 32,
[int]$TemplateId = 1,
[string]$ApiBase = "http://127.0.0.1:5883/api/eazybusiness/v1"
)

# Konfiguration
$LogFile = "C:\Logs\picklist_automation.log"
$MaxRetries = 3
$TimeoutSeconds = 60

# Log-Funktion
function Write-Log {
param([string]$Message, [string]$Level = "INFO")
$Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$LogEntry = "[$Timestamp] [$Level] $Message"
Add-Content -Path $LogFile -Value $LogEntry
Write-Host $LogEntry
}

Write-Log "=== Starte Picklisten-Automatisierung ==="

# Erstelle Log-Verzeichnis falls nicht vorhanden
$LogDir = Split-Path $LogFile -Parent
if (!(Test-Path $LogDir)) {
New-Item -ItemType Directory -Path $LogDir -Force
}

# Prüfe JTL-API Erreichbarkeit
try {
$PingUrl = "$ApiBase/ping"
$Response = Invoke-WebRequest -Uri $PingUrl -Method GET -TimeoutSec 10 -ErrorAction Stop
Write-Log "JTL-API erreichbar (Status: $($Response.StatusCode))"
} catch {
Write-Log "FEHLER: JTL-API nicht erreichbar - $($_.Exception.Message)" "ERROR"
exit 1
}

# Pickliste erstellen
$PicklistUrl = "$ApiBase/wms/$WarehouseId/picklists"
$RequestBody = @{
PickListTemplateId = $TemplateId
} | ConvertTo-Json

$Headers = @{
'Content-Type' = 'application/json'
'Accept' = 'application/json'
}

$Retry = 0
do {
try {
Write-Log "Erstelle Pickliste (Versuch $($Retry + 1)/$MaxRetries)..."

$Response = Invoke-RestMethod -Uri $PicklistUrl -Method POST -Body $RequestBody -Headers $Headers -TimeoutSec $TimeoutSeconds

Write-Log "ERFOLG: Pickliste erfolgreich erstellt!"
Write-Log "Response: $($Response | ConvertTo-Json -Compress)"

# Bei Erfolg: Loop verlassen
break

} catch {
$Retry++
$ErrorMsg = $_.Exception.Message
if ($_.Exception.Response) {
$StatusCode = $_.Exception.Response.StatusCode
$ErrorMsg += " (HTTP: $StatusCode)"
}

Write-Log "FEHLER bei Picklisten-Erstellung: $ErrorMsg" "ERROR"

if ($Retry -lt $MaxRetries) {
Write-Log "Warte 5 Sekunden vor nächstem Versuch..." "WARN"
Start-Sleep -Seconds 5
} else {
Write-Log "Maximale Anzahl Versuche erreicht. Abbruch." "ERROR"
exit 1
}
}
} while ($Retry -lt $MaxRetries)

Write-Log "=== Picklisten-Automatisierung beendet ==="
⏰ Teil 3: Windows-Aufgabenplanung konfigurieren
🛠️ Über GUI (Taskplaner):
1.⁠ ⁠Taskplaner öffnen:

Windows-Taste + R → "taskschd.msc" → Enter
2.⁠ ⁠Aufgabe erstellen:

Aktion → Aufgabe erstellen...
3.⁠ ⁠Allgemein-Tab:

Name: "JTL Picklisten automatisch erstellen"
Beschreibung: "Erstellt täglich um 8:00 Uhr automatisch Picklisten via JTL-API"
Sicherheitsoptionen:
☑ Unabhängig von der Benutzeranmeldung ausführen
☑ Mit höchsten Privilegien ausführen
Konfigurieren für: Windows 10/11
4.⁠ ⁠Trigger-Tab (Zeitplan):

Trigger hinzufügen:
•⁠ ⁠Täglich um 08:00 Uhr
•⁠ ⁠Beginnen: [Heute]
•⁠ ⁠Alle: 1 Tag(e)
•⁠ ⁠Wiederholen alle: (optional) 4 Stunden für 12 Stunden
5.⁠ ⁠Aktionen-Tab:

Aktion hinzufügen:
•⁠ ⁠Aktion: Programm starten
•⁠ ⁠Programm/Skript: C:\Scripts\picklist_trigger.bat
ODER für PowerShell:
•⁠ ⁠Programm/Skript: powershell.exe
•⁠ ⁠Argumente: -ExecutionPolicy Bypass -File "C:\Scripts\picklist_trigger.ps1"
6.⁠ ⁠Bedingungen-Tab:

☐ Computer nur starten, wenn er im Netzbetrieb ausgeführt wird
☑ Aufgabe beenden, falls Computer in den Akkubetrieb wechselt
☑ Computer zum Ausführen dieser Aufgabe reaktivieren
7.⁠ ⁠Einstellungen-Tab:

☑ Ausführung der Aufgabe bei Bedarf zulassen
☑ Aufgabe so schnell wie möglich ausführen, falls ein geplanter Start versäumt wird
Wenn die Aufgabe fehlschlägt, alle: 1 Minute(n) wiederholen
Wiederholen für: 1 Stunde(n)
☑ Beenden, falls länger ausgeführt als: 1 Stunde(n)
💻 Über Kommandozeile (schtasks):

REM Aufgabe erstellen
schtasks /create ^
/tn "JTL_Picklisten_Automatik" ^
/tr "C:\Scripts\picklist_trigger.bat" ^
/sc daily ^
/st 08:00 ^
/ru "SYSTEM" ^
/rl HIGHEST ^
/f

REM Aufgabe testen
schtasks /run /tn "JTL_Picklisten_Automatik"

REM Status prüfen
schtasks /query /tn "JTL_Picklisten_Automatik" /fo table /v
📋 Teil 4: Monitoring & Logging Setup
📊 Log-Rotation Script (cleanup_logs.bat):

@echo off
REM Lösche Log-Dateien älter als 30 Tage
forfiles /p "C:\Logs" /s /m "*.log" /d -30 /c "cmd /c del @path"

REM Optional: Große Log-Dateien komprimieren
for %%f in (C:\Logs\*.log) do (
if %%~zf GTR 10485760 (
echo Komprimiere große Log-Datei: %%f
powershell "Compress-Archive -Path '%%f' -DestinationPath '%%dpnf_%%date:-4,4%%%%date:-10,2%%%%date:-7,2%%.zip'"
del "%%f"
)
)
📧 E-Mail-Benachrichtigung bei Fehlern (in PowerShell-Script):

# Am Ende des PowerShell-Scripts hinzufügen:
if ($ExitCode -ne 0) {
$Server[REDACTED-SMTP]"
$From = "jtl-automation@yourcompany.com"
$To = "[REDACTED]@yourcompany.com"

$Subject = "JTL Picklisten-Automatisierung FEHLER"
$Body = @"
Die automatische Picklisten-Erstellung ist fehlgeschlagen!

Zeitpunkt: $(Get-Date)
Lager-ID: $WarehouseId
Fehler: Siehe Log-Datei $LogFile

Bitte prüfen Sie die JTL-API und das System.
"@

try {
Send-MailMessage -SmtpServer $Server[REDACTED-SMTP] $From -To $To -Subject $Subject -Body $Body
Write-Log "Fehler-Benachrichtigung versendet"
} catch {
Write-Log "Konnte Fehler-E-Mail nicht versenden: $($_.Exception.Message)" "ERROR"
}
}
🎯 Teil 5: Workflow-Alternative über JTL (Empfohlen!)
Falls du den HTTP-Request direkt in JTL-Wawi integrieren möchtest:

🔄 JTL-Workflow mit .NET-Code-Action:

// JTL-Workflow: .NET-Code Action
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

public class PicklistCreator
{
private static readonly HttpClient client = new HttpClient();

public static async Task<bool> CreatePicklist()
{
try
{
var requestBody = new StringContent(
"{\"PickListTemplateId\": 1}",
Encoding.UTF8,
"application/json"
);

var response = await client.PostAsync(
"http://127.0.0.1:5883/api/eazybusiness/v1/wms/32/picklists",
requestBody
);

if (response.IsSuccessStatusCode)
{
// Log-Eintrag schreiben
Console.WriteLine($"Pickliste erfolgreich erstellt: {DateTime.Now}");
return true;
}
else
{
Console.WriteLine($"Fehler beim Erstellen der Pickliste: {response.StatusCode}");
return false;
}
}
catch (Exception ex)
{
Console.WriteLine($"Exception: {ex.Message}");
return false;
}
}
}

// Aufruf im Workflow:
var success = PicklistCreator.CreatePicklist().Result;
🔧 Zusammenfassung der Lösung
✅ Was du jetzt hast:

JTL-Workflow der per HTTP-Request Picklisten über deine API erstellt
Batch/PowerShell-Script für die zeitgesteuerte Ausführung
Windows-Aufgabenplanung"
 
  • Gefällt mir
Reaktionen: Raul1
Ähnliche Themen
Titel Forum Antworten Datum
Neu Automatische Umstellung auf Pro-Tarif ohne Zustimmung? User helfen Usern - Fragen zu JTL-Wawi 2
automatische Korrekturbuchen, warum? JTL-Wawi 1.9 1
Automatische Berechnung der Artikelmenge wenn Verkaufseinheit qm ist JTL-Wawi 1.10 4
Ebay angebote lassen sich nicht mehr bei JTL bearbeiten JTL-Wawi 2.0 0
2.0.1 BUG Versandaten Exportvorlagen nicht mehr bearbeitbar - Lizenzbug JTL-Wawi 2.0 0
Neu JTL Wawi Einloggen geht nicht!! User helfen Usern - Fragen zu JTL-Wawi 4
Neu Retourenetikett für Briefe kann unter Internetmarke 2.0 nicht erstellt werden JTL-ShippingLabels - Fehler und Bugs 0
Neu Vorgang wenn Mahngebühren nicht bezahlt wurden? User helfen Usern - Fragen zu JTL-Wawi 3
Ameise-Export: Umsatzsteuer stimmt nicht mit Differenz aus Netto und Brutto überein (insbesondere bei mehreren Steuersätzen) JTL-Wawi 1.11 0
Bestellvorschläge stimmen nicht JTL-Wawi 1.11 0
Neu Workflows speichern z.B. Rechnungen nicht mehr seid der 2.01 User helfen Usern - Fragen zu JTL-Wawi 1
Rechteverwaltung - Verkaufspreise nur einsehbar, nicht bearbeiten? JTL-Wawi 1.10 1
Neu nicht lieferbare Artikel aus Bestellung wieder auf die Einkaufsliste setzen ?! User helfen Usern - Fragen zu JTL-Wawi 1
Neu DHL Versenden 4.0 Adressvalidierung nicht aktivierbar (Checkbox nicht sichtbar) JTL-ShippingLabels - Fehler und Bugs 5
Neu Listung mit Varianten - nicht alle Varianten sind vorhanden Amazon-Lister - Fehler und Bugs 0
Inaktive Verkaufskanäle lassen sich nicht löschen – erscheinen nach Löschen und Speichern erneut JTL-Wawi 1.11 0
Neu Lister 2.0 Ein Amazon Markplatz gleicht nicht ab Amazon-Lister - Fehler und Bugs 0
Update auf Shop 5.5.0 von 5.4.1 ist der Shop nicht mehr erreichbar Upgrade JTL-Shop4 auf JTL-Shop5 4
Anhänge lassen sich nicht mehr anzeigen JTL-Wawi 2.0 3
1.11.8 - Mengen aus FBA Umlagerungen werden nicht vom verfügbaren Bestand abgezogen JTL-Wawi 1.11 3
Mehrere Zeilen kopieren klappt nicht mehr JTL-Wawi 2.0 1
Neu Sendungsnummer in Versandmail wird nicht korrekt befüllt Arbeitsabläufe in JTL-Wawi 1
JTL hausinterner Herstellerslider auf Mobile Ansicht nicht sichtbar. Einrichtung JTL-Shop5 0
Packtisch Versanddatenexport startet nicht (2.0.1) JTL-Wawi 2.0 1
Wawi 1.10.14.3 lässt sich nicht mehr mit Datev verbinden JTL-Wawi 1.10 3
Neu Schlüssel ist im angegebenen Status nicht gültig Einrichtung / Updates von JTL-POS 2
Neu Amazon Lagerbestandsberichte werden nicht abgeholt. Amazon-Anbindung - Fehler und Bugs 9
Neu 2.0.0: Workflow Queue wird nicht abgearbeitet via API JTL-Wawi 2.0 1
Amazon Abgleich will nicht ( JTL Ver. 1.9.8.0 ) JTL-Wawi 1.9 3
Neu Gratisgeschenke im JTL Shop nicht wirklich nutzerfreundlich. Allgemeine Fragen zu JTL-Shop 4
Neu POS buchen (seit 01.04.) funktioniert nicht - weiße Seite Einrichtung / Updates von JTL-POS 0
Neu HTTP 500 auf /Kontakt – Route scheint intern noch zu existieren, JTL-Weiterleitung greift nicht Betrieb / Pflege von JTL-Shop 0
Gelöst DHL – Labelerstellung nicht möglich (Fehlercode 15) Gelöste Themen in diesem Bereich 1
Neu Kundenkonto über Mein-Konto nicht möglich JTL-Shop - Fehler und Bugs 4
Versand Internetmarke funktioniert nicht (Could not load file or assembly 'System.Net.WebProxy, ...) JTL-Wawi 2.0 2
Neu Ausdruck Rechnung beim Workflow nicht korrekt formatiert User helfen Usern - Fragen zu JTL-Wawi 6
Eingangsrechnungen mit Einstellung "Nur gelieferte Positionen übernehmen" - Versandkosten werden nicht mit übernommen JTL-Wawi 1.11 4
(gelöst) Ecomdata - JTL Worker 2.0 - Startet nicht - Schließt ohne Fehlermeldung JTL-Wawi 2.0 8
Neu Kein Abgleich mit Amazon nicht mehr möglich JTL-Wawi 2.0 0
Neu KI Funktion / KI Übersetzung Funktioniert nicht mehr User helfen Usern - Fragen zu JTL-Wawi 1
Neu Anbindung von JTL zu Metro (Rechnungen werden nicht zu Metro übertragen) User helfen Usern - Fragen zu JTL-Wawi 1
Neu Connector-Core nicht PHP >= 8.4. kompatibel? Technische Fragen zu den JTL-Connectoren 3
Neu Amazon Lister setzt Auffülldatum nicht User helfen Usern - Fragen zu JTL-Wawi 4
Neu Bankdaten in Wawi V1.11.7 werden vererbt und nicht aktualisiert User helfen Usern - Fragen zu JTL-Wawi 2
TL-Authentifizierung * Nicht testbar Nicht testbar Frankfurt JTL-Wawi 1.9 1
BUG in 2.0.0 - Rest Api Server startet nicht. JTL APP nicht benutzbar JTL-Wawi 2.0 4
Neu Anbindung der POS funktioniert nicht unter WAWI2.0.0 mit EcomData Hosting JTL-Wawi 2.0 7
JTL-Wawi eBay Fahrzeugverwendung (K-Typen) wird nicht aktiviert trotz Ameise-Import JTL-Wawi 1.10 0
POS Server started nicht automatisch JTL-Wawi 2.0 0
JTL-Worker speichert Einstellungen nicht JTL-Wawi 2.0 0

Ähnliche Themen