Gelöst Kunde auf Bestellung prüfen

3jojojo

Sehr aktives Mitglied
20. Januar 2016
766
34
Hi Leute und schöne Ostern

Ich will Kunden die sich im Shop neu angemeldet haben darauf prüfen ob sie nach 2 Tagen auch eine Bestellung gemacht haben.

Hierfür habe ich bei den Workflows unter Kunde Neu erstellt einen Workflow angelegt.

1)Verzögerung 2 Tage
2) Bedingungen ist das Problem.
Es gibt zwar {{ Vorgang.Rechnungen.ErstesObjekt.Auftrag.Auftragsnummer }} aber nicht den Auftrag
Damit kann ich wohl nur prüfen ob der Kunde schon eine Rechnung hat.

folgendes habe ich probiert
{{ Vorgang.Stammdaten.Auftragsnummer }}
{{ Vorgang.AuftragsPositionen.Positionen.Anzahl }}
{{ Vorgang.Kundenhistorie.ErstesObjekt.Eintrag }}
{{ Vorgang.Bestellung.Anzahl }}
jedoch liefert keines ein Ergebnis.

Hat jemand eine Idee wie man neuen Kunden auf einen Auftrag prüft???
 

Shopworker.de

Offizieller Servicepartner
SPBanner
4. Januar 2011
4.115
543
Arnsberg, Sauerland
Habe ich einen Gedankenfehler oder werden Kunden, die sich im Shop angemeldet, aber noch nicht bestellt haben in der Wawi noch gar nicht als Kunden angelegt?
Die musst du meines Wissens erst manuell in die Wawi übernehmen; erst dann könntest du z.B. über einen Workflow nach Anzahl Rechnungen oder über den Auftrag prüfen ...
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
766
34
Deine Aufgabenstellung war aber:



Und das geht so nicht ...
Wieso? 2 Tage nachdem der Kunde in der Wawi erstellt wurde. Ob Shop automatisch oder manuell oder auch von der Hand erstellt spielt dabei keine Rolle.

Eigentlich muß man ja nur prüfen ob der Kunde xxxxx einen Auftrag oder eine Auftragsnummer hat. {{ Vorgang.Rechnungen.ErstesObjekt.Auftrag.Auftragsnummer }} gibt die Rechnungsnummer. Nur wie fragt man nicht nach der Rechnung sondern nach einem Auftrag. Die Rechnung wird ja erst später erstellt.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.698
1.611
Berlin
Über die Erweiterten Eigenschaften bei der Abfrage dieses hier erstellen und dann prüfen ob das Ergebnis <1 ist Bitte am Ende kein Return nach {{result}}

Code:
{% capture query %}
SELECT COUNT(*) FROM tBestellung WHERE tKunde_kKunde= '{{Vorgang.InterneKundennummer}}'
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
766
34
Über die Erweiterten Eigenschaften bei der Abfrage dieses hier erstellen und dann prüfen ob das Ergebnis <1 ist Bitte am Ende kein Return nach {{result}}

Code:
{% capture query %}
SELECT COUNT(*) FROM tBestellung WHERE tKunde_kKunde= '{{Vorgang.InterneKundennummer}}'
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

genial. Klappt super auch mit dem Zeitversatz ;)

Gehe ich Richtig in der Annahme das Select Count die Anzahl der Bestellungen nimmt??
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
766
34
Kann ich damit auch an die Crosseling Artikel eines Artikels kommen ({{ Vorgang.AuftragsPositionen.Positionen.ErstesObjekt.Artikel.Artikelnummer }} )
Im Prinzip müßte man doch nur die Crosseling Artikel Tabelle nehmen wo die Artikelnummer (oder wohl ID) gleich der des Artikels ({{ Vorgang.AuftragsPositionen.Positionen.ErstesObjekt.Artikel.Artikelnummer }} ) oder hast du ne andere Idee?
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.698
1.611
Berlin
Das ist eine viel komplexere Abfrage sa du an diese Artikel nur über ein join von der crossselling Gruppe kommst und es ja mehrere Gruppen geben kann.

Über die beiden existierenden Query Funktionen kannst du alle in der Datenbank befindlichen Daten abfragen.
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
766
34

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.698
1.611
Berlin
@css-umsetzung
Bei mir im Test ist der Wert immer 2 mit deinem Code. Egal was ich auswähle.
Hab ich nen Denkfehler?

