Neu Export Rechnungspositionen inkl. Gewinn

SLINGSHOT

Aktives Mitglied
3. November 2020
51
6
Da man ja über die Ameise den Gewinn pro Rechnungsposition nicht exportieren kann bin ich auf jemanden mit guten SQL Kenntnissen angewiesen. Folgendes soll über den "eigenen Export" mit der Ameise Exportiert werden:

RechnungsdatumRechnungsnummerKundennummerHerstellerArtikelnummerArtikelnameMengeNetto VerkaufspreisNetto GesamtGewinn

Kann mir hier jemand behilflich sein?

Ich wäre über jede Hilfe wirklich dankbar!
 

SLINGSHOT

Aktives Mitglied
3. November 2020
51
6
Das hat SEHR geholfen vielen Dank!

Wie heißt das Tabellenfeld welches angibt ob die Rechnung bezahlt ist oder nicht? Weißt du das?
 

r.a.r.e.

Aktives Mitglied
7. Juni 2021
24
6
Hallo Jana, hallo Slingshot,
freut mich wenn es euch weiter bringt. Die angehangene Textdatei enthält den, um eine weitere Zeile, erweiterten Code. Das zeigt euch den Bezahlstatus.
 
Zuletzt von einem Moderator bearbeitet:

SLINGSHOT

Aktives Mitglied
3. November 2020
51
6
Hallo r.a.r.e,
wow vielen Dank nochmal für die Zügige Antwort!

Leider bekomme ich die neuen Code Zeilen inkl. des Artikelherstellers und des Bezahlstatus nicht in die vorhandene Abfrage eingebaut.

Düfte ich hier nochmals um Hilfe bitten? :)
 
Zuletzt von einem Moderator bearbeitet:

r.a.r.e.

Aktives Mitglied
7. Juni 2021
24
6
Ich würde den kompletten Code austauschen. Es ist der gleiche wie der erste Entwurf nur noch um die Zeile mit dem Bezahlstatus ergänzt. Ich habs getestet. Bei mir hats funktioniert. Schwer zu sagen von Ferne warum es bei dir nicht geht. Du kannst auch mit einem doppelten Bindestrich eine Zeile aus kommentieren um zu testen welche Zeile die Ausgabe verhindert.
 

r.a.r.e.

Aktives Mitglied
7. Juni 2021
24
6
Den Rechnungsstatus habe ich aus einem View, der "Kunde.lvRechnungen" heißt. Vielleicht gibts den in deiner Datenbank nicht oder er heißt anders und es geht deswegen nicht.
 

AQURO

Aktives Mitglied
14. Oktober 2019
38
6
Ich würde gerne den Zeitraum eingrenzen (z.B. auf eine Anfangs- und Enddatum), da sonst immer der gesamte Inhalt der DB exportiert wird, ohne Zeitbegrenzung.
 

AQURO

Aktives Mitglied
14. Oktober 2019
38
6
Top, danke. Funktioniert super. Allerdings sind die Werte manchmal einfach falsch: Z.B. fehlt der VK, wo auch immer der gezogen wird (aus der Rechnung?). Wir wollen einfach nur mal den Gewinn (VK-EK) eines Monats aufschlüsseln. Danke :)
 

r.a.r.e.

Aktives Mitglied
7. Juni 2021
24
6
Jetzt besser?
Top, danke. Funktioniert super. Allerdings sind die Werte manchmal einfach falsch: Z.B. fehlt der VK, wo auch immer der gezogen wird (aus der Rechnung?). Wir wollen einfach nur mal den Gewinn (VK-EK) eines Monats aufschlüsseln. Danke :)
Das mit dem VK-EK und Monatsgewinn ist mir nicht ganz klar. Gehts da um eine produktunabhängige Monatsbilanz?
 

AQURO

Aktives Mitglied
14. Oktober 2019
38
6
Es geht uns um Rentabilität, also die Kontrolle der Marge/des Gewinns auf z.B. Monatsbasis. Wir wollen keine Wissenschaft daraus machen, aber ein gewisses Controlling ist uns sehr wichtig, um Liquidität sowie theoretischen Gewinn zu tracken.
 

GG290

Aktives Mitglied
15. April 2020
5
0
Hallo r.a.r.e.,
Auch von mir ein großes Danke! Könnte man noch eine Spalte addieren von welchem Lager der Artikel ausgeliefert wurde. (Wir verwenden 2 Standardlager)
 

John

Sehr aktives Mitglied
3. März 2012
3.901
950
Berlin
@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.
 
Zuletzt bearbeitet: