Gelöst Stichtagsbezogene Lagerbewertung [WAWI-37044, WAWI-37043, WAWI-33817, WAWI-32600, WAWI-8316]

CptSwoo

Aktives Mitglied
28. Januar 2023
14
0
Hamburg
Moin zusammen!

Ich brauche etwas Hilfe für eine detailliertere Lagerbewertung.

Und zwar bräuchte ich zu den Einzelnen Artikeln auch die Einbuchungen und ausbuchungen.
So das wir eine Lagerdauer in dem Bericht nachvollziehen können.

Ich bin aber in der Sprache nicht so bewandt, dies komplett selbst zu erstellen. Kann mir jemand sagen wie ich die Felder eingeben muss?

Beste Grüße!
 

Yannick

Aktives Mitglied
2. Mai 2023
11
1
Moin moin,

mir ist beim testen der 0.92 eben aufgefallen, dass die Auswertung mit Lagerplätzen Artikel verliert.
Es werden weniger Spalten und nicht mehr und verschiedene Produkte verschwinden aus der Liste, obwohl sie Bestand haben.
Screenshot 2025-12-15 113625.pngScreenshot 2025-12-15 113738.png

bei hier nur 1500 Zeilen verliert er knapp 150 Zeilen, also vermutlich so um die 200-300 Artikel da schätzungsweise 100 Artikel auf mehreren Plätzen liegen.

Danke schonmal :D
 

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
142
83
Celle
Moin moin,

mir ist beim testen der 0.92 eben aufgefallen, dass die Auswertung mit Lagerplätzen Artikel verliert.
Es werden weniger Spalten und nicht mehr und verschiedene Produkte verschwinden aus der Liste, obwohl sie Bestand haben.
Den Anhang 128535 betrachtenDen Anhang 128538 betrachten

bei hier nur 1500 Zeilen verliert er knapp 150 Zeilen, also vermutlich so um die 200-300 Artikel da schätzungsweise 100 Artikel auf mehreren Plätzen liegen.

Danke schonmal :D
Vielen Dank für den Hinweis. Ich schaue es mir direkt an.

LG
 

feuershow.de

Aktives Mitglied
11. November 2019
80
15
Super Tool, hat mir sehr geholfen, vielen Dank. hab auch gleich was gespendet.
Dooferweise habe ich den EK nicht gut gepflegt, da es ziemlich komplex ist bei uns (viele Artikel werden zwar verkauft als meterware, aber auch verarbeitet mit anderen Artikeln, Arbeitszeit etc. zu diversen neuen Artikeln und da ist die EK Berechnung etxrem schwierig).
Wie kann ich denn den VK netto mit ausgeben in der generierten Excel?
Merci Sam
 
  • Gefällt mir
Reaktionen: recent.digital

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
142
83
Celle
Moin Zusammen,
hab ein neues Release 0.94 herausgebraucht.
Dort ist @Yannick das Problem behoben :)
Ausserdem hier ein Profil mit Netto VK und Netto VK Gesamt @feuershow.de

SQL:
/*
FORUMWUNSCH - feuershow.de
- basiert auf "ALLE Zustände"
- stichtagsbezogener Bestand + EK
- zusätzlich VK Netto + VK Netto Gesamt

Hinweis:
VK wird bevorzugt aus tPreis/tPreisDetail (Shop=0, Kundengruppe=1) gezogen.
Wenn dort nichts existiert: Fallback auf tArtikel.fVKNetto.

Parameter:
  @date      (DATE)
  @warehouse (INT)
*/

SELECT
    tArtikel.cArtNr                          AS Artikelnummer,
    MAX(tArtikelBeschreibung.cName)          AS Artikelname,
    MAX(ESVerk.cName)                        AS Verkaufseinheit,
    MAX(ISNULL(tArtikel.fMassMenge,1))       AS InhaltMenge,
    MAX(MES.cName)                           AS InhaltEinheit,

    SUM( (ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0)) * ISNULL(tArtikel.fEKNetto,0) ) AS [Einkaufspreis Gesamt],

    CASE
        WHEN SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0)) <> 0
        THEN SUM( (ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0)) * ISNULL(tArtikel.fEKNetto,0) )
             / SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0))
        ELSE 0
    END                                     AS [Durchschnittlicher EK Einzel],

    SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0))               AS Bestand,
    tWarenLager.cName                       AS Lager,
    MAX(Ein.dGeliefertAm)                   AS [Letztes Lieferdatum],

    -- VK Netto (bevorzugt aus tPreis/tPreisDetail; sonst tArtikel.fVKNetto)
    MAX(COALESCE(VKP.VKNetto, tArtikel.fVKNetto, 0))                  AS [VK Netto],

    -- VK Netto Gesamt (Bestand * VK Netto)
    SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0))
      * MAX(COALESCE(VKP.VKNetto, tArtikel.fVKNetto, 0))              AS [VK Netto Gesamt]

