Gelöst Workflow Preisänderung

Simone_die_Echte

Sehr aktives Mitglied
10. April 2014
1.340
387
Ich möchte einen Workflow erstellen, der mir Bescheid gibt (einfach ne mail), wenn der Std-Vk bei einem Artikel geändert wurde zu dem es kundenspezifische Preise gibt.
1. Bedingung: Std-VK wurde geändert
2. Bedingung: es existiert ein kundenspezifischer VK

Kundenspezifische Preise sind bei uns nicht sooo häufig - ich finde es aber müßig, bei jeder Preisänderung erst in den Reiter "Kunden" zu klicken um dann festzustellen, dass der gerade geänderte Artikel nicht betroffen ist. Andererseits wäre es ziemlich blöd, wenn ich das mal bei einem betroffenen Artikel vergesse...

Hat jemand einen Tipp für mich?
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.514
Hallo @Simone_die_Echte
Also es gäb eine Möglichkeit, die ist aber ein wenig aufwändiger. :)

Zum einen müsste per Ameise ein Export der Artikel inkl. VK gemacht werden.
Dann ein Import der jeweiligen Preise in ein eigenes Feld. (Beispielsweise in der Gruppe "Workflows" mit dem Namen "aktueller Vk")

Im Anschluss ein Workflow bei Artikel geändert mit einer Prüfung folgender erweiterten Eigenschaft auf "ungleich 0":
Code:
{% assign aktuellerVK = Vorgang.EigeneFelder.Workflows.aktuellerVK | FormatNumber: 'N2', 'de-DE' -%}
{% assign neuerVK = Vorgang.Allgemein.PreiseEinheiten.VK-Netto | FormatNumber: 'N2', 'de-DE' -%}
{% if aktuellerVK == neuerVK-%}
0
{% else -%}
{% capture query -%}
SELECT COUNT(*) FROM tPreis WHERE kKunde > 0 AND kArtikel = {{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }}
{% endcapture -%}
{{ query | DirectQueryScalar }}
{% endif %}

Als Aktion muss dann der aktuelleVK wieder in die eigenen Felder geschrieben werden und zusätzlich kann ein Pop-Up oder eine Mail generiert werden.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Hallo @argy,

