Neu Workflow erstellen, einen Wert aus den Stammdaten kopieren in einen anderen

Laura O

Gut bekanntes Mitglied
6. Juni 2020
115
15
Hallo liebe Community,
ich arbeite bisher kaum mit workflows und scheiter gerade daran einen wie ich dachte simplen workflow zu erstellen. Auch Bing Chat konnte mein Problem nicht lösen, daher hoffe ich auf euch:
Es geht darum:
Bei Änderung und/oder bei Anlage eines Kunden soll geprüft werden, ob die UstID gefüllt ist. Wenn sie gefüllt ist, soll der Wert kopiert und in das Feld Fax vom gleichen Kunden eingefügt werden.
Ersten Schritt (Bedingung) habe ich, die Prüfung ob das Feld leer ist. Beim zweiten (Aktion) scheiter ich daran, dass beim "Wert setzen" keine Kundenstammdaten zur Auswahl stehen. Daraufhin hat mir Bing Chat ein Script geschrieben, welches auch in weiteren Variationen nicht funktionert hat:
if (Kunde.UstID != "") {
Kunde.Fax = Kunde.UstID;
}

Kann mir jemand weiterhelfen? Soo schwer kann das doch garnicht sein, oder?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.234
673
Flensburg
Hallo liebe Community,
ich arbeite bisher kaum mit workflows und scheiter gerade daran einen wie ich dachte simplen workflow zu erstellen. Auch Bing Chat konnte mein Problem nicht lösen, daher hoffe ich auf euch:
Es geht darum:
Bei Änderung und/oder bei Anlage eines Kunden soll geprüft werden, ob die UstID gefüllt ist. Wenn sie gefüllt ist, soll der Wert kopiert und in das Feld Fax vom gleichen Kunden eingefügt werden.
Ersten Schritt (Bedingung) habe ich, die Prüfung ob das Feld leer ist. Beim zweiten (Aktion) scheiter ich daran, dass beim "Wert setzen" keine Kundenstammdaten zur Auswahl stehen. Daraufhin hat mir Bing Chat ein Script geschrieben, welches auch in weiteren Variationen nicht funktionert hat:


Kann mir jemand weiterhelfen? Soo schwer kann das doch garnicht sein, oder?
Hallo @Laura O,

wenn eine Aktion nicht standardmäßig angeboten wird, wie hier das Befüllen des entsprechenden Feldes, dann geht das nur über die Nutzung von SQL, bspw. über einen CustomWorkflow. Ich wie auch diverse andere hier könnten Dir einen entsprechenden Code zur Verfügung stellen. Aber es stellt sich die Frage, ob Du das möchtest. Ein Eingriff in die Datenbank ist stets eine Sache, die auf eigenes Risiko geschieht, bei der man sich also schon sicher sein sollte, dass man weiß, was man tut. Der von Dir geschilderte Use Case könnte zwar kaum harmloser sein. Und doch könnte es dazu einladen, mehr draus zu machen, wenn man erst mal Lunte gerochen hat.

Daher: Du zweckentfremdest ja offensichtlich das Feld Fax. Wäre dann nicht die Nutzung eines Eigenen Feldes besser? Dieses kannst Du ja auch mit einem "normalen" Workflow befüllen. Und die Eigenen Felder sind als Bedingung in anderen Workflows auszulesen.

Vielleicht aber auch einmal etwas grundsätzlicher: Warum nutzt Du das Feld Fax dafür? In welchem Prozess kannst Du nicht auf das Feld UStID zugreifen, obwohl Du das musst?
 

Laura O

Gut bekanntes Mitglied
6. Juni 2020
115
15
Hallo @Laura O,

wenn eine Aktion nicht standardmäßig angeboten wird, wie hier das Befüllen des entsprechenden Feldes, dann geht das nur über die Nutzung von SQL, bspw. über einen CustomWorkflow. Ich wie auch diverse andere hier könnten Dir einen entsprechenden Code zur Verfügung stellen. Aber es stellt sich die Frage, ob Du das möchtest. Ein Eingriff in die Datenbank ist stets eine Sache, die auf eigenes Risiko geschieht, bei der man sich also schon sicher sein sollte, dass man weiß, was man tut. Der von Dir geschilderte Use Case könnte zwar kaum harmloser sein. Und doch könnte es dazu einladen, mehr draus zu machen, wenn man erst mal Lunte gerochen hat.