FROM dbo.tWarenLagerPlatz
JOIN dbo.tWarenLager
  ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager

LEFT JOIN dbo.tWarenLagerEingang Ein
  ON tWarenLagerPlatz.kWarenLagerPlatz = Ein.kWarenLagerPlatz
 AND Ein.dErstellt < DATEADD(day,1,@date)

LEFT JOIN dbo.tArtikel
  ON Ein.kArtikel = tArtikel.kArtikel

LEFT JOIN dbo.tSpracheUsed
  ON tSpracheUsed.nStandard = 1

LEFT JOIN (
    SELECT DISTINCT kArtikel,cName,kSprache,kPlattform
    FROM dbo.tArtikelBeschreibung
) tArtikelBeschreibung
  ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
 AND tSpracheUsed.kSprache = tArtikelBeschreibung.kSprache
 AND tArtikelBeschreibung.kPlattform = 1

LEFT JOIN dbo.tEinheit EVerk
  ON tArtikel.kVerkaufsEinheit = EVerk.kEinheit

LEFT JOIN dbo.tEinheitSprache ESVerk
  ON EVerk.kEinheit = ESVerk.kEinheit
 AND ESVerk.kSprache = 1

LEFT JOIN dbo.tMassEinheit ME
  ON tArtikel.kMassEinheit = ME.kMassEinheit

LEFT JOIN dbo.tMassEinheitSprache MES
  ON ME.kMassEinheit = MES.kMassEinheit
 AND MES.kSprache = 1

LEFT JOIN (
    SELECT
        SUM(ISNULL(fAnzahl,0)) AS fAnzahl,
        kWarenLagerEingang
    FROM dbo.tWarenLagerAusgang
    WHERE ISNULL(dErstellt,GETDATE()) < DATEADD(day,1,@date)
    GROUP BY kWarenLagerEingang
) Aus
  ON Ein.kWarenLagerEingang = Aus.kWarenLagerEingang

-- VK aus Preis-Tabelle (kleinste Staffel)
OUTER APPLY (
    SELECT TOP(1)
        CONVERT(decimal(18,4), pd.fNettoPreis) AS VKNetto
    FROM dbo.tPreis p
    JOIN dbo.tPreisDetail pd
      ON pd.kPreis = p.kPreis
    WHERE p.kArtikel = tArtikel.kArtikel
      AND ISNULL(p.kShop,0) = 0
      AND ISNULL(p.kKundengruppe, 1) = 1   -- Standard-Kundengruppe (Fallback)
    ORDER BY pd.nAnzahlAb ASC
) VKP

WHERE tWarenLager.kWarenLager = @warehouse

GROUP BY
    tArtikel.cArtNr,
    tWarenLager.cName

HAVING SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0)) > 0

ORDER BY
    tArtikel.cArtNr;


Wie immer unter: https://schadeit.de/stockscope/

Gruß
Maurice
 
  • Gefällt mir
Reaktionen: feuershow.de

feuershow.de

Aktives Mitglied
11. November 2019
80
15
Moin Zusammen,
hab ein neues Release 0.94 herausgebraucht.
Dort ist @Yannick das Problem behoben :)
Ausserdem hier ein Profil mit Netto VK und Netto VK Gesamt @feuershow.de

SQL:
/*
FORUMWUNSCH - feuershow.de
- basiert auf "ALLE Zustände"
- stichtagsbezogener Bestand + EK
- zusätzlich VK Netto + VK Netto Gesamt

Hinweis:
VK wird bevorzugt aus tPreis/tPreisDetail (Shop=0, Kundengruppe=1) gezogen.
Wenn dort nichts existiert: Fallback auf tArtikel.fVKNetto.

Parameter:
  @date      (DATE)
  @warehouse (INT)
*/