ja vermutlich, an der Abfrage ist ja eigentlich nichts außergewöhnliches Ich hatte das bei mir eben extra mit mehreren Kunden gecheckt, es passt immer

@jojojo

Die Abfrage selbst würde dann ja in Etwa so aussehen wobei 482 dann die Artikel ID wäre (Das ist aber nur eine einfache minimalistische Abfrage).

Code:
SELECT tx.kXSellGruppe, ta.* FROM dbo.tXSell AS tx
LEFT JOIN tArtikel AS ta ON ta.kArtikel = tx.kXsellArtikel
WHERE tx.kArtikel=482 ORDER BY tx.kXSellGruppe

Das ganze würde dann so wie hier abgefragt werden, nur eben das du das zusammensetzen des Querys wieder in einem capture machen musst damit du die Variablen übergeben kannst.
https://guide.jtl-software.de/Komplexe_SQL_Abfragen_(DirectQuery)


Ich verstehe nur nicht ganz warum du das möchtest, weil in der Kundenabfrage nutzt dir das nichts in einer Eingehenden Bestellung auch nicht weil da gehört jeweils wieder mehr dazu weil es ja mehr als ein Artikel sein könnte der gekauft wurde.
Das ist also eigentlich nur als Beispiel anzusehen wie man die Crosselling Artikel über die DB auslesen könnte
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
766
34
ja vermutlich, an der Abfrage ist ja eigentlich nichts außergewöhnliches Ich hatte das bei mir eben extra mit mehreren Kunden gecheckt, es passt immer

@jojojo

Die Abfrage selbst würde dann ja in Etwa so aussehen wobei 482 dann die Artikel ID wäre (Das ist aber nur eine einfache minimalistische Abfrage).

Code:
SELECT tx.kXSellGruppe, ta.* FROM dbo.tXSell AS tx
LEFT JOIN tArtikel AS ta ON ta.kArtikel = tx.kXsellArtikel
WHERE tx.kArtikel=482 ORDER BY tx.kXSellGruppe

Das ganze würde dann so wie hier abgefragt werden, nur eben das du das zusammensetzen des Querys wieder in einem capture machen musst damit du die Variablen übergeben kannst.
https://guide.jtl-software.de/Komplexe_SQL_Abfragen_(DirectQuery)


Ich verstehe nur nicht ganz warum du das möchtest, weil in der Kundenabfrage nutzt dir das nichts in einer Eingehenden Bestellung auch nicht weil da gehört jeweils wieder mehr dazu weil es ja mehr als ein Artikel sein könnte der gekauft wurde.
Das ist also eigentlich nur als Beispiel anzusehen wie man die Crosselling Artikel über die DB auslesen könnte


Danke erstmal für dein Hilfe @css-umsetzung
Code:
{% capture query %}
SELECT tx.kXSellGruppe, ta.* FROM dbo.tXSell AS tx
LEFT JOIN tArtikel AS ta ON ta.kArtikel = tx.kXsellArtikel
WHERE tx.kArtikel='{{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.InterneArtikelnummer }}' ORDER BY tx.kXSellGruppe
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

habe ich mir jetzt zusammengebaut was 9 als Wert zurück gibt. Ich denke das die Crosseling Gruppe. Wie komme ich damit aber an die jeweiligen Artikel? Also an sagen wir die ersten beiden Artikel aus der Gruppe (Name, Bild)???
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.698
1.611
Berlin
Ich hab doch extra den Link dazu geschrieben, weil es nicht über DirectQueryScalar geht.

Und dann braucgst du wie in dem Beispiel vom Link gezeigt die for schleife.

Dann siehst du auch das du
Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.InterneArtikelnummer
Verwendest, du hast also aus einer Bestellung nur einen Artikel, auch wenn der Kunde 10 Bestellt hat.
Auch hier müsste dann eine for schleife gebaut werden die aussen herum, um dein capture sitzt.

Darum sagte ich, es ist etwas komplizierter und kann am Ende auch eine recht lange Liste zum Vorschein bringen.
 

3jojojo

Sehr aktives Mitglied
20. Januar 2016
766
34
@css-umsetzung

Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.InterneArtikelnummer ist schon erstmal okay wenn nur der erste Artikel der Bestellung genommen wird.

