Gelöst Workflow Preisänderung

Simone_die_Echte

Sehr aktives Mitglied
10. April 2014
1.302
370
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.508
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.508
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.508
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.302
370
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
Neu Manuelles Workflow Ereignis auslösen User helfen Usern - Fragen zu JTL-Wawi 20
Neu Workflow - SQL - Frage zur DATEADD()-Funktion User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow: Alle Besteller über neues Erscheinungsdatum informieren JTL-Workflows - Ideen, Lob und Kritik 0
Neu Fehlermeldungen ausgeben in Workflow Mail? User helfen Usern - Fragen zu JTL-Wawi 0
Verwiesen an Servicepartner Workflow für Einkaufsliste User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL-Shop oder Workflow: Artikel mit Menge > 1 sollen trotzdem als separate Einzelartikel im Auftrag aufgeführt werden User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow - Stücklisten im Auftrag abfragen und korrekt in einer Mail auflisten User helfen Usern - Fragen zu JTL-Wawi 1
Workflow = Gewinn unter 30 % vom netto = per Mail informiert JTL-Wawi 1.6 10
Verwiesen an Support BUG: Mahnlauf über Workflow ignoriert Zahlungsziel JTL-Workflows - Fehler und Bugs 3
Neu Wie gebrauchte Waren bei Ebay einstellen? Workflow User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow - Mobile App Neukunden identifizieren User helfen Usern - Fragen zu JTL-Wawi 4
Neu Workflow - Stücklistenartikel abfragen User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow - Positionen an Dropshipping-Lieferant mailen. Warum funktioniert dieser Code nicht? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow bei Login in WMS / WAWI starten User helfen Usern - Fragen zu JTL-Wawi 10
Neu Workflow - als Bedingung Standard-Dropshipping-Lieferantenname prüfen Gelöste Themen in diesem Bereich 5
Nach Aufruf von Stored Procedure 'Kunde.spKundeUpdate' schwere Fehler in JTL (z.B. Kundenliste, Workflow-Editor) JTL-Wawi 1.8 2
Neu Feldname für Workflow herausfinden User helfen Usern - Fragen zu JTL-Wawi 4
Workflow - internationaler Auftrag -> Artikelname aus Stammdaten JTL-Wawi 1.7 1
JTL Mahnwesen Workflow- Email nach 30 Tagen noch nicht bezahlt. JTL-Wawi 1.8 2
Neu Workflow der bei Stücklisten: Überverkäufe de-/aktivieren User helfen Usern - Fragen zu JTL-Wawi 11
Neu Workflow Aktion E-Mail senden kann nicht Plain und HTML Email zusammen versenden Arbeitsabläufe in JTL-Wawi 6
Workflow Manuell HTML Request wie Server Antwort verarbeiten JTL-Wawi 1.7 0
Workflow Marktplätze - Otto, Kaufland, etc. JTL-Wawi 1.6 0
Workflow Artikel + Anzahl in Einkaufsliste aktualisieren JTL-Wawi 1.8 0
Neu Workflow Web-Request Post für mollie Arbeitsabläufe in JTL-Wawi 6
Workflow MwSt.-Sätze ersetzen 0% -> 19% ändert netto in Positionen aber nicht in der Auftragssumme JTL-Wawi 1.7 2
Neu API Integration via Workflow Arbeitsabläufe in JTL-Wawi 10
In Diskussion Automatische Zuweisung der Kategorien für Artikel durch Workflow JTL-Workflows - Ideen, Lob und Kritik 3
In Bearbeitung Workflow offene Aufträge zusammenfassen bei ausgelieferten JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow-Auswahl ... mit ins Kontext-Menü aufnehmen (rechten Maustaste) JTL-Wawi - Ideen, Lob und Kritik 2
Neu Benachrichtigung per Workflow bei Wareneingang User helfen Usern - Fragen zu JTL-Wawi 24
Workflow für Artikel versandklassen JTL-Wawi 1.7 1
Gelöst Per Workflow im Servicedesk eine Mail versenden. Gelöste Themen in diesem Bereich 4
Workflow für Versandart Wenn/Und JTL-Wawi 1.7 0
Workflow für Amazon Zahlart erstellen JTL-Wawi 1.7 0
In Diskussion Workflow von Stornobelege Rechnung JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Auftraqspositionen per Email an Kunden senden JTL-Wawi 1.7 3
Gelöst Servicedesk Workflow Datei erstellen um einen Auftrag zu ändern Gelöste Themen in diesem Bereich 1
Neu Workflow mit Freipositionen in Email Gelöste Themen in diesem Bereich 3
Neu Workflow > Rechnungen > Label Setzen ? (1.8.11) User helfen Usern - Fragen zu JTL-Wawi 6
Neu Workflow Ereignis auslösen wenn alle Bedingungen erfüllt sind. Sonst anderes Ereignis auslösen. JTL-Wawi - Ideen, Lob und Kritik 0
Beantwortet Kunde von Firma per Workflow setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Workflow für Rechnung gesucht Arbeitsabläufe in JTL-Wawi 1
Workflow - Debitorennummer JTL-Wawi 1.8 4
In Diskussion Workflow - Artikelmerkmale setzen? JTL-Workflows - Ideen, Lob und Kritik 2
Workflow: Mahnungen - Fehler JTL-Wawi 1.8 5
Neu Workflow Lieferantenartikel-Nummer vor Artikelname setzen JTL-Wawi 1.7 1
In Diskussion Workflow wenn offene Rechnungen, dann weitere offene Aufträge sperren und im Kundensatz Sperrung setzten. JTL-Workflows - Ideen, Lob und Kritik 0
Workflow für Kaufland greift nicht mehr 1.8.11.0 kaufland.de - Anbindung (SCX) 5
Neu Warenkorb Hinweise bei Bestandsänderung und Preisänderung Allgemeine Fragen zu JTL-Shop 2

Ähnliche Themen