SELECT
    tArtikel.cArtNr                          AS Artikelnummer,
    MAX(tArtikelBeschreibung.cName)          AS Artikelname,
    MAX(ESVerk.cName)                        AS Verkaufseinheit,
    MAX(ISNULL(tArtikel.fMassMenge,1))       AS InhaltMenge,
    MAX(MES.cName)                           AS InhaltEinheit,

    SUM( (ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0)) * ISNULL(tArtikel.fEKNetto,0) ) AS [Einkaufspreis Gesamt],

    CASE
        WHEN SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0)) <> 0
        THEN SUM( (ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0)) * ISNULL(tArtikel.fEKNetto,0) )
             / SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0))
        ELSE 0
    END                                     AS [Durchschnittlicher EK Einzel],

    SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0))               AS Bestand,
    tWarenLager.cName                       AS Lager,
    MAX(Ein.dGeliefertAm)                   AS [Letztes Lieferdatum],

    -- VK Netto (bevorzugt aus tPreis/tPreisDetail; sonst tArtikel.fVKNetto)
    MAX(COALESCE(VKP.VKNetto, tArtikel.fVKNetto, 0))                  AS [VK Netto],

    -- VK Netto Gesamt (Bestand * VK Netto)
    SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0))
      * MAX(COALESCE(VKP.VKNetto, tArtikel.fVKNetto, 0))              AS [VK Netto Gesamt]

FROM dbo.tWarenLagerPlatz
JOIN dbo.tWarenLager
  ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager

LEFT JOIN dbo.tWarenLagerEingang Ein
  ON tWarenLagerPlatz.kWarenLagerPlatz = Ein.kWarenLagerPlatz
 AND Ein.dErstellt < DATEADD(day,1,@date)

LEFT JOIN dbo.tArtikel
  ON Ein.kArtikel = tArtikel.kArtikel

LEFT JOIN dbo.tSpracheUsed
  ON tSpracheUsed.nStandard = 1

LEFT JOIN (
    SELECT DISTINCT kArtikel,cName,kSprache,kPlattform
    FROM dbo.tArtikelBeschreibung
) tArtikelBeschreibung
  ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
 AND tSpracheUsed.kSprache = tArtikelBeschreibung.kSprache
 AND tArtikelBeschreibung.kPlattform = 1

LEFT JOIN dbo.tEinheit EVerk
  ON tArtikel.kVerkaufsEinheit = EVerk.kEinheit

LEFT JOIN dbo.tEinheitSprache ESVerk
  ON EVerk.kEinheit = ESVerk.kEinheit
 AND ESVerk.kSprache = 1

LEFT JOIN dbo.tMassEinheit ME
  ON tArtikel.kMassEinheit = ME.kMassEinheit

LEFT JOIN dbo.tMassEinheitSprache MES
  ON ME.kMassEinheit = MES.kMassEinheit
 AND MES.kSprache = 1

LEFT JOIN (
    SELECT
        SUM(ISNULL(fAnzahl,0)) AS fAnzahl,
        kWarenLagerEingang
    FROM dbo.tWarenLagerAusgang
    WHERE ISNULL(dErstellt,GETDATE()) < DATEADD(day,1,@date)
    GROUP BY kWarenLagerEingang
) Aus
  ON Ein.kWarenLagerEingang = Aus.kWarenLagerEingang

-- VK aus Preis-Tabelle (kleinste Staffel)
OUTER APPLY (
    SELECT TOP(1)
        CONVERT(decimal(18,4), pd.fNettoPreis) AS VKNetto
    FROM dbo.tPreis p
    JOIN dbo.tPreisDetail pd
      ON pd.kPreis = p.kPreis
    WHERE p.kArtikel = tArtikel.kArtikel
      AND ISNULL(p.kShop,0) = 0
      AND ISNULL(p.kKundengruppe, 1) = 1   -- Standard-Kundengruppe (Fallback)
    ORDER BY pd.nAnzahlAb ASC
) VKP

WHERE tWarenLager.kWarenLager = @warehouse

GROUP BY
    tArtikel.cArtNr,
    tWarenLager.cName

HAVING SUM(ISNULL(Ein.fAnzahl,0) - ISNULL(Aus.fAnzahl,0)) > 0

ORDER BY
    tArtikel.cArtNr;


Wie immer unter: https://schadeit.de/stockscope/

Gruß
Maurice
wow, vielen dank, klappt super!!!
 

Bostler

Gut bekanntes Mitglied
31. Mai 2021
106
4
Hey super vielen Dank. Sieht wirklich gut aus.