Daher: Du zweckentfremdest ja offensichtlich das Feld Fax. Wäre dann nicht die Nutzung eines Eigenen Feldes besser? Dieses kannst Du ja auch mit einem "normalen" Workflow befüllen. Und die Eigenen Felder sind als Bedingung in anderen Workflows auszulesen.

Vielleicht aber auch einmal etwas grundsätzlicher: Warum nutzt Du das Feld Fax dafür? In welchem Prozess kannst Du nicht auf das Feld UStID zugreifen, obwohl Du das musst?
Danke für deine ausführliche Antwort. Ich bin da tatsächlich schon beim Workaround vom Workaround:
Bei der Ansicht Kunden gibt es das Feld "zuletzt geändert am" nicht. Ich brauche aber die Info, weil wir gerade unseren Kundenstamm digitalisieren und Kunden eventuell aktualisiert werden. Die Änderungen muss ich dann in ein externes Programm einspielen. Damit ich sehe, welche Kunden neu angelegt wurden/geändert wurden, trägt mein Team im Feld Fax das Datum (20241021) ein, so dass ich es chronologisch sortieren kann und fortlaufend im externen system updaten kann. Da wir nun von LS-POS auf JTL-POS umgestiegen sind, wird hier das Feld Fax bei der Eingabe der Kunden nicht mehr angezeigt. Daher war nun meine Idee das Feld UstID dafür zu missbrauchen und den Workflow einzurichten, damit ich nach meinem System weiter arbeiten kann. Denn ich kann mir im Reiter "Verkauf" nicht die UstID anzeigen lassen und sehe dann nicht, wenn das Feld vergessen wurde beim ausfüllen. Es ist nicht hübsch, aber irgendwie praktikabel... Nur bekomme ich das Feld Fax nun nicht automatisch gefüllt.
 

frankell

Sehr aktives Mitglied
9. September 2019
2.234
673
Flensburg
Danke für deine ausführliche Antwort. Ich bin da tatsächlich schon beim Workaround vom Workaround:
Bei der Ansicht Kunden gibt es das Feld "zuletzt geändert am" nicht. Ich brauche aber die Info, weil wir gerade unseren Kundenstamm digitalisieren und Kunden eventuell aktualisiert werden. Die Änderungen muss ich dann in ein externes Programm einspielen. Damit ich sehe, welche Kunden neu angelegt wurden/geändert wurden, trägt mein Team im Feld Fax das Datum (20241021) ein, so dass ich es chronologisch sortieren kann und fortlaufend im externen system updaten kann. Da wir nun von LS-POS auf JTL-POS umgestiegen sind, wird hier das Feld Fax bei der Eingabe der Kunden nicht mehr angezeigt. Daher war nun meine Idee das Feld UstID dafür zu missbrauchen und den Workflow einzurichten, damit ich nach meinem System weiter arbeiten kann. Denn ich kann mir im Reiter "Verkauf" nicht die UstID anzeigen lassen und sehe dann nicht, wenn das Feld vergessen wurde beim ausfüllen. Es ist nicht hübsch, aber irgendwie praktikabel... Nur bekomme ich das Feld Fax nun nicht automatisch gefüllt.
Verstehe, danke für die Erläuterung.

Danach bin ich aber erst recht beim Anlegen eines Eigenen Feldes und einer Eigenen Übersicht. Für Dein Team ändert sich nichts am Aufwand, dass sie ein Feld befüllen müssen. Denn leider gibt es in der Wawi kein Feld, das das Datum der letzten Änderung bei einem Kunden liefert. Und nur das mitzuloggen, muss auch nicht sein. Aber wenn Du dem Eigenen Feld den Typ Datum zuweist, sind es nur noch zwei Klicks (einmal auf den kleinen Pfeil und einmal auf "Heute"). Dein Team muss also nicht mal mehr etwas ein- und sich ggf. dabei vertippen.