Leider kann ich kein SQL und daher fummel ich eher etwas rum wie es zu verstehen auch wenn ich begriffen habe ich das eine Schleife brauche.

Kurz zum vorgehen. Zuerst die Crosseling Gruppe ermitteln mit:
Code:
{% capture query %}
SELECT tx.kXSellGruppe, ta.* FROM dbo.tXSell AS tx
LEFT JOIN tArtikel AS ta ON ta.kArtikel = tx.kXsellArtikel
WHERE tx.kArtikel='{{ Vorgang.AuftragsPositionen.ArtikelPositionen.ErstesObjekt.Artikel.InterneArtikelnummer }}' ORDER BY tx.kXSellGruppe
{% endcapture -%}\
{% assign result = query | DirectQueryScalar %}\
{{ result }}

dann mit der Schleife und
Code:
{{ result }}
die einzelnen Werte ausgeben lassen???
Code:
{% assign Artikel = 'query' | DirectQuery %}
 {% for item in Artikel.Daten %}
 {{ item.cArtNr }}
 {% endfor %}
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.698
1.611
Berlin
Puhhhhhhhhh das geht aber weit über den Forumssupport hinaus, ich sagte ja nicht umsonst das es komplex.
Sagte ich schon wo meine Kaffeekasse steht?

PHP:
{% for item in Vorgang.AuftragsPositionen.ArtikelPositionen %}\
{% capture query %}\
{% assign gruppe = 0 %}\
SELECT txsg.cName as gruppeName, tx.kXSellGruppe,tab.cName, ta.* FROM dbo.tXSell AS tx
LEFT JOIN tArtikel AS ta ON ta.kArtikel = tx.kXsellArtikel
LEFT JOIN tArtikelBeschreibung AS tab on tab.kArtikel = tx.kXsellArtikel AND tab.kSprache=1
LEFT JOIN tXSellGruppe as txsg on txsg.kXSellGruppe = tx.kXSellGruppe AND txsg.kSprache=1
WHERE tx.kArtikel='{{ item.InterneArtikelnummer }}' ORDER BY tx.kXSellGruppe
{% endcapture -%}\
{% assign result = query | DirectQuery %}\
\
{% if result.Daten|Size  > 0 %}\
\
{{ item.Bezeichnung }} :
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{% for artikelItem in result.Daten %}\
{% if artikelItem.kXSellGruppe != gruppe %}\
{% assign gruppe = artikelItem.kXSellGruppe %}\

  {{ artikelItem.gruppeName }}:
{% endif %}\
    {{ artikelItem.cArtNr }} / {{ artikelItem.cName }}
{% endfor %}\


