@Visitmedia | Marc - Danke für Deine ausführliche Antwort und natürlich insbesondere für Dein Angebot bei Kleinigkeiten auch noch einmal Arbeit zu investieren. Das weiß ich wirklich zu schätzen!
Meine Probleme, also der Grund, warum ich mit Deinem Tool allein nicht klarkomme, ist leider keine "Kleinigkeit", sondern liegt zum Teil daran, wie wir "lagerhalten" und dann auch an ein paar seit vielen Jahren bekannten Unzulänglichkeiten der
Wawi im Zusammenhang mit der Buchung von Wareneingängen, der Behandlung von Um- und Korrekturbuchungen und den bekannten Problemen im Zusammenhang mit dem GLD.
Zum Einen haben wir multiple Lager die alle separat bewertet werden müssen, als da wären, Standardlager, Retourenlager, Reparaturlager, Transferlager, Komissionslager (multiple, geldwerter Vorteil...), Demolager und Ausschußlager. Manche dieser Lagertypen sind schon speziell, wie zum Beispiel das Ausschußlager. Wir dürfen abgelaufene Medizinartikel nämlich nach Finanzamtsweisung nicht direkt abschreiben, wenn wir sie noch für interne Testzwecke benutzen, z.B. EKG Elektroden, sondern müssen ihren Lagerwert dann linear abschreiben. All so was halt ...
Dann gab es bis ~1.3 das Problem, dass Wareneingänge, deren EK auf der Bestellung mit 0€ angegeben wurden, weil es sich entweder um kostenlose Beigaben oder bei uns meistens um Ersatzbestellungen für Rücklieferungen defekter Artikel handelt, statt mit 0€ immer mit dem aktuellen GLD eingebucht wurden. Das kommt bei mir praktisch bei jeder
Lieferantenbestellung der letzten Jahre vor, großes Kino, und das kriegt kein Standard-Tool hin, sondern dazu muss ich zurück auf die Lieferantenbestellungen, also zumindest ein JOIN tiefer, um das zu finden und geradezuziehen.
Dann sind da noch die vielen Probleme mit den GLD Updates bei der Nutzung von Eingangsrechnungen und bei überlappenden Lieferungen und Eingangsrechnungen, bei denen die Ware das Lager schon wieder verläßt, bevor die ER eingebucht wird. Ich kann im Moment nicht sagen, wie schlimm das noch ist, aber "historisch" gesehen" war das für mich ziemlich gravierend, weil diese Abfolge bei mir die absolute Regel ist und ich musste für die Lagerbewertung am Jahresende bisher immer massiv alles zurechtbiegen, um auf korrekte Lagerwerte zu kommen.
Deshalb war ich auch so begeistert von Deinem Tool und seiner Fähigkeit, das Lager auch auf Basis der Werte aus dem Wareneingang, sagen wir mal ~ auf WE-EK Basis, zu bewerten. Dann musste ich aber feststellen, dass Inventurbuchungen, Um- und Korrekturbuchungen und auch Umlagerungen z.B. von Artikeln mit Seriennummern, Chargen, usw. die einen diskreten EK haben, die Artikel immer mit dem aktuellen GLD wieder einbuchen und da es sich bei Umlagerungen um Artikel z.B. mit der gleichen SN handelt, die raus- und reingehen, ist nach der Umlagerung nirgends mehr in der DB ein Hinweis auf den ursprünglichen EK zu finden, der ist einfach mit dem aktuellen GLD überschrieben und
tLagerArtikel.kLieferantenbestellung zeigt dann auch auf die Umlagerung. Damit ist jegliche Möglichkeit, noch einmal an den tatsächlichen EK dieses Artikels zu kommen FUTSCH! Tja, stimmt der GLD, ist das vielleicht egal, stimmt er aber nicht, dann ist das nicht nur Scheiße, sondern dieser Mechanismus zwingt Dein Tool auch in die Spur, denn nach einer
Inventur, wie der vom Ende des letzten Jahres, bei der praktisch kein Artikel ohne Inventur-Justage durchging, sind auch in Deinem Tool WE-EK=GLD ... und damit dann beide falsch, gratuliere.
Dagegen kommst Du mit Deinem Tool auch nicht an und wenn ich es mir so recht überlege, dann habe auch ich eigentlich nur zwei Chancen: Entweder ich programmiere mir selbst ein Tool, dass alle Lager Zu- und Abgänge bis auf die Lieferantenbestellungen zurückführt und dann extern alles in Beziehung setzt und die korrekten Lagerwerte berechnet. Das hätte den Vorteil, dass ich nicht auf SQL Logik beschränkt bin, aber den Nachteil, dass die DB unverändert falsche Werte führt. Oder aber ich gehe mit meinen Lieferantenbestellungen so weit in der Zeit zurück, wie mein Lager am 31.12.2017 zurückgereicht hat, korrigiere alle Artikel-EKs auf die tatsächlichen Werte und aktualisiere dann die GLDs der Artikel auf Basis der Vorwärtsberechnung und nutze dann den SQL Code aus Deinem Tool pro Lager, um die Lagerwerte zu berechnen.
P.S.
Workflow-fähig heißt hier manueller Workflow und ich sehe da eigentlich kein Problem. Je nachdem, ob ich mit dem, was JTL in
{% capture query %} Konstrukten zuläßt, klarkomme, also ohne ohne Schreibzugriffe auf
dbo. und ohne
TempDB zu brauchen (ist ja auch verboten, warum?), dann wäre es leicht, einen Workflow damit zu füttern. Sonst je nach Komplexität eben über einen View oder über eine eigene SP oder eben ganz über ein externes Tool, ich gehe da auf jeden Fall den Weg des geringsten Widerstandes, denn Zeit zum Programmieren ist leider das, wovon ich Heutzutage am allerwenigsten habe.