Gibt es auch die möglichkeit Lagerbereiche mit auszugeben in der Excel ?
 

mckey

Gut bekanntes Mitglied
1. April 2012
138
18
Ich habe mir auch die neueste Version heruntergeladen. Nur jetzt finde ich nicht mehr wo ich einen Feed erstellen kann der die Abwertung berücksichtigt.

Ist diese Funktion nicht mehr dabei oder finde ich sie nur nicht mehr?

Grüße,
 

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
142
83
Celle
Hallo Zusammen,
ich schaue mir das bei Zeiten mit den Lagerbereichen an und erstelle ein Profil.

Wegen der Abwertung: Das ist in der aktuellen Version nicht mehr vorhanden und war auch nicht mehr geplant. Besteht da Interesse mehrfach?

Lg
 
  • Gefällt mir
Reaktionen: frankman

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
142
83
Celle
Hallo Zusammen,
habe die Software etwas geupdatet.
Es ist jetzt möglich eine Abwertung zu machen und diese auf seine Bedürfnisse anzupassen.
Ausserdem kann man Streckenlager wieder mit einbeziehen.

FBA Bestand habe ich leider immer noch nicht komplett fertig, da ich mir hier was einfallen lassenmuss zwecks Speicherung
ohne das Programm aufzublasen.

Die Doku ist leider noch nicht geupdatet und ich habe diese Version noch nicht super Intensiv testen können,
weshalb sie unter 0.97b läuft. Gebt mir gern ein Feedback :)

Screenshot_1.png

Download weiterhin unter: https://schadeit.de/stockscope/

LG
Maurice
 

Vietnett

Neues Mitglied
12. Mai 2026
2
0
Hallo @overflow23!

Erstmal ist das schon mal ein sehr schönes Programm!

Leider fehlen bei mir immer Artikel in der Liste, und die Bestände stimmen auch nicht korrekt überein. Mir würde auch eine Basisversion reichen in der Ich nur alle Artikel mit Gesamtbestand und EK aufgelistet bekomme ohne Filter.
Ich habe auch sämtliche Codes hier aus dem Thread ausprobiert. Ich hab auch die Abwertung in der Beta-Version ausgestellt, jedoch fehlen auch hier noch einige Artikel. Vielleicht liegt es daran, dass viele unserer Artikel mit dem selben Wort Anfangen bei der Bezeichnung? Aber ich habe keine Ahnung.

Wir hatten jemanden bei uns, der sich dessen annehmen wollte, er ist jedoch leider verstorben. Ich habe aber einen Code von Ihm gefunden, der sich um dasselbe Problem gedreht hat. Ich habe versucht den im Programm einzufügen, bekomme aber die Meldung, dass @Date und @warehouse fehlt, ich habe aber leider keine Ahnung, wo und wie ich das einfügen müsste.

Hier einmal der Code:

Code:
DECLARE @Stichtag AS DATE = CONVERT(DATE, '2022.03.01', 102);     

SELECT  tWarenLagerEingang.kArtikel AS kArtikel,
        tArtikel.cArtNr AS Artikelnummer,
        tArtikelBeschreibung.cName AS Artikelname,
        tWarenLager.cName AS Lager,
        CONVERT(FLOAT, SUM(tWarenLagerEingang.fAnzahl) - SUM(ISNULL(Warenausgang.fAnzahl, 0.0))) AS Bestand,
    CONVERT(FLOAT, SUM(tWarenLagerEingang.fAnzahl * tArtikel.fEKNetto) - SUM(ISNULL(Warenausgang.fAnzahl, 0.0) * tArtikel.fEKNetto)) AS EKGesamt -- EK aus GLD
    --CONVERT(FLOAT, SUM(tWarenLagerEingang.fAnzahl * CASE WHEN tWarenLagerEingang.fEKEinzel > 0.0 THEN tWarenLagerEingang.fEKEinzel ELSE tArtikel.fEKNetto END) - SUM(ISNULL(Warenausgang.fAnzahl, 0.0) * CASE WHEN tWarenLagerEingang.fEKEinzel > 0.0 THEN tWarenLagerEingang.fEKEinzel ELSE tArtikel.fEKNetto END)) AS EKGesamt -- EK aus Wareneingängen