Dieses Eigene Feld kannst Du über eine Eigene Übersicht ausgeben. Das ist das Schöne an Eigenen Übersichten, dass man fehlende Felder frei nach Belieben hinzufügen kann. Ist zwar auch SQL, aber eben nur lesender- und nicht schreibenderweise.

Hier ist ein Beispielcode für eine Eigene Übersicht im Bereich Kunden, der nur die Kunden mit einem entsprechenden Eintrag berücksichtigt:

SQL:
SELECT
    KD.kKunde,
    KD.cKundenNr,
    KD.cFirma,
    KD.cVorname,
    KD.cName,
    CAST(KD.dErstellt AS DATE) AS 'Erstellt',
    CAST(KDEF.dWertDateTime AS DATE)  AS 'Geändert'
FROM
    Kunde.lvKunde AS KD
    LEFT JOIN Kunde.tKundeEigenesFeld AS KDEF ON KD.kKunde = KDEF.kKunde
    LEFT JOIN tAttributSprache AS ATTS ON KDEF.kAttribut = ATTS.kAttribut AND ATTS.cName = 'Eigenes Feld Name';

Wenn alle Kunden aufgelistet werden sollen (mit einem entsprechenden Hinweis, wenn das Eigene Feld nicht gefüllt ist):

SQL:
SELECT
    KD.kKunde,
    KD.cKundenNr,
    KD.cFirma,
    KD.cVorname,
    KD.cName,
    CAST(KD.dErstellt AS DATE) AS 'Erstellt',
    ISNULL(CAST(CAST(KDEF.dWertDateTime AS DATE) AS NVARCHAR(20)), 'Keine Angabe') AS 'Geändert'
FROM
    Kunde.lvKunde AS KD
    LEFT JOIN Kunde.tKundeEigenesFeld AS KDEF ON KD.kKunde = KDEF.kKunde
    LEFT JOIN tAttributSprache AS ATTS ON KDEF.kAttribut = ATTS.kAttribut
WHERE
    ATTS.cName = 'Eigenes Feld Name';

Die Eigene Übersicht kannst Du nach eigenem Belieben sortieren und formatieren.

Sollte es jetzt aber zu spät zur Umstellung sein oder das hinsichtlich POS keine Lösung sein, dann bleibt letztlich nur der CustomWorkflow. Wobei das Umschreiben der Werte in ein Eigenes Feld ebenso per SQL möglich ist und man damit keine Feldzweckentfremdung mehr hätte, die einem vll. später mal auf die Füße fällt.
 
Zuletzt bearbeitet:

Laura O

Gut bekanntes Mitglied
6. Juni 2020
115
15
Verstehe, danke für die Erläuterung.

