Neu Workflow - Oberkategorie prüfen

Ahok

Aktives Mitglied
11. September 2023
170
8
Wie kann ich prüfen, ob ein Artikel eine bestimmte Oberkategorie hat, egal auf welcher Ebene über ihm? Ich könnte bisher nur auf die nächste Oberkategorie prüfen, aber nicht auf die Oberkategorie der Oberkategorie usw.
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
601
193
Da es hier um Workflows geht hab ich hier zumindest einen Ansatz, wie genau das verbaut werden soll weiß ich ja nicht. Über eine erweiterte Eigenschaft könnt ihr die IDs aller Kategorien abfragen, die ein Artikel in seinem "Kategoriepfad" hat (oder Pfaden).
Mit etwas aufwand könnte man das auch in die Bezeichnungen umwandeln aber IDs sind eh besser, da mehrere Kategorien den gleichen Namen haben könnten.

All diese IDs geben wir dann zurück, und fragen im Workflow ab ob die ID der Kategorie, welche wir nun prüfen wollen, dort enthalten ist.

Hier der Code für die erweiterte Eigenschaft:

Code:
{% capture Kategoriepfade -%}
declare @IDs varchar(500)
set @IDs = ''
select @IDs = @IDs + '|' + vKategorien.Sort
from tkategorieartikel
join vKategorien on tkategorieartikel.kKategorie = vKategorien.kKategorie
where kArtikel = {{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }}
select @IDs = @IDs + '|'
select @IDs
{% endcapture -%}
{% assign IDs = Kategoriepfade | DirectQueryScalar -%}
{{ IDs }}

Als Beispiel, die Kategorien sind:
Shop -> Auto -> Reinigung -> Scheiben
Shop -> Auto -> Zubehör -> Scheibenreiniger


Die IDs in der Datenbank lauten:
Shop = 1
Auto = 2
Reinigung = 3
Scheiben = 4
Zubehör = 5
Scheibenreiniger = 6

Die Rückgabe im Workflow sieht dann z.B. so aus:

|1|2|3|4|1|2|5|6|


Weil du nun wissen willst ob dein Fensterreiniger unterhalb der Auto Kategorie liegt (warum auch immer) fragst du im Workflow ab ob die Rückgabe den Wert |2| enthält.
Die ID einer Kategorie bekommt man in JTL angezeigt wenn man die Kategorie öffnet, heißt dort "interner Schlüssel".

Vielleicht hilft das.
 

Tomka

Aktives Mitglied
10. Mai 2022
44
7
Da es hier um Workflows geht hab ich hier zumindest einen Ansatz, wie genau das verbaut werden soll weiß ich ja nicht. Über eine erweiterte Eigenschaft könnt ihr die IDs aller Kategorien abfragen, die ein Artikel in seinem "Kategoriepfad" hat (oder Pfaden).
Mit etwas aufwand könnte man das auch in die Bezeichnungen umwandeln aber IDs sind eh besser, da mehrere Kategorien den gleichen Namen haben könnten.

All diese IDs geben wir dann zurück, und fragen im Workflow ab ob die ID der Kategorie, welche wir nun prüfen wollen, dort enthalten ist.

Hier der Code für die erweiterte Eigenschaft:

Code:
{% capture Kategoriepfade -%}
declare @IDs varchar(500)
set @IDs = ''
select @IDs = @IDs + '|' + vKategorien.Sort
from tkategorieartikel
join vKategorien on tkategorieartikel.kKategorie = vKategorien.kKategorie
where kArtikel = {{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }}
select @IDs = @IDs + '|'
select @IDs
{% endcapture -%}
{% assign IDs = Kategoriepfade | DirectQueryScalar -%}
{{ IDs }}

Als Beispiel, die Kategorien sind:
Shop -> Auto -> Reinigung -> Scheiben
Shop -> Auto -> Zubehör -> Scheibenreiniger


Die IDs in der Datenbank lauten:
Shop = 1
Auto = 2
Reinigung = 3
Scheiben = 4
Zubehör = 5
Scheibenreiniger = 6