FROM dbo.tWarenLagerEingang
JOIN dbo.tArtikel ON tWarenLagerEingang.kArtikel = tArtikel.kArtikel
JOIN dbo.tSpracheUsed ON nStandard = 1
JOIN dbo.tArtikelBeschreibung ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
    AND tSpracheUsed.kSprache = tArtikelBeschreibung.kSprache
    AND tArtikelBeschreibung.kPlattform = 1
JOIN dbo.tWarenLagerPlatz ON tWarenLagerEingang.kWarenLagerPlatz = tWarenLagerPlatz.kWarenLagerPlatz
JOIN dbo.tWarenLager ON tWarenLagerPlatz.kWarenLager = tWarenLager.kWarenLager
LEFT JOIN
(
    SELECT SUM(ISNULL(tWarenLagerAusgang.fAnzahl, 0.0)) AS fAnzahl,
            tWarenLagerAusgang.kWarenLagerEingang
    FROM dbo.tWarenLagerAusgang
    WHERE ISNULL(tWarenLagerAusgang.dErstellt, GETDATE()) < DATEADD(dd, +1, @Stichtag)
    GROUP BY tWarenLagerAusgang.kWarenLagerEingang
) AS Warenausgang ON tWarenLagerEingang.kWarenLagerEingang = Warenausgang.kWarenLagerEingang
WHERE tWarenLagerEingang.dErstellt < DATEADD(dd, +1, @Stichtag) 
GROUP BY    tWarenLagerEingang.kArtikel,     
            tArtikel.cArtNr,
            tArtikelBeschreibung.cName,
            tWarenLager.cName
HAVING SUM(tWarenLagerEingang.fAnzahl - ISNULL(Warenausgang.fAnzahl, 0.0)) > 0.0 -- Nur Bestände > 0.0
ORDER BY tArtikel.cArtNr;
GO


Vielen Dank schon mal für sämtliche Hilfe, die Ihr schon geleistet habt und die noch kommen sollte!

MFG
Hannes
 

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
142
83
Celle
Hey Hannes,
danke dir für die Rückmeldung und deinen Query.

Der Fehler mit @Date und @warehouse kommt daher, dass StockScope intern mit Parametern arbeitet. Das Programm übergibt den Stichtag automatisch als @date und das ausgewählte Lager als @warehouse.
In deinem SQL ist aber ein eigener Stichtag fest eingetragen:

SQL:
DECLARE @Stichtag AS DATE = CONVERT(DATE, '2022.03.01', 102);
Das passt so nicht zum Programm, weil Stock Scope den Stichtag bereits über die Oberfläche übergibt. Außerdem ist am Ende ein GO enthalten. Das funktioniert nur im SSMS, aber nicht direkt aus dem Programm heraus.

Dass viele Artikel mit dem gleichen Wort anfangen, sollte nicht die Ursache sein. Wahrscheinlicher ist, dass die Abfrage durch Lager-/Lagerplatz-/Stichtagslogik nicht alle Bestände so erfasst, wie sie in eurer Wawi liegen.
Zum Testen habe ich dir eine einfache Basis-Abfrage erstellt. Diese gibt ohne Zustandsfilter und ohne Abwertung nur Folgendes aus:
  • Artikelnummer
  • Artikelname
  • Gesamtbestand
  • EK Einzel
  • EK Gesamt
Wichtig: Bei diesem Profil bitte nicht „Alle Läger“ anhaken, weil die Abfrage bereits alle Lager zusammenfasst.

SQL:
/*
Basisprofil: Gesamtbestand alle Lager
Nur Artikel mit positivem Bestand.
Keine Zustandsfilter, keine Abwertung, kein Lagerfilter.

Hinweis:
@warehouse wird hier nur aus Kompatibilitätsgründen deklariert, aber nicht als Lagerfilter verwendet.
*/

DECLARE @warehouse_dummy INT = @warehouse;