Danach bin ich aber erst recht beim Anlegen eines Eigenen Feldes und einer Eigenen Übersicht. Für Dein Team ändert sich nichts am Aufwand, dass sie ein Feld befüllen müssen. Denn leider gibt es in der Wawi kein Feld, das das Datum der letzten Änderung bei einem Kunden liefert. Und nur das mitzuloggen, muss auch nicht sein. Aber wenn Du dem Eigenen Feld den Typ Datum zuweist, sind es nur noch zwei Klicks (einmal auf den kleinen Pfeil und einmal auf "Heute". Dein Team muss also nicht mal mehr etwas ein- und sich ggf. dabei vertippen.

Dieses Eigene Feld kannst Du über eine Eigene Übersicht ausgeben. Das ist das Schöne an Eigenen Übersichten, dass man fehlende Felder frei nach Belieben hinzufügen kann. Ist zwar auch SQL, aber eben nur lesender- und nicht schreibenderweise.

Hier ist ein Beispielcode für eine Eigene Übersicht im Bereich Kunden, der nur die Kunden mit einem entsprechenden Eintrag berücksichtigt:

SQL:
SELECT
    KD.kKunde,
    KD.cKundenNr,
    KD.cFirma,
    KD.cVorname,
    KD.cName,
    CAST(KD.dErstellt AS DATE) AS 'Erstellt',
    CAST(KDEF.dWertDateTime AS DATE)  AS 'Geändert'
FROM
    Kunde.lvKunde AS KD
    LEFT JOIN Kunde.tKundeEigenesFeld AS KDEF ON KD.kKunde = KDEF.kKunde
    LEFT JOIN tAttributSprache AS ATTS ON KDEF.kAttribut = ATTS.kAttribut AND ATTS.cName = 'Eigenes Feld Name';

Wenn alle Kunden aufgelistet werden sollen (mit einem entsprechenden Hinweis, wenn das Eigene Feld nicht gefüllt ist):

SQL:
SELECT
    KD.kKunde,
    KD.cKundenNr,
    KD.cFirma,
    KD.cVorname,
    KD.cName,
    CAST(KD.dErstellt AS DATE) AS 'Erstellt',
    ISNULL(CAST(CAST(KDEF.dWertDateTime AS DATE) AS NVARCHAR(20)), 'Keine Angabe') AS 'Geändert'
FROM
    Kunde.lvKunde AS KD
    LEFT JOIN Kunde.tKundeEigenesFeld AS KDEF ON KD.kKunde = KDEF.kKunde
    LEFT JOIN tAttributSprache AS ATTS ON KDEF.kAttribut = ATTS.kAttribut
WHERE
    ATTS.cName = 'Eigenes Feld Name';

Die Eigene Übersicht kannst Du nach eigenem Belieben sortieren und formatieren.

Sollte es jetzt aber zu spät zur Umstellung sein oder das Problem hinsichtlich POS keine Lösung ist, dann bleibt letztlich nur der CustomWorkflow. Wobei das Umschreiben der Werte in ein Eigenes Feld ebenso per SQL möglich ist und man damit keine Feldzweckentfremdung mehr hätte, die einem vll. später mal auf die Füße fällt.
Wow, danke dir! Auch für die anderen Lösungsansätze! Das hilft mir definitiv weiter!! :)
 

wawi-dl

Sehr aktives Mitglied
29. April 2008
6.517
753
Ich kann hierbei auch nur dazu raten, keine Felder zu "missbrauchen", das fällt einem dann später doch irgendwann auf die Füße.

Es ist auch kein Hexenwerk, einen kleinen CustomWorkflow zu bauen, der das Datum in ein eigenes Feld vom Kundenstamm schreibt.
Man könnte z.B. zwei Felder anlegen, "Kunde angelegt am" und "Kunde zuletzt geändert am".

