Neu Automatische Picklistenerstellung nicht mögich?

bauschnell

Aktives Mitglied
16. Januar 2023
24
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
799
231
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
19
1
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"
 
Ähnliche Themen
Titel Forum Antworten Datum
Keine automatische Picklistenerstellung mehr außer in der Enterprise Version JTL-Wawi 1.11 7
Neu Keine automatische Übernahme von Änderungen in JTL trotz Abgleich? Onlineshop-Anbindung 3
Neu Automatische Gutschriften FBA - Kunde sendet nichts zurück - was jetzt ? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Picklistenerstellung nicht mehr möglich User helfen Usern - Fragen zu JTL-Wawi 0
Neu Dropshipping (Ausliefern) - Artikel nicht lieferbar // Euer Ablauf User helfen Usern - Fragen zu JTL-Wawi 0
Neu Epson TM-m30III druckt nicht JTL-POS - Fehler und Bugs 1
Neu Alttexte aus OPC werden beim Slider nicht im Code angezeigt JTL-Wawi - Fehler und Bugs 0
USt-IdNr.: Abfrage funkitoniert nicht mehr. JTL-Wawi 1.11 2
JTL Wawi App eigene Statistiken erscheinen nicht JTL-Wawi App 0
Neu Störung / Connector verbindet sich nicht (Shopify) Shopify-Connector 7
Neu Bestellungen werden verzögert oder nicht gepullt – Ursache: Zeitzonen-Filter im SQL des WooCommerce-Connectors WooCommerce-Connector 0
Neu WPML: Funktioniert bis und inkl. Connector-Version 2.4.1 nicht mehr WooCommerce-Connector 0
Neu Google Merchantcenter - Download der Shoppingfeeds nicht mehr möglich Allgemeine Fragen zu JTL-Shop 4
Lieferbare Aufträge werden nicht auf WMS-Picklisten gesetzt JTL-Wawi 1.11 4
Neu Kinderartikel bearbeiten geht nicht JTL-Wawi - Fehler und Bugs 1
Nach Update auf 1.11.6 werden die Preisänderung nicht mehr von der Wawi an Amazon übertragen JTL-Wawi 1.11 0
Neu Merkmale NICHT in Warenkorbübersicht Allgemeine Fragen zu JTL-Shop 4
Wareneingänge werde nicht mehr in der Liste der Korrekturbuchungen angezeigt? JTL-Wawi 1.11 1
Amazon VCS Rechnung werden nicht angezeigt. Amazon-Anbindung - Fehler und Bugs 0
Hersteller für Verkaufskanal mappen geht nicht JTL-Wawi 1.11 0
Neu Plugins lassen sich nicht installieren/updaten Plugins für JTL-Shop 4
Neu Ebay-Artikelimport triggert Workflow "Artikel geändert" nicht JTL-Wawi - Fehler und Bugs 0
Neu Wechsel von JTL Shop 5 zu Shopify / ERP-Connector Produkte mit Variationen werden nicht übertragen Shopify-Connector 1
Neu Mollie Kreditkartenzahlungen werden nicht als bezahlt markiert JTL-Wawi - Fehler und Bugs 2
Prüfung USt-ID geht nicht mehr JTL-Wawi 1.9 8
JTL Wawi App Registrierung kann nicht gelöscht werden JTL-Wawi App 11
Beantwortet Kurzbeschreibung in Angebot ändert sich nicht Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Es werden nicht die gesamter Menge einer Bestellung für die Produktion übernommen; die Bestellung bleibt teilgeliefert. JTL-Plan&Produce - Fehler und Bugs 0
JTL Fulfillment Network Reservierte Aufträge, die nicht gelöscht werden können JTL-Wawi 1.10 0
Neu Ameise: Kinderartikel (Variationskombinationen) aktualisieren – URL-Pfad/SEO-Slug wird nicht übernommen (Testlauf ok, Ergebnis bleibt leer) User helfen Usern - Fragen zu JTL-Wawi 5
Neu Wo ist der Worker Status hin? Bei mir ist in Version 1.11.4 nicht mehr zu finden? User helfen Usern - Fragen zu JTL-Wawi 7
Neu WMS Start doch nicht gratis? Installation von JTL-WMS / JTL-Packtisch+ 1
Neu Karussell gehen auf der Startseite nach Update auf 5.6.1 nicht mehr Betrieb / Pflege von JTL-Shop 8
Nachträgliche Änderung von Steuerart auf Innergemeinschaftliche Lieferung nicht möglich JTL-Wawi 1.11 4
Hilfe: EK-Preise werden nicht beim Import importiert? JTL-Wawi 1.11 3
Neu JTL Fulfillment Network Reservierte Aufträge, die nicht gelöscht werden können Schnittstellen Import / Export 1
Kategorie lässt sich nicht löschen im Shop JTL-Wawi 1.10 2
Neu Umlaute aus Kurzbeschreibung werden nicht angezeigt Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Datenfiltereinstellung funktioniert bei Mail Vorlage nicht. JTL-Wawi 1.9 2
Neu wnm Hinweisfenster - Update von 1.1.7 auf 1.1.8 funktioniert nicht Plugins für JTL-Shop 6
Neu Variationsartikel nicht in den Warenkorb legbar – unterschiedliches Verhalten je nach Auswahlweg JTL-Shop - Fehler und Bugs 5
Neu Bedarfssprognose - Einmalige Bestellung mit großer Stückzahl nicht zu berücksichtigen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eingabefeld der PayPal Kreditkartenzahlung wird bei eingeloggten Kundenkonto nicht angezeigt JTL-Shop - Fehler und Bugs 1
In Diskussion Ameise importiert Artikelbeschreibung nicht JTL-Ameise - Fehler und Bugs 2
Voucher-Portal nicht erreichbar! Allgemeine Fragen zu JTL-Vouchers 2
Neu Eigene Übersichten nicht mehr möglich? JTL-Wawi - Fehler und Bugs 4
Neu Erstupload Artikel, Bilder werden nicht auf Server geladen JTL-Shop - Fehler und Bugs 0
Neu Händlerbund-Plugin lädt Texte herunter, ersetzt sie aber nicht im Frontend Technische Fragen zu Plugins und Templates 1
Artikel Gehen nicht aus In Aufträge raus nach Versand JTL-Wawi 1.11 1
Neu TSE tauschen Swissbit USB zu MicroSD klappt nicht Einrichtung / Updates von JTL-POS 0

Ähnliche Themen