;WITH AusgangSum AS
(
SELECT
WA.kWarenLagerEingang,
SUM(ISNULL(WA.fAnzahl, 0.0)) AS SumAusgang
FROM dbo.tWarenLagerAusgang WA
WHERE ISNULL(WA.dErstellt, GETDATE()) < DATEADD(day, 1, @date)
GROUP BY WA.kWarenLagerEingang
),
BestandJeArtikel AS
(
SELECT
WE.kArtikel,
SUM(ISNULL(WE.fAnzahl, 0.0) - ISNULL(A.SumAusgang, 0.0)) AS Bestand
FROM dbo.tWarenLagerEingang WE
LEFT JOIN AusgangSum A
ON A.kWarenLagerEingang = WE.kWarenLagerEingang
WHERE WE.dErstellt < DATEADD(day, 1, @date)
GROUP BY WE.kArtikel
)
SELECT
Art.cArtNr AS Artikelnummer,
MAX(AB.cName) AS Artikelname,
CAST(ISNULL(B.Bestand, 0.0) AS FLOAT) AS Gesamtbestand,
CAST(ISNULL(Art.fEKNetto, 0.0) AS FLOAT) AS [EK Einzel],
CAST(ISNULL(B.Bestand, 0.0) * ISNULL(Art.fEKNetto, 0.0) AS FLOAT) AS [EK Gesamt]
FROM dbo.tArtikel Art
LEFT JOIN BestandJeArtikel B
ON B.kArtikel = Art.kArtikel
LEFT JOIN dbo.tSpracheUsed SU
ON SU.nStandard = 1
LEFT JOIN dbo.tArtikelBeschreibung AB
ON AB.kArtikel = Art.kArtikel
AND AB.kSprache = SU.kSprache
AND AB.kPlattform = 1
WHERE ISNULL(B.Bestand, 0.0) > 0.0
GROUP BY
Art.kArtikel,
Art.cArtNr,
Art.fEKNetto,
B.Bestand
ORDER BY
Art.cArtNr;

Damit können wir erstmal prüfen, ob die Grundbestände sauber herauskommen. Wenn dort bereits Artikel fehlen, liegt es sehr wahrscheinlich an der Bestands-/Wareneingangslogik. Wenn dort alles passt, liegt das Problem eher in einem der spezielleren Profile oder in der Lagerauswahl.
LG
 

Vietnett

Neues Mitglied
12. Mai 2026
2
0
Hey Hannes,
danke dir für die Rückmeldung und deinen Query.

Der Fehler mit @Date und @warehouse kommt daher, dass StockScope intern mit Parametern arbeitet. Das Programm übergibt den Stichtag automatisch als @date und das ausgewählte Lager als @warehouse.
In deinem SQL ist aber ein eigener Stichtag fest eingetragen:

SQL:
DECLARE @Stichtag AS DATE = CONVERT(DATE, '2022.03.01', 102);
Das passt so nicht zum Programm, weil Stock Scope den Stichtag bereits über die Oberfläche übergibt. Außerdem ist am Ende ein GO enthalten. Das funktioniert nur im SSMS, aber nicht direkt aus dem Programm heraus.

Dass viele Artikel mit dem gleichen Wort anfangen, sollte nicht die Ursache sein. Wahrscheinlicher ist, dass die Abfrage durch Lager-/Lagerplatz-/Stichtagslogik nicht alle Bestände so erfasst, wie sie in eurer Wawi liegen.
Zum Testen habe ich dir eine einfache Basis-Abfrage erstellt. Diese gibt ohne Zustandsfilter und ohne Abwertung nur Folgendes aus:
  • Artikelnummer
  • Artikelname
  • Gesamtbestand
  • EK Einzel
  • EK Gesamt
Wichtig: Bei diesem Profil bitte nicht „Alle Läger“ anhaken, weil die Abfrage bereits alle Lager zusammenfasst.

SQL:
/*
Basisprofil: Gesamtbestand alle Lager
Nur Artikel mit positivem Bestand.
Keine Zustandsfilter, keine Abwertung, kein Lagerfilter.

Hinweis:
@warehouse wird hier nur aus Kompatibilitätsgründen deklariert, aber nicht als Lagerfilter verwendet.
*/

DECLARE @warehouse_dummy INT = @warehouse;