der Weg, den Du oben beschreibst, ist natürlich der Einzig wirklich funktionierende Weg, denn in dem Moment, in dem der Workflow aufgerufen wird, IST der Preis ja schon geändert und man kann schlicht nicht mehr auf eine Änderung prüfen. Soweit einwandfrei und cool gemacht, aber natürlich ist das schon ein ziemlicher Aufwand, den man hier betreiben muß ... :(

Man könnte auch Abkürzungen nehmen, wenn man z.B. sicher erkennen könnte, dass der Artikel sagen wir mal "Heute" oder "Gerade eben" UND mit Sicherheit von der Ameise geändert wurden. Für beides gibt es in der Tabelle tArtikel sogar Felder, Datum/Uhrzeit der letzten Änderung in dMod und der Benutzer der letzten Änderung in kBenutzerLetzteAenderung.

Es wäre also eigentlich schon alles vorhanden, aber blöderweise ist der Benutzereintrag bei einer Änderung der Daten durch die Ameise nicht klar zuzuordnen, denn bei Änderungen durch die Ameise wird im Feld kBenutzerLetzteAenderung der Benutzer 1, also "admin" eingetragen.

Feature-Vorschlag: Ich möchte deshalb die Gelegenheit nutzen, gleich hier vorzuschlagen, dass die Ameise in der Wawi in Zukunft als Benutzer 0 geführt wird, denn dann kann man immer 100%ig sagen, dass die Änderung am Artikel von der Ameise gemacht wurde und das ist zusammen mit dem Änderungsdatum mit Sicherheit in den meisten Fällen eindeutig genug, um solche Abfragen sauber zu definieren.

Simone's Problem ließe sich damit zum Beispiel so lösen, dass sie nach einem Ameiselauf einfach einen manuellen Workflow startet, der per SQL Query alle Artikel zurückliefert, die in den letzten nn Minuten (oder "Heute"...) von der Ameise geändert wurden und die auch noch kundenspezifische Preise haben. Das wird von der Query dann gleich fertig als Text für die Email zurückgeliefert, verschickt und fertig ist die Laube. Als Blaupause dafür könnte dann z.B. das hier fungieren.

Viele Grüße,
Ingmar
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.514
Guten Morgen @gutberle
Ich hatte auch gehofft, dass es eine einfachere Lösung gibt ohne große Umwege.
Wobei ja noch die Frage ist wie die Änderung durchgeführt wurde. ( Ameise, händisch oder per Preiskalkulation)

Bezüglich deines Vorschlages lege ich gern ein Ticket an ( WAWI-19721) welches dann wieder hier https://issues.jtl-software.de/ nachvollzogen werden kann.
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Moin Simone,

ich hab mir die Datenbank noch einmal auf Lösungsmöglichkeiten hin angeschaut und auch wenn ich bei meinem Featurevorschlag von oben (danke @argy) bleibe, habe ich jetzt doch alle Versatzstücke gefunden, um mit eine bißchem SQL Gefummele eine ziemliche Näherung zur optimalen Lösung hinzubekommen.

Ich stelle Dir jetzt mal gleich zwei Workflows vor, erst einen der automatisch ausgelöst wird, wenn ein Artikel geändert wurde (eigentlich eher "auf Speichern geklickt" wurde) und dann noch einen, den Du manuell im Artikel-Bereich auslöst. Der automatisch bei einer Artikeländerung ausgelöste prüft, ob der geänderte Artikel Kundenspezifische Preise hat und falls ja, sammelt er die zugehörige Info aus der Datenbank ein und schickt sie Dir per Email.

Der manuell auszulösende Workflow, respektive die zugrundeliegende SQL Query ist im Vergleich dazu deutlich komplexer, und damit diese Antwort nicht seitenlang wird, stelle ich den dann in einem Folgebeitrag vor, jetzt also erst einmal der automatische Workflow, here we go...

AUTOMATISCHER WORKFLOW NACH ARTIKELÄNDERUNG

1. Automatischen Workflow im Bereich Artikel > Geändert anlegen.
2. Als Workflow Bedingung legst Du eine neue "Erweiterte Eigenschaft" an, mit folgendem Code
Code:
{% capture query -%}
SELECT t1.cArtNr, t2.cName, t5.cKundenNr, CASE t4.nAnzahlAb WHEN 0 THEN 1 END nAnzahlAb, t4.fNettoPreis FROM tArtikel as t1
    INNER JOIN tArtikelBeschreibung AS t2 ON t1.kArtikel=t2.kArtikel
    INNER JOIN tPreis AS t3 ON t1.kArtikel=t3.kArtikel
    INNER JOIN tPreisDetail AS t4 ON t3.kPreis=t4.kPreis
    INNER JOIN tkunde AS t5 ON t3.kKunde=t5.kKunde
    WHERE t1.kArtikel = {{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }}
        AND t2.kSprache = 1
        AND t2.kPlattform = 1
        AND t3.kKunde > 0
    ORDER BY t1.cArtNr ASC, t5.cKundenNr
{% endcapture -%}
{% assign ArtikelKDIndPreise = query | DirectQuery -%}
{% for item in ArtikelKDIndPreise.Daten -%}
{{ item.cArtNr }}   {{ item.cKundenNr}}    {{ item.nAnzahlAb }}     {{ item.fNettoPreis | FormatNumber: 'N2', 'de-DE' }} €    {{ item.cName }}
{% endfor -%}
3. Als Operator gibst Du "Ist nicht leer" an.
4. Als Workflow Aktion wählst Du "E-Mail senden", Empfänger und alles bis "Text" ist Deins und dann...
5. Bei "Text" klickst Du auf den "..." Button und gibst folgenden Code ein...
Code:
Hallo Simone,

ein am {{ Vorgang.Allgemein.Zuletzt_aktualisiert | Date:'dd.MM.yyyy' }} um {{ Vorgang.Allgemein.Zuletzt_aktualisiert | Date:'HH:mm' }} aktualisierter Artikel besitzt kundenindividuelle Preise.

ArtNr       Kd-Nr      Ab    Preis       Beschreibung
---------------------------------------------------------------------------------------------
{% capture query -%}
SELECT t1.cArtNr, t2.cName, t5.cKundenNr, CASE t4.nAnzahlAb WHEN 0 THEN 1 END nAnzahlAb, t4.fNettoPreis FROM tArtikel as t1
    INNER JOIN tArtikelBeschreibung AS t2 ON t1.kArtikel=t2.kArtikel
    INNER JOIN tPreis AS t3 ON t1.kArtikel=t3.kArtikel
    INNER JOIN tPreisDetail AS t4 ON t3.kPreis=t4.kPreis
    INNER JOIN tkunde AS t5 ON t3.kKunde=t5.kKunde
    WHERE t1.kArtikel = {{ Vorgang.Allgemein.Stammdaten.InterneArtikelnummer }}
        AND t2.kSprache = 1
        AND t2.kPlattform = 1
        AND t3.kKunde > 0
    ORDER BY t1.cArtNr ASC, t5.cKundenNr
{% endcapture -%}
{% assign ArtikelKDIndPreise = query | DirectQuery -%}
{% for item in ArtikelKDIndPreise.Daten -%}
{{ item.cArtNr }}   {{ item.cKundenNr}}    {{ item.nAnzahlAb }}     {{ item.fNettoPreis | FormatNumber: 'N2', 'de-DE' }} €    {{ item.cName }}
{% endfor -%}
---------------------------------------------------------------------------------------------

Viele Grüße,
Deine Wawi
6. Workflow vielleicht noch einmal testen und dann OK.

Die eigentliche Arbeit oben machen die INNER JOINS, die das Netz immer enger um nur noch die Artikel ziehen, die kundenspezifische Preise haben und unten im WHERE Teil wird dann nur noch auf Sprache=Deutsch und Plattform=Wawi geprüft, aber dann mit kKunde>0 auch noch die letztendliche Abfrage auf kundenspezifische Preise erledigt.

Wenn ein Artikel kundenspezifische Preise für mehrere Kunden hat, werden Dir in der Email alle Kunden mit ihren Preisen für diesen Artikel aufgelistet, was der Workflow aber nicht kann, weil die Wawi das nicht hergibt (schönes Bild...) ist, sich nur dann aufrufen zu lassen, wenn es auch tatsächlich eine Preisänderung gegeben hat. Der Workflow wird stattdessen IMMER getriggert wenn IRGDENDETWAS am Artikel geändert wurde und sogar, wenn gar nichts geändert wurde, aber "Speichern" geklickt wurde. - Unschön, aber so ist die Realität der Wawi ... o_O

P.S. Die Formatierung oben in den Email-Texten kommt so wie sie da steht, nur rüber, wenn Dein Mailprogramm mit einem "fixed Font" wie z.B. "Courier New" arbeitet, was nich sooo wahrscheinlich ist. Falls nicht, dann könnte man das Ganze aber z.B. mit einer Umformatierung auf HTML-Emails ansprechend formatieren. - Dazu fehlt mir jetzt aber leider der Elan ... :)