Die Rückgabe im Workflow sieht dann z.B. so aus:

|1|2|3|4|1|2|5|6|

Weil du nun wissen willst ob dein Fensterreiniger unterhalb der Auto Kategorie liegt (warum auch immer) fragst du im Workflow ab ob die Rückgabe den Wert |2| enthält.
Die ID einer Kategorie bekommt man in JTL angezeigt wenn man die Kategorie öffnet, heißt dort "interner Schlüssel".

Vielleicht hilft das.
Hey vielen Dank,

Das ist schon mal ein Ansatz den ich mal weiter verfolgen kann.

Hintergrund ist folgender, ich muss den Kategorien eine eigene ID verpassen. Und wenn ich dort ein Produkt platziere, möchte ich gerne per Workflow die category ID dem Produkt zu weisen.

Die Lösung wäre einfach, wenn nur eine Kategorie zugewiesen wäre, dann würde die Variable erstes Objekt greifen.

Nur leider habe ich mehrere, je nach Shop unterschiedliche Zuweisung.

Warum per Workflow, nun da der Workflow noch weitere Anweisung verarbeitet und sowieso manuell angestoßen werden muss.

Parallel lasse ich vom Dienstleister eine SQL Abfrage prüfen. Persönlich wäre mir aktuell die Workflow Variante lieber.

Ich weiß es geht auch manuell Mit der Ameise, aber da müsste ich Kategorie für Kategorie Import/Export starten.

Gruß Tomka
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
7.214
1.950
Berlin
Ich habe es so verstanden, das er die Oberkategorie haben möchte, also wenn ein Artikel in der dritten Ebene liegt, das er dann wissen möchte was die erste Ebene davon ist?
wenn ich das richtig verstanden habe wäre dein Workflow nicht passend, da der nur schaut in welcher Kategorie der Artikel letztendlich liegt, es würde also in meinem Beschriebenen Fall nur die dritte Ebene angezeigt werden.
 

Tomka

Aktives Mitglied
10. Mai 2022
44
7
Genau für mich ist die letzte Kategorie entscheidend,

Shop -> Auto -> Reinigung -> Scheiben

Nach diesem Beispiel, müsste ich Scheiben herauskriegen. Bei einzelnen Eintrag ist das ja kein Problem. schwierig stellt sich wenn mehrere Pfade hinterlegt sind.
 

Tomka

Aktives Mitglied
10. Mai 2022
44
7
Ich probiere es trotzdem mal aus, dass könnte ich für ein anderes Problem gebrauchen :) und vllt. hilft es ja jemand anderem :)
 

kelvin.

Gut bekanntes Mitglied
15. Februar 2023
164
62
Frankfurt
Die Kategorie ist nach der Datenstruktur ein Baum.
Dann müsste es rekursiv möglich sein, sowohl die Wurzel als auch die Blätter zu erreichen.

Das einzige Herausforderung, was ich derzeit sehe ist, dass ein Artikel in mehreren Kategorien sein, also auch in Kategorien, die sich nicht überschneiden. Da müsste man zusätzlich Abfragen.
 

Tomka

Aktives Mitglied
10. Mai 2022
44
7
Hallo Kelvin,

danke für die Antwort. Aus Zeitgründen habe ich am WE dies an einen externen Dienstleister übergeben der uns 2 SQL Abfragen für die Ameise programmiert hat, funktioniert für unsere Zwecke wunderbar.

Gruß Tomka
 
