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
805
233
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
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
Automatische Berechnung der Artikelmenge wenn Verkaufseinheit qm ist JTL-Wawi 1.10 3
Neu Keine automatische Übernahme von Änderungen in JTL trotz Abgleich? Onlineshop-Anbindung 3
Neu Picklistenerstellung nicht mehr möglich User helfen Usern - Fragen zu JTL-Wawi 0
Neu Abbruch auf der Plattform löscht nicht mehr den Auftrag Arbeitsabläufe in JTL-Wawi 2
Neu 12.02.2025 JTL Newsletter nicht Eure Ernst :+) Smalltalk 5
Neu Bestellung per Mail, Kunde registriert sich im Nachgang, Bestellung nicht im Kundenkonto User helfen Usern - Fragen zu JTL-Wawi 2
Anmeldung funktioniert nicht mehr JTL-Wawi 1.11 2
Neu Email in Outlook funktioniert nicht mehr User helfen Usern 6
Neu Neue Box im Footer erstellt, Inhalt wird nicht korrekt angezeigt Betrieb / Pflege von JTL-Shop 1
Neu Wawi Synchronisation mit JTL Shop nicht möglich! seit 3 Stunden was kann man machen? Onlineshop-Anbindung 1
Neu Workflow funktioniert nicht so wie gewollt :) User helfen Usern - Fragen zu JTL-Wawi 1
Neu JTL Pos Anbindung Button existiert nicht Einrichtung / Updates von JTL-POS 0
Neu Service (Alt+S) funktioniert gar nicht Servicedesk (Beta) 6
Teilbare Artikel NICHT für Kunden, nur für intern teilbar JTL-Wawi 1.11 5
Neu Der Auftrag wird nicht ausgeliefert. Der Auftrag befindet sich bereits auf einer anderen Pickliste. User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL WAWI V1.11.6.0 Stornorechnung, Stornotext wird nicht gespeichert und ist nicht abrufbar JTL-Wawi - Fehler und Bugs 0
Verkaufseinheit wird nicht auf Angebot/Auftrag/Rechnung/Lieferschein ausgegeben JTL-Wawi 1.11 3
Neu Kommissionierwagen durch scannen auswählen geht nicht User helfen Usern - Fragen zu JTL-Wawi 3
kaufland api erkennt product_safety_contact nicht JTL-Wawi 1.11 0
Neu Wir können uns nicht mehr anmelden Allgemeine Fragen zu JTL-POS 0
Neu Lieferantenbestände werden nicht korrekt angezeigt Arbeitsabläufe in JTL-Wawi 4
Aktualisierung Artikelbilder bei Kaufland nicht möglich? kaufland.de - Anbindung (SCX) 0
Neu Pickliste hängt fest – Aufträge gesperrt, nicht in Versand sichtbar User helfen Usern - Fragen zu JTL-Wawi 3
Neu POS-Server startet nicht mehr nach WaWi-update auf Version 1.11.6.0 JTL-POS - Fehler und Bugs 1
Skonto bei Barzahlung wird angezeigt, aber nicht vom Rechnungsbetrag abgezogen JTL-Wawi 1.9 11
Neu Fehlermeldung Steuersätze sind nicht im Shop Schnittstellen Import / Export 0
Neu Mehrere Label für GLS Retoure nicht möglich? JTL-ShippingLabels - Fehler und Bugs 0
Neu Dropshipping (Ausliefern) - Artikel nicht lieferbar // Euer Ablauf User helfen Usern - Fragen zu JTL-Wawi 5
Neu Epson TM-m30III druckt nicht JTL-POS - Fehler und Bugs 8
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 5
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 6
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 10
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

Ähnliche Themen