Neu Export Rechnungspositionen inkl. Gewinn

r.a.r.e.

Aktives Mitglied
7. Juni 2021
24
6
@r.a.r.e. @SLINGSHOT @AQURO @GG290 DRINGENDE WARNUNG - Eurer SQL ist NICHT OK.

Es wird nicht berücksichtigt, dass Rechnungspositionen Rabatte enthalten können und im Falle von Rabatten falscher Gewinn ausgewiesen.

Auch wird mit tArtikel.fEKNetto der stets aktuelle EK genommen und eben nicht der, der zum Zeitpunkt der Rechnungserstellung gültig war, was das Ergebnis weiter erheblich verfälschen kann, wenn sich der EK verändert.

Auch das hier in der Ermittlung des Gewinns ist KOMPLETT falsch
Code:
ROUND((fAnzahl*(SELECT ROUND(fVKNetto,2) FROM dbo.tArtikel AS a WHERE a.kArtikel = rp.kArtikel)) - (fAnzahl*(SELECT fEKNetto FROM dbo.tArtikel AS a WHERE a.cArtNr = rp.cArtNr)),2) AS Gewinn
weil hier nicht der VK an den Kunden genommen wird, um dann davon den EK abzuziehen.
Statt dessen wird die Menge in der Rechnung * aktueller StandardNettoVK des Artikels genommen, was aber NICHT der VK der Rechnungsposition sein muß, insb. nicht unter Berücksichtigung der zeitlichen Veränderung des Artikels.

Das hier beschränkt auch mitnichten auf die letzten 1000 Tage: SELECT TOP 1000

Der ganze Aufbau mit vielen Sub-Selects wirkt ungehobelt und wenn man sich Rechnung.tRechnungPosition mal im Detail anschaut, ist 75% von dem SQL unnötig und zudem falsch.

Wirklich, dringender Rat:
Anhänge oder Thread löschen. Bevor mit dem Code noch großer Mist errechnet wird für wichtige Dinge.


Wo kommt das Ding her?
ChatGPT?!?

Bitte nicht böse verstehen, aber sowas geht gar nicht.
Auf Basis solcher Exporte treffen User Entscheidungen (oder melden was ans Finanzamt oder so) und hier Gezeigtes ist abgrundtief falsch (!), und zeugt von massiv fehlendem Wissen um die JTL Datenstruktur und SQL.
Ich bitte vielmals um Verzeihung, wollte helfen aber habe meine Skills anscheinend überschätzt. Die SQL codes werde ich sofort löschen.
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.127
1.909
Ich habe die SQLs gelöscht, die Beiträge aber stehen lassen. Hintergrund ist, dass User diese SQLs bereits nutzen und wenn ich einfach die Beiträge löschen würde, können die nicht erfahren, dass sie die Abfragen nicht nutzen sollten.
 

Torge

Gut bekanntes Mitglied
19. November 2021
111
11
Moin,
ich bräuchte genau so eine Auswertung aber ohne gewinn. Könntet Ihr den SQL code nochmal posten?
Danke
RechnungsdatumRechnungsnummerHerstellerArtikelnummerArtikelnameMengeNetto Verkaufspreis

Vg
Torge
 

frankell

Sehr aktives Mitglied
9. September 2019
2.305
698
Flensburg
Moin @Torge,

hast Du überlesen, warum der Code gelöscht wurde?

Davon ganz abgesehen ist das auch mit vorgegebenen Ameisenexporten machbar. Bei den Rechnungen bin ich mir nicht sicher, ob dort auch der Hersteller der Artikelposition als Exportspalte existiert (hab's grad nicht vor Augen), aber dann macht man nen zweiten Artikel-Export nur mit Artikelnummer und Hersteller und verknüpft beides in Excel mit nem XVERWEIS. Paar Klicks und fertig, mit all den vielen Auswertungsmöglichkeiten, die man in Excel nutzen kann.

Ich will damit nicht sagen, dass der SQL-Code dafür irgendwie herausfordernd wäre, es braucht ihn nur nicht zwingend, weil es auch mit Bordmitteln geht.

VG,
Frank
 

Torge

Gut bekanntes Mitglied
19. November 2021
111
11
Es geht leider nciht mit Bordmitteln!

Habe es jetzt selbst hinbekommen!

SELECT
cArtNr AS Artikelnummer,
cName AS Artikelname,
SUM(fAnzahl) AS Gesamtmenge,
SUM(fNettoPreisGesamt) AS Gesamt_Netto_Verkaufspreis
FROM Verkauf.lvRechnungsposition
WHERE DATEPART(YEAR, dVoraussichtlichesLieferdatum) = 2025
AND DATEPART(MONTH, dVoraussichtlichesLieferdatum) = 5
GROUP BY cArtNr, cName;
 
  • Gefällt mir
Reaktionen: frankell

MichaelH

Sehr aktives Mitglied
17. November 2008
14.487
1.891
Moin @Torge,

hast Du überlesen, warum der Code gelöscht wurde?

Davon ganz abgesehen ist das auch mit vorgegebenen Ameisenexporten machbar. Bei den Rechnungen bin ich mir nicht sicher, ob dort auch der Hersteller der Artikelposition als Exportspalte existiert (hab's grad nicht vor Augen), aber dann macht man nen zweiten Artikel-Export nur mit Artikelnummer und Hersteller und verknüpft beides in Excel mit nem XVERWEIS. Paar Klicks und fertig, mit all den vielen Auswertungsmöglichkeiten, die man in Excel nutzen kann.

Ich will damit nicht sagen, dass der SQL-Code dafür irgendwie herausfordernd wäre, es braucht ihn nur nicht zwingend, weil es auch mit Bordmitteln geht.

VG,
Frank

Falsch, es gibt keinen Export von Rechnungspositionen mit Artikelangaben.
 
  • Gefällt mir
Reaktionen: Torge

John

Sehr aktives Mitglied
3. März 2012
3.901
950
Berlin

Code:
SELECT
cArtNr AS Artikelnummer,
cName AS Artikelname,
SUM(fAnzahl) AS Gesamtmenge,
SUM(fNettoPreisGesamt) AS Gesamt_Netto_Verkaufspreis
FROM Verkauf.lvRechnungsposition
WHERE DATEPART(YEAR, dVoraussichtlichesLieferdatum) = 2025
AND DATEPART(MONTH, dVoraussichtlichesLieferdatum) = 5
GROUP BY cArtNr, cName;

Sicher, das DAS Dein Ergebnis sein soll?
Der Code riecht nach ChatGPT...
 
  • Haha
Reaktionen: MichaelH

Ähnliche Themen