Ähnliche Themen
Titel Forum Antworten Datum
Workflow FollowUP Angebot JTL-Wawi 1.9 0
Neu E-Mail Vorlage Versandbestätigung per Workflow ausführen, wie? JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Brauche Hilfe bei Bestand Email Workflow JTL-Workflows - Ideen, Lob und Kritik 14
In Diskussion Workflow besteht alle Test wird nur nicht ausgeführt JTL-Workflows - Fehler und Bugs 23
Verwiesen an Support Workflow artikel_erstellt wird bei LagerUmbuchung ausgelöst. JTL-Workflows - Fehler und Bugs 1
Neu Workflow Hilfe gesucht, Ersetzten eines Textes User helfen Usern - Fragen zu JTL-Wawi 4
Neu Workflow und Version für Vorhaben Starten mit JTL: Projektabwicklung & Migration 2
Neu Workflow erstellen, einen Wert aus den Stammdaten kopieren in einen anderen User helfen Usern - Fragen zu JTL-Wawi 8
Neu Workflow Auftragssplit bei DHL Export Sendungen mit mehreren Paketen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Artikelnummer durch Lieferantennummer ersetzen User helfen Usern - Fragen zu JTL-Wawi 6
Neu Log bei Workflow Fehler JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Rechnungsentwurf per Workflow? JTL-Workflows - Ideen, Lob und Kritik 7
Neu Workflow Fehler User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow der prüft, ob eine Bestellung komplett aus einem bestimmten Lager lieferbar ist. User helfen Usern - Fragen zu JTL-Wawi 7
Neu Custum Workflow - Syntax JTL-Workflows - Ideen, Lob und Kritik 0
In Diskussion Keine Auslieferung nach Zahlungsartänderung über Workflow JTL-Workflows - Fehler und Bugs 4
Zahlungsmodul Workflow JTL-Wawi 1.9 14
Neu Workflow: Mail bei Notiz in Auftrags-Historie User helfen Usern - Fragen zu JTL-Wawi 1
Beantwortet Manueller Workflow lässt sich nicht anlegen (V 1.9.5.2) JTL-Workflows - Fehler und Bugs 13
Neu Hilfe bei Workflow - falsche Steuernummer bei Amazon hinterlegt User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Workflow Freiposition JTL-Workflows - Fehler und Bugs 1
In Diskussion Workflow für Liefertag Wareneingang? JTL-Workflows - Ideen, Lob und Kritik 2
Neu Workflow - Wert "Netto-EK" im Auftrag auf 0,00 € setzen für eine bestimmte Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow mit verfügbarem Bestand User helfen Usern - Fragen zu JTL-Wawi 4
Von Workflow lokal gespeicherte Datei direkt wieder löschen lassen JTL-Wawi 1.8 1
Neu Per WMS Workflow API Call ausführen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
In Diskussion Fragen zur Rechnungserstellung via Workflow JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Manueller Workflow zeitgestuert JTL-Workflows - Ideen, Lob und Kritik 20
Neu Workflow Adresse prüfen auf deutsche Kunden eingrenzen Gelöste Themen in diesem Bereich 6
Neu Brauche Hilfe bei einen Workflow in Sachen Versand Eigene Übersichten in der JTL-Wawi 6
Neu Permanenten Excel-Log über Workflow führen User helfen Usern - Fragen zu JTL-Wawi 2
Workflow DotLiquid: KomplettLieferbarAusLager zeigt FFN Lager an obwohl nicht komplett lieferbar aus diesem Lager JTL-Wawi 1.9 1
In Diskussion Workflow für eBays neues "Kaufabbruch"-Feature JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Workflow zum Drucken von Shipping Labels JTL-Workflows - Ideen, Lob und Kritik 3
Neu Workflow für Warenpost nur wenn bestimmte Artikel in Bestellung User helfen Usern - Fragen zu JTL-Wawi 1
Workflow - Vorbestellung ausschließen von Storno JTL-Wawi 1.9 1
Neu Manueller Workflow/ automatischer Workflow Gelöste Themen in diesem Bereich 8
Rechnungsadresse Email Workflow Bedingungen für Rechnung erstellt fehlt JTL-Wawi 1.8 0
In Diskussion Flexible Eingabemaske um Werte/ Parameter an Workflow zu übergeben JTL-Workflows - Ideen, Lob und Kritik 5
In Diskussion Idee für Workflow - Lagerbewertung zum Monatsende an das Steuerbüro JTL-Workflows - Ideen, Lob und Kritik 3
Neu Benutzer konnte nicht geprüft werden. Bitte prüfen Sie ihre Verbindungseinstellungen. User helfen Usern - Fragen zu JTL-Wawi 2

Ähnliche Themen