Ich habe ein richtig schönes Thema. Ich gründe gerade einen Shop für B2B und B2C online (Vorher nur offline)
Ich möchte das ein Händler einen Artikel nicht mehr sehen kann, wenn der Bestand ,,Verfügbarkeit" kleiner als eine VE ist (Mindestabnahme bzw abnahmeintervall)
Die letzten Stunden habe ich versucht mit dem Worker und ChatGBT hierfür eine Lösung zu finden. Attribute usw setzen und dann ein Skript über den Worker laufen lassen.
Leider hatte ich bis Dato absolut keinen Erfolg.
Hier die Maßnahmen von ChatGBT:
// Mindestabnahmemenge aus den Artikelattributen abrufen
var mindestAbnahmeAttr = artikel.Attribute.find(attr => attr.Name === "Mindestabnahmemenge");
var mindestAbnahme = mindestAbnahmeAttr ? parseInt(mindestAbnahmeAttr.Wert, 10) : 0;
// Überprüfe die Verfügbarkeit
var verfuegbarkeit = artikel.VerfuegbarkeitGesamt;
// Sichtbarkeit ändern basierend auf Verfügbarkeit
if (verfuegbarkeit < mindestAbnahme) {
// Setze das Attribut Sichtbarkeit_Händler auf false
var sichtbarkeitAttr = artikel.Attribute.find(attr => attr.Name === "Sichtbarkeit_Händler");
if (sichtbarkeitAttr) {
sichtbarkeitAttr.Wert = "false";
} else {
artikel.Attribute.push({ Name: "Sichtbarkeit_Händler", Wert: "false" });
}
} else {
// Setze das Attribut Sichtbarkeit_Händler auf true
var sichtbarkeitAttr = artikel.Attribute.find(attr => attr.Name === "Sichtbarkeit_Händler");
if (sichtbarkeitAttr) {
sichtbarkeitAttr.Wert = "true";
} else {
artikel.Attribute.push({ Name: "Sichtbarkeit_Händler", Wert: "true" });
}
}
Ich habe hierfür auch Attribute bei den Produkten gesetzt ,,Mindestabnahme" und ,,Sichtbarkeit"
Ich möchte das ein Händler einen Artikel nicht mehr sehen kann, wenn der Bestand ,,Verfügbarkeit" kleiner als eine VE ist (Mindestabnahme bzw abnahmeintervall)
Die letzten Stunden habe ich versucht mit dem Worker und ChatGBT hierfür eine Lösung zu finden. Attribute usw setzen und dann ein Skript über den Worker laufen lassen.
Leider hatte ich bis Dato absolut keinen Erfolg.
Hier die Maßnahmen von ChatGBT:
Schritt 1: Workflow zur Verwaltung der Sichtbarkeit basierend auf Verfügbarkeit
- Workflow erstellen:
- Öffne JTL-Wawi und gehe zu Admin > Workflows.
- Klicke auf Neuen Workflow hinzufügen.
- Wähle Artikel als Kategorie und benenne den Workflow z.B. "Sichtbarkeit für Händler basierend auf Verfügbarkeit".
- Bedingungen definieren:
- Bedingung hinzufügen:
- Wähle Verfügbarkeit (alle Lager) und setze die Bedingung auf ungleich 0.
- Bedingung hinzufügen:
- Skript hinzufügen:
- Klicke auf Aktion hinzufügen.
- Wähle Skript ausführen.
Beispiel-Skript:
Hier ist ein überarbeitetes Skript, das sicherstellt, dass die Attribute korrekt gesetzt und die Sichtbarkeit basierend auf der Verfügbarkeit angepasst wird:// Mindestabnahmemenge aus den Artikelattributen abrufen
var mindestAbnahmeAttr = artikel.Attribute.find(attr => attr.Name === "Mindestabnahmemenge");
var mindestAbnahme = mindestAbnahmeAttr ? parseInt(mindestAbnahmeAttr.Wert, 10) : 0;
// Überprüfe die Verfügbarkeit
var verfuegbarkeit = artikel.VerfuegbarkeitGesamt;
// Sichtbarkeit ändern basierend auf Verfügbarkeit
if (verfuegbarkeit < mindestAbnahme) {
// Setze das Attribut Sichtbarkeit_Händler auf false
var sichtbarkeitAttr = artikel.Attribute.find(attr => attr.Name === "Sichtbarkeit_Händler");
if (sichtbarkeitAttr) {
sichtbarkeitAttr.Wert = "false";
} else {
artikel.Attribute.push({ Name: "Sichtbarkeit_Händler", Wert: "false" });
}
} else {
// Setze das Attribut Sichtbarkeit_Händler auf true
var sichtbarkeitAttr = artikel.Attribute.find(attr => attr.Name === "Sichtbarkeit_Händler");
if (sichtbarkeitAttr) {
sichtbarkeitAttr.Wert = "true";
} else {
artikel.Attribute.push({ Name: "Sichtbarkeit_Händler", Wert: "true" });
}
}
Schritt 2: Workflow zur Anpassung der Sichtbarkeit
- Neuen Workflow erstellen:
- Erstelle einen weiteren Workflow, um die tatsächliche Sichtbarkeit basierend auf dem Attribut zu ändern.
- Bedingungen und Aktionen definieren:
- Erste Bedingung hinzufügen:
- Wähle Attribut > Sichtbarkeit_Händler und setze die Bedingung auf true.
- Erste Aktion hinzufügen:
- Klicke auf Aktion hinzufügen und wähle Sichtbarkeit ändern.
- Setze die Sichtbarkeit für die Kundengruppe Händler auf sichtbar.
- Zweite Bedingung hinzufügen:
- Wähle Attribut > Sichtbarkeit_Händler und setze die Bedingung auf false.
- Zweite Aktion hinzufügen:
- Klicke auf Aktion hinzufügen und wähle Sichtbarkeit ändern.
- Setze die Sichtbarkeit für die Kundengruppe Händler auf unsichtbar.
- Erste Bedingung hinzufügen:
Testen und Verifizieren
- Artikel testen:
- Ändere die Verfügbarkeit eines Artikels (z.B. durch Testbestellungen oder Lagerbewegungen) und überprüfe, ob das Attribut Sichtbarkeit_Händler entsprechend gesetzt wird.
- Stelle sicher, dass der zweite Workflow die Sichtbarkeit des Artikels für die Händlergruppe korrekt ändert.
Ich habe hierfür auch Attribute bei den Produkten gesetzt ,,Mindestabnahme" und ,,Sichtbarkeit"