;WITH AusgangSum AS
(
SELECT
WA.kWarenLagerEingang,
SUM(ISNULL(WA.fAnzahl, 0.0)) AS SumAusgang
FROM dbo.tWarenLagerAusgang WA
WHERE ISNULL(WA.dErstellt, GETDATE()) < DATEADD(day, 1, @date)
GROUP BY WA.kWarenLagerEingang
),
BestandJeArtikel AS
(
SELECT
WE.kArtikel,
SUM(ISNULL(WE.fAnzahl, 0.0) - ISNULL(A.SumAusgang, 0.0)) AS Bestand
FROM dbo.tWarenLagerEingang WE
LEFT JOIN AusgangSum A
ON A.kWarenLagerEingang = WE.kWarenLagerEingang
WHERE WE.dErstellt < DATEADD(day, 1, @date)
GROUP BY WE.kArtikel
)
SELECT
Art.cArtNr AS Artikelnummer,
MAX(AB.cName) AS Artikelname,
CAST(ISNULL(B.Bestand, 0.0) AS FLOAT) AS Gesamtbestand,
CAST(ISNULL(Art.fEKNetto, 0.0) AS FLOAT) AS [EK Einzel],
CAST(ISNULL(B.Bestand, 0.0) * ISNULL(Art.fEKNetto, 0.0) AS FLOAT) AS [EK Gesamt]
FROM dbo.tArtikel Art
LEFT JOIN BestandJeArtikel B
ON B.kArtikel = Art.kArtikel
LEFT JOIN dbo.tSpracheUsed SU
ON SU.nStandard = 1
LEFT JOIN dbo.tArtikelBeschreibung AB
ON AB.kArtikel = Art.kArtikel
AND AB.kSprache = SU.kSprache
AND AB.kPlattform = 1
WHERE ISNULL(B.Bestand, 0.0) > 0.0
GROUP BY
Art.kArtikel,
Art.cArtNr,
Art.fEKNetto,
B.Bestand
ORDER BY
Art.cArtNr;

Damit können wir erstmal prüfen, ob die Grundbestände sauber herauskommen. Wenn dort bereits Artikel fehlen, liegt es sehr wahrscheinlich an der Bestands-/Wareneingangslogik. Wenn dort alles passt, liegt das Problem eher in einem der spezielleren Profile oder in der Lagerauswahl.
LG
Moin!

Vielen Lieben Dank Maurice, das hat ganz hervorragend funktioniert, es scheinen auch alle Bestände korrekt und vollständig aufgelistet zu sein. Damit hast du mir sehr geholfen!

MFG
Hannes
 

LFU

Sehr aktives Mitglied
26. Januar 2017
189
28
Düsseldorf
Hallo Zusammen,

was habe ich mich gefreut als ich dieses Programm endeckt habe. Es ist genau das was ich suche um die Liegzeuten von Artikeln und Lagerplätzen zu ermitteln.
Leider bekomme ich immer ein Timeout. Hat da jemand veilleicht eine Idee für mich woarn das liegen kann?

Viele Grüße
Ralf
 