Viele Grüße,
Ingmar
 
  • Gefällt mir
Reaktionen: JuergenSaenger

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
395
Moin Simone,

und hier dann noch der zweite Workflow, wie oben angekündigt ...

MANUELLER WORKFLOW NACH AMEISEN-PREISUPDATE

Wenn Du per Ameise die Preise und im Zweifel alle Preise aktualisiert hast, müssen ja die kundenspezifischen Preise aller Artikel, die welche besitzen, gefunden und aktualisiert werden. Dafür gibt es den zweiten Workflow, der manuell ausgelöst wird und dann prüft, welche Artikel vom Benutzer 1 (admin/Ameise) geändert wurden und zwar in einer von Dir festlegbaren zeitlichen Nähe zu einem Ameisenlauf mit dem "Preise/Quicksync" Importtyp. Von denen, für die das gilt, wird dann geprüft, ob sie kundenspezifische Preise haben und die werden Dir dann sortiert per Email übermittelt.

1. Im Bereich "Artikel > Manuell" erst ein neues Ereignis und darin einen neuen Workflow anlegen
2. Workflow Bedingung: Wie oben und mit folgendem Code und wieder mit "Ist nicht leer" als Operator ...
Code:
{% capture query -%}
DECLARE @ImportDauer DECIMAL(38,30) = 300
SELECT t1.cArtNr, t2.cName, t5.cKundenNr, CASE t4.nAnzahlAb WHEN 0 THEN 1 END nAnzahlAb, t4.fNettoPreis FROM tArtikel as t1
    INNER JOIN tArtikelBeschreibung AS t2 ON t1.kArtikel=t2.kArtikel
    INNER JOIN tPreis AS t3 ON t1.kArtikel=t3.kArtikel
    INNER JOIN tPreisDetail AS t4 ON t3.kPreis=t4.kPreis
    INNER JOIN tkunde AS t5 ON t3.kKunde=t5.kKunde
    WHERE t1.kBenutzerLetzteAenderung=1
        AND (t1.dMod-
            (SELECT TOP 1 dErstellt FROM ameise_importvorgang as aivor
                INNER JOIN ameise_importtyp AS aityp ON aityp.kImportTyp=aivor.kImportTyp
                WHERE aityp.kImportTyp = 13
                ORDER BY dErstellt DESC))
            BETWEEN CONCAT('1899-31-12 ',23-FLOOR(@ImportDauer/3600),':',59-FLOOR((CAST((@ImportDauer/3600) AS DECIMAL(38,30))-CAST(FLOOR(@ImportDauer/3600) AS DECIMAL(38,30)))*60),':',59-FLOOR(@ImportDauer % 60),'.999') AND '1900-01-01 00:00:00'
        AND t2.kSprache = 1
        AND t2.kPlattform = 1
        AND t3.kKunde > 0
    ORDER BY t1.cArtNr ASC, t5.cKundenNr
{% endcapture -%}
{% assign ArtikelKDIndPreise = query | DirectQuery -%}
{% for item in ArtikelKDIndPreise.Daten -%}
{{ item.cArtNr }}   {{ item.cKundenNr}}    {{ item.nAnzahlAb }}     {{ item.fNettoPreis | FormatNumber: 'N2', 'de-DE' }} €    {{ item.cName }}
{% endfor -%}

