In Diskussion Keine Auslieferung nach Zahlungsartänderung über Workflow

TotalerNeuling

Mitglied
27. Mai 2023
37
3
Guten Abend User, evtl. kann mir jemand helfen.

Ziel: Kommt ein Auftrag über den Online- Shop rein, soll die Zahlungsart auf den in Kundenstamm geändert werden.

Unsere Online-Bestellungen kommen mit dem Präfix # in Wawi rein. Daher Triggere ich danach.
Anschließend ändere ich den Wert mithilfe der manuell erstellten Prozedur lt. Anweisung

Der Wert wird wie folgt aus dem Kundenstamm ausgelesen:
SQL:
{% capture query -%}
SELECT za.cName FROM dbo.tZahlungsart za JOIN dbo.tkunde tk ON za.kZahlungsart = tk.kZahlungsart
WHERE kKunde = {{ Vorgang.Stammdaten.Kunde.InterneKundennummer }}
{% endcapture -%}
{% assign result = query | DirectQueryScalar -%}
{{ result }}

Wird die Zahlungsart so geändert, kann der Auftrag nicht mehr ausgeliefert werden.

Bei Versuch über Workflow auszuliefern erscheint die Fehlermeldung:
Es sind keine Datensätze in der 'SqlDataRecord'-Enumeration vorhanden. Verwenden Sie zum Senden eines table-valued parameters ohne Zeilen stattdessen einen null-Verweis für den Wert.

Für eine manuelle Auslieferung bleibt das Auslieferungs-Button grau.

Erst beim Öffnen und Speichern des Auftrags kann der Auftrag manuell ausgeliefert werden.

Hat jemand eine Idee, was hier falsch läuft.
 

frankell

Sehr aktives Mitglied
9. September 2019
574
231
Flensburg
Guten Abend User, evtl. kann mir jemand helfen.

Ziel: Kommt ein Auftrag über den Online- Shop rein, soll die Zahlungsart auf den in Kundenstamm geändert werden.

Unsere Online-Bestellungen kommen mit dem Präfix # in Wawi rein. Daher Triggere ich danach.
Anschließend ändere ich den Wert mithilfe der manuell erstellten Prozedur lt. Anweisung

Der Wert wird wie folgt aus dem Kundenstamm ausgelesen:
SQL:
{% capture query -%}
SELECT za.cName FROM dbo.tZahlungsart za JOIN dbo.tkunde tk ON za.kZahlungsart = tk.kZahlungsart
WHERE kKunde = {{ Vorgang.Stammdaten.Kunde.InterneKundennummer }}
{% endcapture -%}
{% assign result = query | DirectQueryScalar -%}
{{ result }}

Wird die Zahlungsart so geändert, kann der Auftrag nicht mehr ausgeliefert werden.

Bei Versuch über Workflow auszuliefern erscheint die Fehlermeldung:
Es sind keine Datensätze in der 'SqlDataRecord'-Enumeration vorhanden. Verwenden Sie zum Senden eines table-valued parameters ohne Zeilen stattdessen einen null-Verweis für den Wert.

Für eine manuelle Auslieferung bleibt das Auslieferungs-Button grau.

Erst beim Öffnen und Speichern des Auftrags kann der Auftrag manuell ausgeliefert werden.

Hat jemand eine Idee, was hier falsch läuft.
Hallo @TotalerNeuling,
kannst Du Deinen CustomWorkflow einmal zeigen? Mich verwirrt zudem etwas, dass Du DotLiquid-Code (um die Query herum) präsentierst, den Du so ja nicht im CustomWorkflow verwendest.
 

TotalerNeuling

Mitglied
27. Mai 2023
37
3
Hallo frankell,

Danke für Dein Interesse.

Den Code habe ich auf der Seite https://support.t4dt.com/hc/de/articles/12467303147922-Zahlungsart-dynamisch-setzen-ab-JTL-Wawi-1-6 gefunden und lautet wie folgt:
SQL:
--Copyright (c) 2022 T4DT GmbH
--Jedem, der eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, wird hiermit kostenlos die Erlaubnis erteilt, ohne Einschränkung mit der Software zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und/oder Verkaufen von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:
--Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