{% endif -%}\
{% endfor %}
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Rabatt für Kunde auf bestimmte Kategorien Arbeitsabläufe in JTL-Wawi 0
Nach Aufruf von Stored Procedure 'Kunde.spKundeUpdate' schwere Fehler in JTL (z.B. Kundenliste, Workflow-Editor) JTL-Wawi 1.8 2
Neu Eigene Felder (Kunde) in csv-Datei per Ausgabe (Auftrag oder Lieferschein) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Stickprogramm - Kosten die Kunde nur einmalig bezahlen muss Allgemeine Fragen zu JTL-Shop 1
Neu JTL-Search - funktioniert nach Anmeldung als Kunde schlechter als ohne Anmeldung User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie kann ich die vergebene Coupons sehen. Welche Kunde welchen Copoun Allgemeine Fragen zu JTL-Shop 0
Neu Kunde bekommt Zahlungsart angezeigt die wir nicht anbieten User helfen Usern 5
Beantwortet Kunde von Firma per Workflow setzen JTL-Workflows - Ideen, Lob und Kritik 1
Neu Seriennummer auf Lieferschein/Rechnung User helfen Usern - Fragen zu JTL-Wawi 0
Stücklisten auf EK umstellen JTL-Wawi 1.8 0
Neu Template auf Grundeinstellung zurücksetzen Templates für JTL-Shop 2
Neu Ameise Export speichern auf FTP Server Schnittstellen Import / Export 2
Neu Shopware 5 Bilder werden nicht übertragen nach Update auf Wawi 1.7.15.6 Shopware-Connector 0
Neu Bestseller auf Startseite werden willkürlich angezeigt Allgemeine Fragen zu JTL-Shop 3
Neu Freiposition auf Pickliste lässt sich nicht picken, Packtisch Gelöste Themen in diesem Bereich 2
Neu JTL SHOP update von 5.2.4 auf 5.3.1 - DBupdater startet nicht das Datenbankupdate Installation / Updates von JTL-Shop 6
Neu Falsches Zahlunsgziel auf Rechnungen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Artikel auf Amazon Listen User helfen Usern - Fragen zu JTL-Wawi 3
Wie schalt ich den worker Client aus auf den Server wegen Update JTL-Wawi 1.8 1
Neu JTL Search funktioniert nicht seit Shopupdate auf 5.3.1 JTL-Shop - Fehler und Bugs 0
Skonto ausgeben auf Rechnung JTL-Wawi 1.8 8
Neu Drucken-Button auf der Artikeldetailseite Allgemeine Fragen zu JTL-Shop 0
Neu Datenmigration von anderer WaWi auf JTL-WaWi Starten mit JTL: Projektabwicklung & Migration 12
Rechnungen werden nicht mehr erstellt seit Umstieg auf Fulfillment JTL-Wawi 1.8 0
Neu Darstellung/Werte der Variantenauswahl auf Amazon anpassbar? Amazon-Lister - Ideen, Lob und Kritik 0
Gelöst Onepage Composer geht nicht mehr nach Update auf 5.3.1 JTL-Shop - Fehler und Bugs 2
Neu Die Shop-URL verweist nicht auf einen gültigen Shop! Shopify-Connector 1
Neu Inhalt/Menge + Einheit auf Auftragspositionen joinen User helfen Usern - Fragen zu JTL-Wawi 6
Neu Stückliste auf Lieferschein Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Artikel im Warenkorb wird von 1 auf null runtergesetzt. Anstatt es zu entfernen wird es automatisch wieder auf 1 gesetzt Allgemeine Fragen zu JTL-Shop 6
Neu leeres Textfeld erstellen für einen Hinweis auf der Rechnung User helfen Usern - Fragen zu JTL-Wawi 2
Neu Ust-ID nach Land auf Rechnung anzeigen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
JTL 1.7 Bestimmte reservierte Produkte sollen keinen Einfluss auf Bestand haben JTL-Wawi 1.7 0
Neu Auftrag verpacken druckt auf 2 Drucker RE aus / wo kann das eingestellt werden? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Textfeld auf Folgeseiten bei Angebotsvorlage JTL-Wawi 1.8 1
Neu Lieferadresse auf Auftrag, Rechnung usw. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Migration Shopware 5 auf 6 mit JTL-Wawi ohne Datenverlust Shopware-Connector 1
Neu Datenumzug von Xentral ERP Software auf JTL-Wawi Schnittstellen Import / Export 4
Neu Artikel nach Übertragung von JTL auf geplant im Jahr 2030 WooCommerce-Connector 2
Neu Mehrsprachige Attribute werden nur auf deutsch an SW6 übertragen Shopware-Connector 0
Neu Angriff auf JTL-Shop ?Log file: Wrong ip Allgemeine Fragen zu JTL-Shop 2
Neu Paypal Plugin Version 1.2.0 läuft und 1.4.0. läuft nicht auf derselben Umgebung Plugins für JTL-Shop 0
Neu Was steckt hinter der Zahl von 53 Bildern auf Ebay bei Variationsartikeln (und einer unsinnigen Fehlermeldung der Wawi)? JTL-Wawi - Fehler und Bugs 2
Ich habe auf NOVA umgestellt aber PayPal funktioniert nicht Einrichtung JTL-Shop5 1
Neu beim Umstieg von unicorn auf SCX Bilder aktivieren Otto.de - Anbindung (SCX) 1
Neu Gewicht auf Rechnung (Artikelgewicht und Zusatzgewicht) Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu gelöst: Update von 5.3.0 auf 5.3.1 - Dateien hochgeladen - immernoch alte Version Gelöste Themen in diesem Bereich 6
Neu Wechsel WAWI Hosting von JTL mit RDP auf ecomDATA User helfen Usern - Fragen zu JTL-Wawi 2
Neu Nach Update auf 5.3 funktioniert das Video-Portlet für lokale Videos nicht Gelöste Themen in diesem Bereich 9
Neu Update auf v5-2-5 Gelöste Themen in diesem Bereich 3

Ähnliche Themen