Ähnliche Themen
Titel Forum Antworten Datum
Seit dem Update meines JTL-Shops auf Version 5.7.1 funktioniert die Verbindung zwischen JTL-Wawi 2.0.4.0 und dem Shop nicht mehr. JTL-Wawi 2.0 1
Wawi 1.11 – viele Arbeitsabläufe sind schlechter geworden JTL-Wawi 1.11 1
Neu Belege aus JTL Wawi zu Lexoffice Schnittstellen Import / Export 5
Neu Amazon VCS Lite: Wie erstellt ihr unter Wawi 1.11 eine vollständige IGL-/ZM-Liste über alle Verkaufskanäle? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Gibt es in der WaWi-Datenbank einen Zeitstempel, der anzeigt wann ein Kunde sich in einem bestimmten Shop registriert hat? User helfen Usern - Fragen zu JTL-Wawi 3
Beantwortet [Shop 5.7.2 / Wawi 2.0.5] GPSR-Daten werden am Artikel nicht angezeigt trotz korrekter Übertragung und installiertem Plugin Allgemeine Fragen zu JTL-Shop 1
Neu Copy/Paste Abstürze seit JTL-Wawi 2.0.5 User helfen Usern - Fragen zu JTL-Wawi 4
Neu Amazon.com - kein Abgleich der Bestände Wawi 1.11.9 Amazon-Anbindung - Fehler und Bugs 0
Neu DSVGO konform 1000 Kunden in WaWi und Shop löschen! User helfen Usern - Fragen zu JTL-Wawi 4
Neu JTL Wawi 1.11.11 - Zahlungsabgleich bei FYRST Bank verlangt immer Passwort User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wawi 1.11. Amazon Rechnungen (extern) in der Kundenansicht verschwunden ?! User helfen Usern - Fragen zu JTL-Wawi 2
Updatezwang beim öffnen der WAWI JTL-Wawi 1.6 13
Neu Installationsdatei für JTL‑Wawi 1.9.6.5 Installation von JTL-Wawi 2
Neu kostenlos: DHL Sendungsverfolgung für JTL-Wawi – Web-Dashboard mit Frühwarnsystem Schnittstellen Import / Export 0
Neu JTL Wawi 2.0 oder höher WooCommerce-Connector 0
Changelog jtl Wawi 2.0.5 JTL-Wawi 2.0 10
Login Wawi nicht möglich nach Update auf 1.11.11 JTL-Wawi 1.11 1
Neu Nach Wawi Update Probleme mit Rechnungsdrucker JTL-POS - Fehler und Bugs 4
JTL Wawi 1.11.xx langsam unbenutzbar! JTL-Wawi 1.11 4
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Neu Rabatte aus dem JTL-Shop werden in der Wawi nur als Netto-Preis übernommen, Rabatt % gehen verloren Onlineshop-Anbindung 0
Wawi 1.11.9 Ständige Abstürze bei Aktualisierung Artikelstammdaten JTL-Wawi 1.11 4
ändern von Servernamen nach Neuinstallation von SQL und Verbindung mit neuem Server in der Wawi JTL-Wawi 2.0 2
Neu Ab Wawi 1.10 - JTL.Wawi.Pos.exe direkt ohne JTL-Administrator starten? Allgemeine Fragen zu JTL-POS 2
JTL APP - Fehlermeldung nach Update auf Wawi 1.11. JTL-Wawi App 6
JTL Wawi 1.11. - Fenstergröße - Artikel auf Einkaufsliste setzen JTL-Wawi 1.11 13
Neu Paypal Abgleich - Schnittstelle geändert- Wawi Update Erforderlich ! JTL-Wawi - Fehler und Bugs 12
Neu JTL-Wawi Shopabgleich per E-Mail überwachen (Warnungen & Fehler) Onlineshop-Anbindung 1
Neu Erstellung der Sitemap bei WaWi Abgleich funktioniert nicht Allgemeine Fragen zu JTL-Shop 0
Neu Bug? Führende Nullen bei Sendungsnummern verschwinden in JTL-Wawi 2.0.3 JTL-ShippingLabels - Fehler und Bugs 1
Nach Wawi Update keine Fehlermeldung mehr sichtbar kaufland.de - Anbindung (SCX) 2
DPD Cloud Labeldruck auf Zebra LP 2844-Z seit Update auf JTL-Wawi 1.11.x fehlerhaft JTL-Wawi 1.11 3
JTL-Wawi sucht falschen ShopType nach Gambio-Update JTL-Wawi 1.7 2
Wawi 1.11. Rechnungsanhang funktioniert nicht mehr bei Versandmail JTL-Wawi 1.11 6
Nach update 1.8>1.11 Kein Mandant in JTL-Wawi gefunden JTL-Wawi 1.11 5
POS anbinden an WAWI 1.11.10.0 JTL-Wawi 1.11 2
Emailvorlagen in WAWI JTL-Wawi 2.0 9
Wawi 1.11.10 : Feldinhalt "Kundenkommentar" fehlt beim Versand in WMS JTL-Wawi 1.11 0
Neu Eignes Feld aus Auftrag in Rechnung anzeigen lassen JTL-WaWi 1.11.10 Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Lizenz-Störung? Ich erhalte keinen Zugriff mehr zu meiner Wawi, egal welcher User JTL-Wawi 1.11 3
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 2
WAWI 2.0.0 erkennt keine Updates JTL-Wawi 2.0 1
Neu Umzug von sehr alter JTL Wawi Version auf neuen PC User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL REST API (on premise) - welche API Version ab welcher Wawi-Version? Changelog? Schnittstellen Import / Export 0
Wawi verschluckt Zeichen beim Mailversand JTL-Wawi 2.0 1
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Beantwortet [WAWI-85758] Nach Update auf 1.11.10 klappt stornieren über ios Wawi App nicht mehr JTL-Workflows - Fehler und Bugs 1
Wawi Meldung SQL Servicepack zu installieren - aber welches? Update SQL2022 CU24 nicht möglich JTL-Wawi 1.11 6
Keine Rückmeldung in JTL Wawi sobald SQL Server Memory durch Database Cache ausgeslastet ist JTL-Wawi 2.0 9
Neu Nach Update auf JTL-Wawi 2.0.3 keine WMS-Lager mehr auswählbar – Versand komplett blockiert JTL-Wawi 2.0 3

Ähnliche Themen