CREATE TYPE CustomWorkflows.Parameter_spZahlungsartAendern_ZahlungsartName FROM NVarchar(255);
GO
EXEC CustomWorkflows._SetActionParameterDisplayName 'Parameter_spZahlungsartAendern_ZahlungsartName', 'Zahlungsart'
GO

IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'spZahlungsartAendern')
DROP PROCEDURE CustomWorkflows.spZahlungsartAendern
GO
CREATE PROCEDURE CustomWorkflows.spZahlungsartAendern @kAuftrag INT, @cZahlungsart Parameter_spZahlungsartAendern_ZahlungsartName AS
BEGIN
--Copyright (c) 2022 T4DT GmbH
--Jedem, der eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, wird hiermit kostenlos die Erlaubnis erteilt, ohne Einschränkung mit der Software zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und/oder Verkaufen von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:
--Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
    DECLARE @kZahlungsart INT = (SELECT TOP 1 kZahlungsart FROM dbo.tZahlungsart WHERE cName = @cZahlungsart)
    UPDATE tb SET kZahlungsart = @kZahlungsart FROM  Verkauf.tAuftrag tb
    WHERE  tb.kAuftrag = @kAuftrag
END
GO
EXEC CustomWorkflows._CheckAction 'spZahlungsartAendern'
GO
EXEC CustomWorkflows._SetActionDisplayName 'spZahlungsartAendern', 'Zahlungsart ändern'
GO

Ich konnte mir noch vorstellen, im Auftrag zusatzlich noch zusätzlich die ZahlungsartID zu ändern, damit beides zu einander passt. (Wird bereits geändert)

Bin zuhause und werde versuchen mich mit clouddesktop zu verbinden um das zu testen, ansonsten komm ich leider erst am Montag wieder dazu.

VG
 
Zuletzt bearbeitet:

frankell

Sehr aktives Mitglied
9. September 2019
574
231
Flensburg
Hallo frankell,

Danke für Dein Interesse.

Den Code habe ich auf der Seite https://support.t4dt.com/hc/de/articles/12467303147922-Zahlungsart-dynamisch-setzen-ab-JTL-Wawi-1-6 gefunden und lautet wie folgt:
SQL:
--Copyright (c) 2022 T4DT GmbH
--Jedem, der eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, wird hiermit kostenlos die Erlaubnis erteilt, ohne Einschränkung mit der Software zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und/oder Verkaufen von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:
--Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.

CREATE TYPE CustomWorkflows.Parameter_spZahlungsartAendern_ZahlungsartName FROM NVarchar(255);
GO
EXEC CustomWorkflows._SetActionParameterDisplayName 'Parameter_spZahlungsartAendern_ZahlungsartName', 'Zahlungsart'
GO

IF EXISTS(SELECT 1 FROM sys.procedures WHERE Name = 'spZahlungsartAendern')
DROP PROCEDURE CustomWorkflows.spZahlungsartAendern
GO
CREATE PROCEDURE CustomWorkflows.spZahlungsartAendern @kAuftrag INT, @cZahlungsart Parameter_spZahlungsartAendern_ZahlungsartName AS
BEGIN
--Copyright (c) 2022 T4DT GmbH
--Jedem, der eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, wird hiermit kostenlos die Erlaubnis erteilt, ohne Einschränkung mit der Software zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und/oder Verkaufen von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:
--Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
    DECLARE @kZahlungsart INT = (SELECT TOP 1 kZahlungsart FROM dbo.tZahlungsart WHERE cName = @cZahlungsart)
    UPDATE tb SET kZahlungsart = @kZahlungsart FROM  Verkauf.tAuftrag tb
    WHERE  tb.kAuftrag = @kAuftrag
END
GO
EXEC CustomWorkflows._CheckAction 'spZahlungsartAendern'
GO
EXEC CustomWorkflows._SetActionDisplayName 'spZahlungsartAendern', 'Zahlungsart ändern'
GO

Ich konnte mir noch vorstellen, im Auftrag zusatzlich noch zusätzlich die ZahlungsartID zu ändern, damit beides zu einander passt. (Wird bereits geändert)

