In Diskussion Workflow Bedingung Reserviert = Zulauf

Micmac

Sehr aktives Mitglied
12. Februar 2016
319
53
Hallo,
vielleicht gibt es schon einen passenden Eintrag, wir sehen aber den Wald vor lauter Bäumen nicht.

Gibt es die Möglichkeit, eine Bedingung in einem Workflow für Aufträge zu definieren, die lautet: Menge Reserviert = Menge Zulauf?
Der WF soll eine Email senden wenn die Anzahl reserviert / Überverkäufe = dem Zulauf ist.

Wie definiert man so eine Bedingung am Besten?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.551
776
Flensburg
Hallo @Micmac,

das gibt es grundsätzlich. Wenn Du eine Bedingung definieren möchtest, gibt es über dem Variablenbaum ein Feld, in das Du einen Suchbegriff eingeben kannst, wie bspw. "verfügbar" und "zulauf". Da findest Du dann Deine Variablen. Du kannst nur nicht beide direkt miteinander vergleichen. Dazu müsstest Du eine Erweiterte Eigenschaft anlegen. Dort kannst Du diese Variablen auch miteinander vergleichen.

Weiterer Punkt: Die Verfügbarkeit kann sich durch jede Form von Lagerbestandsänderung in beide Richtungen und auch bei Auftragsanlage und -stornierung ändern. Wenn Du da sicher gehen möchtest, müsstest Du unter Artikel - Manuell einen solchen Workflow anlegen und diesen von mehreren automatischen Workflows aufrufen.
 

Micmac

Sehr aktives Mitglied
12. Februar 2016
319
53
Ok, danke. Das mit dem Suchfeld hätte man auch selbst sehen können :)

Wie genau vergleiche ich zwei Erweiterte Eigenschaften? Mach ich das in einer Formel, also eine Eigenschaft?

{{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.BestandReserviert }} = Zulauf (Variable finde ich nicht bei den erweiterten Eigenschaften)

Rückgabetyp: Zahl?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.551
776
Flensburg
Nehmen wir an, Du legst korrekterweise bei Auftrag - Erstellt, Auftrag - Geändert, Auftrag - Gelöscht und Auftrag - Storniert je einen automatischen Workflow an (jedes dieser Ereignisse kann ja Auswirkungen auf den verfügbaren Bestand haben), dann besitzen diese Workflows keine Bedingungen, sondern nur die Workflow-Aktion "Workflow-Ereignis auslösen", und da wählst Du den manuellen Artikel-Workflow. Nur letzterer hat die Bedingung.

Die Bedingung der Erweiterten Eigenschaft könnte dann lauten:

Code:
{% if Vorgang.Bestandsübersicht.Verfügbar <= Vorgang.Bestandsübersicht.Zulauf -%}True{% else -%}False{% endif -%}

Rückgabetyp wäre "Boolean".

Ich habe übrigens <= anstatt = genommen, weil das alle Fälle abdeckt, nicht nur den, dass exakt getroffen wird, sondern auch dass es auf einmal drüber liegt. Aber das kannst Du handhaben, wie es Dir beliebt. :)

EDIT: <= dürfte richtigerererer sein.
 

frankell

Sehr aktives Mitglied
9. September 2019
2.551
776
Flensburg
Alternativ kannst Du Dich auch ausschließlich auf einen Auftrag beziehen. Dann müsste in der Erweiterten Bedingung durch alle Auftragspositionen iteriert werden.
 

Micmac

Sehr aktives Mitglied
12. Februar 2016
319
53
Ok, erst einmal vielen Dank für die Hilfe.

Ich krieg es noch nicht hin - also:

Unter Auftrag - Manuell lege ich ein Ereignis an. Darunter einen Workflow.
Ich erstelle unter Bedingungen eine Erweiterte Eigenschaft, in die kommt die Formel?
Diese Erweiterte Eigenschaft setzte ich -> Gleich -> Wahr ?
Unter Aktionen wähle ich Email senden...usw...

Kann es ein, dass die Bedinung nicht greift, weil bei Überverkäufen der Wert für Verfügbar ins Minus läuft (Verfügbar= -4)?

Die Bedingung soll sein: Zulauf <= Reserviert
 

Micmac

Sehr aktives Mitglied
12. Februar 2016
319
53
Das es nicht soo oft vorkommt, dass ein Auftrag rein kommt, der einen Artikel enthält der überverkauft werden darf, lassen wir uns nun einfach immer eine Email senden, wenn ein Auftrag einen Artikel enthält, der Überverkäufe hat.

In der Email sehen wir dann Artikelbestände, Zulauf, Anmerkung.

Das geht auch
 

frankell

Sehr aktives Mitglied
9. September 2019
2.551
776
Flensburg
Hier noch, wie Du die Erweiterte Eigenschaft für einen Auftrag stricken könntest:

Code:
{% assign Ergebnis = '' -%}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.ArtikelPositionen -%}
{% capture query -%}
SELECT
    CASE WHEN fZulauf <= fInAuftraegen THEN '1' ELSE '0' END
FROM
    tlagerbestand
WHERE
    kArtikel = {{ Artikelbeschreibungen.InterneArtikelnummer }}
{% endcapture -%}
{% assign result = query | DirectQueryScalar -%}
{% assign Ergebnis = Ergebnis | Append: result -%}
{% endfor -%}
{{ Ergebnis }}

Ausgabetyp ist "Text", und als Bedingung wäre es: Erweiterte Eigenschaft - Enthält - 1

Der Code iteriert durch alle Artikelpositionen des Auftrags und schreibt immer dann eine 1, wenn fZulauf <= fInAuftraegen ist, sonst eine 0.

Aber mal so ne Frage: Ist es nicht eigentlich zu spät, wenn man eine Bestellung erhält, dann erst zu prüfen, ob diese auch tatsächlich durch eine entsprechende Lieferantenbestellung gedeckt ist?
 
  • Gefällt mir
Reaktionen: Micmac

Micmac

Sehr aktives Mitglied
12. Februar 2016
319
53
Nochmal Danke für die Antwort.

"Aber mal so ne Frage: Ist es nicht eigentlich zu spät, wenn man eine Bestellung erhält, dann erst zu prüfen, ob diese auch tatsächlich durch eine entsprechende Lieferantenbestellung gedeckt ist?"

Jein - In unserem Fall geht es um Vorbestellungen. D.h. wir haben Artikel, die erst in 2- 3 Monaten erscheinen werden, also noch nicht verfügbar sind, aber schon "reserviert/vorbestellt" werden können. Ein gewisses Kontigent dieser Artikel ist beim Lieferanten bestellt.
Jetzt wollen wir natürlich wissen, wie viele dieser Artikel wir schon verkauft haben um dann das Kontigent evtl. beim Lieferanten zu erhöhen bzw. die Überverkauf-Möglichkeit in unserem Shop zu beenden.
Da es nicht so viele Vorbestellungen pro Woche sind, haben wir eigentlich einen ganz guten Überblick. Eine zusätzliche Benachrichtigung, wenn das Kontingent aufgebraucht ist, wäre nur eine weitere Sicherheitsmaßnahme.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Workflow - Bedingung Lieferstatus User helfen Usern - Fragen zu JTL-Wawi 4
Neu Workflow Ereignis "Position hinzufügen" bei Angebote User helfen Usern - Fragen zu JTL-Wawi 0
Workflow: Artikel geändert -> bat-script ausführen JTL-Wawi 1.11 2
Neu Workflow funktioniert nicht so wie gewollt :) User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Workflow Abweichung Preise > Emailreport JTL-Workflows - Ideen, Lob und Kritik 3
Neu Workflow Auslöser: Artikel gelöscht User helfen Usern - Fragen zu JTL-Wawi 0
Neu Mahnwesen per Workflow automatisieren User helfen Usern 0
Neu Ebay-Artikelimport triggert Workflow "Artikel geändert" nicht JTL-Wawi - Fehler und Bugs 0
Neu Workflow Überfällige Mahnung an Inkassoanwalt übergeben JTL-Workflows - Ideen, Lob und Kritik 0
JTL Workflow - Email addresse von Rechnungsadresse JTL-Wawi 1.9 5
Neu JTL REST API einen Workflow ausführen und benutzerspezifischen Drucker ansteuern User helfen Usern 0
Neu Retouren Variablen in Workflow für Rechnungskorrektur Wert & Korrekturbetrag JTL-Workflows - Ideen, Lob und Kritik 0
Neu JTL-Wawi 1.11.5: Sequenzieller Kundenexport mit Workflow und SQL-Queue Schnittstellen Import / Export 2
Workflow Druckvorlage personalisierte Artikel JTL-Wawi 1.11 2
Seit dem Update auf JTL Wawi 1.11.4 funktioniert der Workflow "Datei Schreiben" nicht JTL-Wawi 1.11 1
Workflow - Werte setzen JTL-Wawi 1.11 0
Seit Update auf 1.11.4 Workflow für Kartonauswahl gibt error JTL Das Objekt mit Nullwert muss einen Wert haben. BrowsePk: 152325 WorkflowAktionId: 155 JTL-Wawi 1.11 1
Neu Workflow Artkel bereits bestellt Arbeitsabläufe in JTL-Wawi 1
Neu Workflow bei Zahlungseingang User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow LandISO User helfen Usern - Fragen zu JTL-Wawi 3
Neu Artikel nach Storno weiterhin reserviert User helfen Usern - Fragen zu JTL-Wawi 2
Neu Gespeicherter Warenkorb - bleiben die Artikel reserviert? Betrieb / Pflege von JTL-Shop 2

Ähnliche Themen