Neu List&Label "malicious"-Fehlermeldung bei JTL_DirectQuery, was ist daran falsch?

fibergirl

Sehr aktives Mitglied
14. April 2016
829
253
Hallo,

das Thema Gewichte auf der Rechnung (und Angebot, Auftrag ... ) wurde bereits verschiedentlich angesprochen.

Für die einzelnen Positionen hatte ja schon mal @olibaba eine vorläufige Lösung erarbeitet:
https://forum.jtl-software.de/threa...angebot-rechnung-etc-hilfe.126712/post-700735

Aber ich brauche auch das Gesamtgewicht auf der Rechnung.

Es war mir nicht gelungen, aus den Benutzervariablen eine Gesamtsumme zu errrechnen, vermutlich weil ich diese außerhalb der Positionstabelle brauche, und da die Benutzervariablen ins Leere greifen.

Also SQL.

In meinem SQL-Manager sieht diese Formel gut aus und gibt das korrekte Ergebnis:
Code:
SELECT SUM(dbo.tArtikel.fArtGewicht * Rechnung.tRechnungPosition.fAnzahl) AS Result
FROM Rechnung.tRechnungPosition
LEFT JOIN dbo.tArtikel
ON dbo.tArtikel.kArtikel = Rechnung.tRechnungPosition.kArtikel
WHERE Rechnung.tRechnungPosition.kRechnung = 8

Mit JT_DirectQuery jedoch, im Editor für die Benutzervariable:
Code:
JTL_DirectQuery("SELECT SUM(dbo.tArtikel.fArtGewicht * Rechnung.tRechnungPosition.fAnzahl) AS Result
FROM Rechnung.tRechnungPosition
LEFT JOIN dbo.tArtikel
ON dbo.tArtikel.kArtikel = Rechnung.tRechnungPosition.kArtikel
WHERE Rechnung.tRechnungPosition.kRechnung = '"+str$(Report.InternalId)+"'")

Bekomme ich: Blocked possible malicious sql command.

Im Report angewandt, bekomme ich null. Klar, der Query wird ja blockiert.

Aber was mache ich falsch?
Ist der SQL-Query wirklich zu kompliziert?
Hat er Fehler? Was könnte daran "malicious" sein?

Oder geht es überhaupt ganz anders einfacher?

Dank & Gruß,
fibergirl
 

fibergirl

Sehr aktives Mitglied
14. April 2016
829
253
Ja, es geht wirklich einfacher :) .

Einfach zur Darstellung außerhalb der Positionstabelle nicht sum(@TotalWeight) verwenden, sondern dafür jeweils noch eine weitere Benutzervariable erfinden:
(auf Basis der oben verlinkten Lösung von von @olibaba :
@AllTotalWeight
sum(@TotalWeight)

@AllTotalShippingWeight
sum(@TotalShippingWeight)

und die dann unten beim Gesamtgewicht einsetzen!
z.B. so:
LocNumber$(@AllTotalWeight,"",3) + " kg"

Danke fürs Zuhören ...

Die Frage nach dem "Blocked possible malicious sql command." bleibt natürlich!
 

Brummibaer

Aktives Mitglied
30. Dezember 2019
32
12
Hallo zusammen,

ich suche auch nach einer Lösung für dieses Problem, jedoch mit einer kleinen Abwandlung.
Ich möchte nicht das Gesamtgewicht aller Artikel, sondern das Gewicht, welches ich manuell vor dem Verschicken bei "Packetgewicht" eingebe.
Leider bekomme ich es nicht hin, dieses Gewicht auszugeben.

Wir haben diesen Fall z.B. bei individuellen Paketen, bei denen unbekannte Kartonagen zum Versenden verwendet werden.
Wir wiegen dafür diese Pakete schlussendlich ab und geben das korrekte Gesamtgemacht beim Versand und vor die Übertragung an DHL manuell ein.

Dieses Gewicht möchten wir auf der Rechnung haben.

Früher müsste es diese Variable gewesen sein:
JTL. WaWi.Vorgang.Gewicht

Da diese nicht mehr existiert, benötige ich den Nachfolger, bzw. SQL-Code. :)

Vielen Dank!