Bin zuhause und werde versuchen mich mit clouddesktop zu verbinden um das zu testen, ansonsten komm ich leider erst am Montag wieder dazu.

VG
Ah, ok, jetzt ergibt alles Sinn. :D

Allerdings sollte Dein erster Ansprechpartner dann auch lieber T4DT sein. Unten auf der verlinkten Seite besteht ja auch die Möglichkeit, Fragen einzureichen.

Am naheliegendsten ist, dass etwas in der Wawi zusätzlich angestoßen wird bei der Änderung der Zahlungsart, was bei einer direkten Bearbeitung in der Datenbank eben nicht angestoßen wird, bspw. irgendeine Form von Validierung. Oder auch, dass die gewünschte Änderung noch eine weitere Änderung in einer anderen Tabelle notwendig macht, was aber nur durch das "Speichern" in der Wawi ausgelöst wird und nicht bei Direktzugriffen. Das sind wohl die wahrscheinlichsten Gründe. Caching würde ich jetzt mal ausschließen, das ist eher im Shop ein Thema.

Aber um den genauen Grund zu eruieren, muss man sich bspw. vorhandene Triggers und SPs in der Datenbank ganz genau anschauen, um ggf. den Code entsprechend zu erweitern. Aber auch dann kann es immer noch sein, dass halt innerhalb der Wawi etwas passiert, was leider eine Blackbox ist, weil nicht Open Source. Da müsste man schon einen Mitschnitt machen (bspw. über JTL-Diag), um genaue Aussagen treffen zu können. Das kann ein ziemlicher Aufwand werden.
 

TotalerNeuling

Mitglied
27. Mai 2023
37
3
Vielen Dank für Deine Antwort.

Ich werde mich bei T4DT melden. Falls ich eine kostenlose und brauchbare Info bekomme, werde ich sie natürlich hier teilen.

Dann bis zum nächsten mal und nochmals Danke.
 
  • Gefällt mir
