Paktisch+ zeigt möglichen versandt von zukünftig erscheinenden Artikeln

Kleinod

Mitglied
13. Dezember 2022
3
0
Hallo,

ist es möglich eine Bestellung automatisch zurückzuhalten, wenn das Erscheinungsdatum in der Zukunft liegt, auch wenn Lagerbestand vorhanden ist?

Kleine Beschreibung zu unserem Problem:
Wir haben im Shop einige Artikel, die zukünftig erscheinen, mit einem limitierten Lagerbestand so das nicht mehr verkauft werden können als wir von unserem Lieferanten bekommen.
Nun haben wir den Lagerbestand ja schon dieser Artikel erscheint aber erst in 3 Wochen und nun bestellen die Kunden und unser Paktisch zeigt diese Aufträge nun als liefer bar an was für unseren versandt nicht um bedingt günstig ist da nun immer die Aufträge durchgeschaut werden müssen ob einer dieser Artikel im Auftrag ist....

MfG Michel
 

frankell

Sehr aktives Mitglied
9. September 2019
185
143
Flensburg
Hallo,

ist es möglich eine Bestellung automatisch zurückzuhalten, wenn das Erscheinungsdatum in der Zukunft liegt, auch wenn Lagerbestand vorhanden ist?

Kleine Beschreibung zu unserem Problem:
Wir haben im Shop einige Artikel, die zukünftig erscheinen, mit einem limitierten Lagerbestand so das nicht mehr verkauft werden können als wir von unserem Lieferanten bekommen.
Nun haben wir den Lagerbestand ja schon dieser Artikel erscheint aber erst in 3 Wochen und nun bestellen die Kunden und unser Paktisch zeigt diese Aufträge nun als liefer bar an was für unseren versandt nicht um bedingt günstig ist da nun immer die Aufträge durchgeschaut werden müssen ob einer dieser Artikel im Auftrag ist....

MfG Michel
Hallo @Kleinod,
Du kannst einen Auftrags-Workflow mit bspw. diesem Feld als Bedingung setzen:
ErschDat.png
Und als Aktion dann halt Zurückhalten/Freigeben.
 

Kleinod

Mitglied
13. Dezember 2022
3
0
Hallo @frankell,

danke das funktioniert ganz gut, nur ein frage noch ist es möglich den Workflow so zu bauen, dass der Vergleichstag immer mit dem Datum von dem aktuellen Tag ist so, dass wenn das Erscheinungsdatum erreicht ist automatisch auch wieder die Aufträge freigegeben werden?

sagen wir einen Workflow, der bei erstellend er Aufträge ausgeführt wird, damit dieser ihn gegebenenfalls Sperrt, und einen der jeden Tag um 0:01 läuft, um die Aufträge wieder freizugeben?

Vielen dank schon mal für deine Hilfe, bin noch recht neu im ganzen Universum der JTL.

Gruß Michel
 

frankell

Sehr aktives Mitglied
9. September 2019
185
143
Flensburg
Hallo @frankell,

danke das funktioniert ganz gut, nur ein frage noch ist es möglich den Workflow so zu bauen, dass der Vergleichstag immer mit dem Datum von dem aktuellen Tag ist so, dass wenn das Erscheinungsdatum erreicht ist automatisch auch wieder die Aufträge freigegeben werden?

sagen wir einen Workflow, der bei erstellend er Aufträge ausgeführt wird, damit dieser ihn gegebenenfalls Sperrt, und einen der jeden Tag um 0:01 läuft, um die Aufträge wieder freizugeben?

Vielen dank schon mal für deine Hilfe, bin noch recht neu im ganzen Universum der JTL.

Gruß Michel
Das ist möglich, und zwar als Erweiterte Eigenschaft mit bspw. folgendem Code:

Code:
{% assign Morgen = Datum.Jetzt | AddDays: 1 -%}
{% assign ErschDatLatest = Morgen -%}
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen -%}
    {% assign PTyp = Artikelbeschreibungen.Positionstyp | abs -%}
    {% if PTyp == 1 -%}
        {% capture SQL -%}
        SELECT 
            CASE WHEN dErscheinungsdatum IS NOT NULL THEN CAST(dErscheinungsdatum AS DATE)
            ELSE CAST(GETDATE() AS DATE)
            END
        FROM tArtikel
        WHERE kArtikel = {{ Artikelbeschreibungen.InterneArtikelnummer }}
        {% endcapture -%}
        {% assign ErschDatArtikel = SQL | DirectQueryScalar -%}
        {% if ErschDatArtikel > ErschDatLatest -%}
            {% assign ErschDatLatest = ErschDatArtikel %}
        {% endif -%}
    {% endif -%}
{% endfor -%}
{% assign ErschDatLatest = ErschDatLatest | Datum: "yyyy-MM-dd" -%}
{% assign Morgen = Morgen | Datum: "yyyy-MM-dd" -%}
{% if ErschDatLatest >= Morgen %}true{% else -%}false{% endif -%}

Verkürzt gesagt: Dieser Code geht alle Auftragspositionen, die Artikel sind, durch und checkt, ob sie ein Erscheinungsdatum haben. Der Kalendertag des Erscheinungsdatums, das am weitesten in der Zukunft liegt, wird mit dem jeweiligen morgigen Tag verglichen. Was später als "morgen" ist, wirft "true" aus, sonst "false".

Diese Erweiterte Eigenschaft kannst Du für beide Workflows setzen. Bei dem ersten lautet die Bedingung: Erweiterte Eigenschaft XYZ Gleich Wahr. Bei dem zweiten Workflow Erweiterte Eigenschaft XYZ Gleich Falsch.