3. Workflow Aktion: Wie oben, aber mit folgendem Code in "Text"...
Code:
Hallo Simone,

hier ist die Liste der Artikel, die am {{ Vorgang.Allgemein.Zuletzt_aktualisiert | Date:'dd.MM.yyyy' }} um {{ Vorgang.Allgemein.Zuletzt_aktualisiert | Date:'HH:mm' }} aktualisiert wurden und kundenindividuelle Preise besitzen.

ArtNr       Kd-Nr      Ab    Preis       Beschreibung
---------------------------------------------------------------------------------------------
{% capture query -%}
DECLARE @ImportDauer DECIMAL(38,30) = 300
SELECT t1.cArtNr, t2.cName, t5.cKundenNr, CASE t4.nAnzahlAb WHEN 0 THEN 1 END nAnzahlAb, t4.fNettoPreis FROM tArtikel as t1
    INNER JOIN tArtikelBeschreibung AS t2 ON t1.kArtikel=t2.kArtikel
    INNER JOIN tPreis AS t3 ON t1.kArtikel=t3.kArtikel
    INNER JOIN tPreisDetail AS t4 ON t3.kPreis=t4.kPreis
    INNER JOIN tkunde AS t5 ON t3.kKunde=t5.kKunde
    WHERE t1.kBenutzerLetzteAenderung=1
        AND (t1.dMod-
            (SELECT TOP 1 dErstellt FROM ameise_importvorgang as aivor
                INNER JOIN ameise_importtyp AS aityp ON aityp.kImportTyp=aivor.kImportTyp
                WHERE aityp.kImportTyp = 13
                ORDER BY dErstellt DESC))
            BETWEEN CONCAT('1899-31-12 ',23-FLOOR(@ImportDauer/3600),':',59-FLOOR((CAST((@ImportDauer/3600) AS DECIMAL(38,30))-CAST(FLOOR(@ImportDauer/3600) AS DECIMAL(38,30)))*60),':',59-FLOOR(@ImportDauer % 60),'.999') AND '1900-01-01 00:00:00'
        AND t2.kSprache = 1
        AND t2.kPlattform = 1
        AND t3.kKunde > 0
    ORDER BY t1.cArtNr ASC, t5.cKundenNr
{% endcapture -%}
{% assign ArtikelKDIndPreise = query | DirectQuery -%}
{% for item in ArtikelKDIndPreise.Daten -%}
{{ item.cArtNr }}   {{ item.cKundenNr}}    {{ item.nAnzahlAb }}     {{ item.fNettoPreis | FormatNumber: 'N2', 'de-DE' }} €    {{ item.cName }}
{% endfor -%}
---------------------------------------------------------------------------------------------