Reaktionen: frankell
Ähnliche Themen
Titel Forum Antworten Datum
Neu Keine Bestellung möglich über Nova 5.4 auf 4K Laptop JTL-Shop - Fehler und Bugs 1
Neu Keine Exportpapiere mehr bei DHL 3.0 nach UK? JTL-ShippingLabels - Fehler und Bugs 3
Neu JTL Pos + Epson Bondrucker - plötzlich keine TSE-Verbindung Allgemeine Fragen zu JTL-POS 0
Datev Rechnungsdatenservice, keine Einstellungen möglich JTL-Wawi 1.9 10
Seit Wechsel auf DPD werden keine Versanddaten mehr an Kaufland übertragen. kaufland.de - Anbindung (SCX) 1
Neu InvoicePosition.SKU - Formular bleibt zeigt keine Artikelnummer Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
JTL-Datenbankverwaltung keine Anmeldung am Server - Neuinstallation - Win 10 / Win 11 JTL-Wawi 1.9 4
Neu Preisdarstellung: keine „ab“-Preise mehr mit Staffelpreisen für Produkte ohne Variationen (JTL Shop 5.3.3) Allgemeine Fragen zu JTL-Shop 1
Neu Keine Verbindung zur Datenbank vom Terminalserver Installation von JTL-Wawi 1
Neu Keine Übernahme der Gewichtsangabe JTL-Wawi - Fehler und Bugs 0
eBay Angebote laden - keine Erstellung laufender Angebote + Angebotsvorlagen JTL-Wawi 1.9 1
Neu PAYONE Plugin keine Bestellabschluss Seite Plugins für JTL-Shop 0
Gelöst unter "Alle Bons" werden keine Bons angezeigt JTL-POS - Fehler und Bugs 2
Neu WAWI 1.9.4.6 Amazon Auftrag hat keine Rechnungsnummer, obwohl die Rechnung zu Amazon hochgeladen wurde. Amazon-Anbindung - Fehler und Bugs 0
Neu Keine Preise Amazon-Lister - Fehler und Bugs 1
Neu Fehler bei Export mit Versandart DHL / Die Sequenz enthält keine Elemente. JTL-ShippingLabels - Fehler und Bugs 3
Neu Achtung: Amazon zeigt keine Grundpreise mehr! Business Jungle 2
Neu WMS Mobile zeigt keine Bilder an JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
JTL Wawi 1.9.4.4 startet gar nicht und kann auch keine Fehlermeldung senden JTL-Wawi 1.9 2
Keine Verbindung zwischen JTL und DHL JTL-Wawi 1.9 6
Gelöst Keine Zahlunsterminals gefunden Allgemeine Fragen zu JTL-POS 1
JTL WaWi 1.9.4.4 will keine Amazon Aufträge abholen. Ebay klappt aber JTL-Wawi 1.9 3
Amazon Token aktualisiert - Keine Bestellungen JTL-Wawi 1.9 1
Zahlungsabgleich - Meldung "keine Lizenz" obwohl Advanced-Paket JTL-Wawi 1.8 7
Neu Nach Datenbank-Migration Fehler: keine Lieferzeit usw. JTL-Shop - Fehler und Bugs 1
Neu Nach dem entfernen des PayPal Checkout werden keine Zahlungsarten anderer Anbieter angezeigt. JTL-Shop - Fehler und Bugs 4
Neu Keine Amazonabrechnungen mehr seit 8 Tagen Amazon-Anbindung - Fehler und Bugs 0
In Diskussion Sunmi Gerät vor 2 Jahren gekauft, jetzt keine Updates mehr möglich JTL-POS - Fragen zu Hardware 8
Neu Atrribut in Wawi gelöscht - Keine Auswirkung auf Shopware Shopware-Connector 0
In Diskussion Sumup Solo light - keine Verbindung JTL-POS - Fehler und Bugs 3
Gelöst zusätzliche Kasse - Tablet liest Artikel in Dauerschleife ein und zeigt aber keine an JTL-POS - Fehler und Bugs 4
Neu Keine Anhänge in ausgehenden Shopmails Betrieb / Pflege von JTL-Shop 0
Neu Amazon VCS keine Rechnungsstellung für Lieferungen in die Türkei JTL-Wawi - Fehler und Bugs 2
In Bearbeitung Supportticket JTL-POS wohin - keine Auswahl im Supportbereich Allgemeine Fragen zu JTL-POS 1
Neu Sehr lange Ladezeit der Produktseite nach Upgrade auf Version 5.4 Allgemeine Fragen zu JTL-Shop 0
Neu Alte Blogbeiträge sind nach Update nicht abrufbar JTL-Shop - Fehler und Bugs 0
Fehlermeldung nach Bildupdate,-löschen,-ändern JTL-Wawi 1.9 0
Neu Nach update auf 5.4 kein Login mehr möglich JTL-Shop - Fehler und Bugs 2
Offener Betrag nach Rechnungskorrektur? JTL-Wawi 1.9 2
Nach Umstieg auf V5 Paypal express weg. Einrichtung JTL-Shop5 5
Neu Newsletter-Abonnenten werden bei Gastbestellung nach Anonymisierung entfernt JTL-Shop - Fehler und Bugs 0
Fatal-Error im Adminbereich nach Update - Shop läuft Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Nach Update auf 5.4 klappt einiges nicht mehr ! Installation / Updates von JTL-Shop 9
Datenbank bereinigen nach Test JTL-Wawi 1.9 7
Neu Aus /Kategorie/ wird /Kategorie-2/ nach Abgleich WooCommerce-Connector 0
Neu Probleme mit PayPal-Plugin: Bestellungen "pending" & doppelte Zahlungen nach Direktzahlung Plugins für JTL-Shop 0
Nach Update auf 1.9 alle Drucker verschwunden JTL-Wawi 1.9 6
Neu Fehlermeldung nach Shop-Update Installation / Updates von JTL-Shop 2
JTL Vouchers automatisch nach Zahlungseingang an Kunden versenden Allgemeine Fragen zu JTL-Vouchers 5
Neu WooCommerce JTL Connector nach Back-Up ist deaktiviert WooCommerce-Connector 1

Ähnliche Themen