Der CustomWorkflow kann dann über "Kunde erstellt" und Kunde geändert" angetriggert werden.
Die CustomWorkflows könnte man auch manuell auslösen, so haben wir schon diverse gebaut um z.B. einen Kunden zu sperren oder zu überarbeiten.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Workflow für voraussichtlichen Liefertag erstellen JTL-Workflows - Ideen, Lob und Kritik 6
Neu Workflow für voraussichtlichen Liefertag erstellen User helfen Usern - Fragen zu JTL-Wawi 1
Issue angelegt [WAWI-44314] Workflow automatisch 2 Pakete erstellen bei bestimmen Produkten? JTL-Workflows - Ideen, Lob und Kritik 2
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Neu Workflow zum automatischen Stornieren einer Rechnung nach Versand User helfen Usern - Fragen zu JTL-Wawi 1
Neu Artikel KinderArtikel anlegen: Workflow "Artikel erstellt und Artikel geändert" werden NUR beim Vaterartikel gestartet User helfen Usern - Fragen zu JTL-Wawi 0
Stornobeleg als Workflow-Trigger JTL-Wawi 1.10 2
Neu Kartonagen nicht mehr über Workflow auswählbar nach Update auf 1.11.3 JTL-Workflows - Ideen, Lob und Kritik 0
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
Neu Workflow: Straße enthält Postfiliale oder Paketshop JTL-Workflows - Fehler und Bugs 3
Neu Workflow 4 Wochen vor vorraus. Lieferdatum Arbeitsabläufe in JTL-Wawi 1
Überverkäufe über Workflow setzen JTL-Wawi 1.10 2
In Diskussion Workflow alle X Tage ausführen JTL-Workflows - Ideen, Lob und Kritik 5
Ausliefern Workflow über API JTL-Wawi 1.9 6
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
JTL-Workflow | Automatisches Speichern von Rechnungen möglich? JTL-Wawi 1.9 2
In Diskussion Workflow Angebote OHNE Auftrag JTL-Workflows - Ideen, Lob und Kritik 8
Gelöst Workflow-Trigger für Selbstabholung / FFN-Versand JTL-Workflows - Fehler und Bugs 2
In Diskussion Workflow für bezahlte Aufträge eines bestimmten Lagers → Pickliste zu bestimmter Uhrzeit JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Workflow verändert Wert JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Standardlieferant JTL-Wawi 1.10 2
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
Gelöst CustomWorkflow erscheint nicht in den Workflow-Aktionen JTL-Workflows - Fehler und Bugs 7
Neu Workflow um einen Artikel bei einem bestimmten Verkaufskanal zu aktivieren oder deaktivieren User helfen Usern - Fragen zu JTL-Wawi 4
Neu Mit Workflow verfügbaren Bestand aller Artikel in Datei schreiben User helfen Usern - Fragen zu JTL-Wawi 8
In Diskussion Workflow ausführen bei Lagerbestand 0 eines Lagers JTL-Workflows - Fehler und Bugs 3
Neu Workflow: WMS Lager nutzen um Versandart zu bestimmen User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Workflow für das Austauschen von bestelltem Artikel in einem Auftrag gegen einen alternativen Artikel JTL-Workflows - Ideen, Lob und Kritik 3
Workflow soll wenn Artikel 0 Bestand für 35 Tage hat diesen auf inaktiv setzen JTL-Wawi 1.10 4
Automatischer Workflow für Versand von Gutscheinen versendet den Gutschein nicht JTL-Wawi 1.10 2
Workflow für Benachrichtigung bei Stammkunden JTL-Wawi 1.10 9
Workflow: Neue Kunden direkt einer Kundengruppe zuordnen JTL-Wawi 1.10 6
Neu Workflow: Musterbestellungen (0 € Gesamtbruttowert) automatisch ausliefern lassen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow Versandart prüfen und im Auftrag setzen - speziell für Stücklistenartikel User helfen Usern - Fragen zu JTL-Wawi 0
Neu Ausliefern Workflow mit variablen Ausführungszeiten je nach vorauss. Lieferdatum User helfen Usern - Fragen zu JTL-Wawi 3
In Diskussion Workflow Error While Automating Game Update Notifications JTL-Workflows - Fehler und Bugs 2
Neu Varianten Artikel erstellen mit Lister 2.0 nur für Amazon Amazon-Lister - Ideen, Lob und Kritik 0
Neu Monatsabschlüsse als csv-Datei erstellen lassen? Allgemeine Fragen zu JTL-POS 0
Neu Adressetiketten für Briefe mit Etikettendrucker erstellen / Formatierungsproblem Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Ticket erstellen bei einer Fehlermeldung mit JTL-Start ??? JTL-Wawi 1.9 6
Neu SEO title tag Artikel dynamisch erstellen Allgemeine Fragen zu JTL-Shop 3
Neu Nach Update auf 1.10.14.1 - Zahlungsart wird beim Auftrag erstellen nicht mit übernommen + Sepa Eingänge JTL-Wawi - Fehler und Bugs 0
Geschenke erstellen - geht das überhaupt? Rabatt? JTL-Wawi 1.10 2
Neu Vater Kind Artikel erstellen User helfen Usern - Fragen zu JTL-Wawi 3
Neu Lister 1.0 Produktseiten erstellen nicht mehr möglich? Amazon-Lister - Fehler und Bugs 2
Neu Mittels Ameise Aufträge aus 2 einzelnen CSV Dateien erstellen Schnittstellen Import / Export 5
Neu Frage in die Runde, wie handhabt ihr einen Datenrestore? Arbeitsabläufe in JTL-Wawi 17
Neu Kartenzahlung mit Zettle / Wo finde ich einen Transaktionscode in der Datenbank? Allgemeine Fragen zu JTL-POS 0
Neu Kunden einen Retouren QR Code beim ausliefern mitschicken für Warenankauf ??? JTL-ShippingLabels - Fehler und Bugs 0
In Diskussion WF funktioniert nur einen Tag lang JTL-Workflows - Fehler und Bugs 16

Ähnliche Themen