Viele Grüße,
Deine Wawi

Das sieht jetzt schon komplexer aus, das liegt aber vor allem daran, dass ich hier möglichst viel Spezifität, aber auch möglichst viel Flexibilität einbauen wollte. Ganz oben im Code kannst Du z.B. dort, wo aktuell "300" steht, die Zeitdauer in Sekunden (!) eintragen, die ein Preisupdate bei Euch maximal dauert und dieser Wert wird dann dazu benutzt, um festzulegen ob der Zeitabstand zwischen einer Artikeländerung und dem "wahrscheinlich" zugehörigen Ameisen-Preisupdate die Annahme rechtfertigt, dass dieser Artikel im Rahmen dieses Ameisen-Preisupdates geändert wurde.

Die 300 Sekunden oben bedeuten also, wenn ein Artikel geändert wurde, diese Änderung aber mehr als 5 Minuten seit dem Ende des letzten passenden Ameisenlaufs her ist, dann gehört diese Änderung nicht mehr dazu. Der für Euch richtige Wert hängt natürlich von der Anzahl der Artikel ab, also musst Du einmal mitstoppen, wie lang ein solcher typischer Preisupdate-Durchlauf bei Euch dauert, dann gibst Du zur Sicherheit noch ein paar Minuten dazu und trägst das Ganze dann als Sekundenwert (!) oben ein, übrigens dann zwingend sowohl im Code in der Workflow Bedingung UND in der Workflow Aktion!

Innerhalb des CONCAT() Konstrukts weiter unten bastele ich dann aus dem Sekundenwert eine SQL konforme Datums/Zeitangabe für den Zeitabstandstest. Der Weg dahin ist ziemlich "durchgepfiffen" und ich habe das hier eingebaut und nicht einfach fest verdrahtet, um auch anderen hier im Forum zu zeigen, wie sowas geht und was man mit SQL in der Wawi alles an groteskem Krams anstellen kann. SQL ist wahrlich keine schöne Sprache, aber da geht was ... ;)

Die weiteren Versatzstücke hatte ich ja oben schon kurz erwähnt, nämlich dass hier nur von der Ameise im Bereich Preis-/Quicksync geänderte Artikel gesucht werden, die auch tatsächlich kundenspezifische Preise haben. Das ist schon wirklich so nahe an dem, was @argy oben geschrieben hat, wie's nur geht.

Aufgerufen wird der Workflow aus der Artikelliste heraus und es müssen auch Artikel in der Liste angezeigt werden und es muß auch einer der Artikel mit der Maus markiert sein, weil sich die manuellen Workflows nicht aufrufen lassen. Aber auch wenn ein Artikel markiert ist, werden natürlich ALLE Artikel durchsucht, es geht hier wirklich nur darum, dass die Suche ja im "Bereich Artikel" durchgeführt wird.

Viele Grüße,
Ingmar
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: _simone_

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.514
Hallo @gutberle
Da hast du ja mal wieder was schickes aus dem Ärmel gezaubert. :)
Bin ja mal gespannt für welche Variante Simone sich entscheidet oder ob es ne ganz andere Lösung wird.
 

Simone_die_Echte

Sehr aktives Mitglied
10. April 2014
1.340
387
Hallo Ingmar
Vielen lieben Dank für deinen Einsatz!
Wir haben beide Workflows übernommen und zumindest den ersten schon mal getestet.
Es sind ja nur einige wenige Artikel, die bei uns kundenspezifische Preise haben. Da kommt dann nicht alle Nase lang eine Benachrichtigungsmail.
Wie erwartet funktioniert er einwandfrei :)
In der Regel akualisiere ich die Preise händisch - aber der 2. Workflow ist zumindest schon mal angelegt.
Irgendwann sind wir wahrscheinlich glücklich, so was in petto zu haben.
Also noch mal: Danke für dein Interesse an den Problemen anderer JTL-User und deine Bereitschaft, Arbeitszeit in die Lösung ebendieser zu investieren.
 
Ä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

Ähnliche Themen