BUG in 1.11.4.0 - verpackte Pakete pro Mitarbeiter

logisus

Aktives Mitglied
8. Februar 2018
30
3
Hallo,

in der neuen Version werden die Pakete nicht mehr tageweise aufsummiert, sondern alle mit 1 Stück geschrieben, so daß die Tagesmenge nicht mehr erkennbar ist.
Gibt es schon eine Lösung?

VG
 

Svenbkm

Neues Mitglied
17. November 2025
20
1
Hallo,

in der neuen Version werden die Pakete nicht mehr tageweise aufsummiert, sondern alle mit 1 Stück geschrieben, so daß die Tagesmenge nicht mehr erkennbar ist.
Gibt es schon eine Lösung?

VG
ja ist bei uns auch so und die Spalte heißt "Column1".
Du kannst dir aber mit dem Widget "Top Packer" aushelfen - da kannst du Anzahl der Tage eingeben so machen wir es aktuell damit wir es überhaupt etwas Monitorisieren können

Gruß
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
1.110
431
SQL:
ALTER FUNCTION [Dashboard].[tfnPaketeProMitarbeiter]
(
    @kWarenlager INT,
    @enddate DATE
)
RETURNS TABLE
AS
/*************************************************************************************************************
Beschreibung:    Diese TVF-Function ist die Basis-Query für das Dashboard-Widget "Lager/Verpackte Pakete pro Mitarbeiter".
                Übergeben werden die Lager ID und das Datum, ab dem die Warenausgänge gezählt werden sollen.
--------------------------------------------------------------------------------------------------------------
-- Beispielaufruf:
SELECT Mitarbeiter, Pakete, Datum FROM Dashboard.tfnPaketeProMitarbeiter(1, '2022-12-30') -- kWarenlager und Datum ab dem die Warenausgänge gezählt werden sollen
*************************************************************************************************************/
RETURN
SELECT Benu.cName AS Mitarbeiter, COUNT(Vers.kVersand) AS Pakete, TRY_CAST(Vers.dErstellt as date) AS Datum
FROM dbo.tVersand AS Vers
LEFT JOIN eazybusiness.dbo.tBenutzer AS Benu  ON Benu.kBenutzer = Vers.kBenutzer
WHERE Vers.dErstellt >= @enddate
AND EXISTS (SELECT *
            FROM dbo.tLieferschein AS Lief
            JOIN dbo.tLieferscheinpos AS LiPo ON LiPo.kLieferschein = Lief.kLieferschein
            JOIN dbo.tWarenlagerausgang AS WaLA ON WaLA.kLieferscheinPos = LiPo.kLieferscheinPos
            JOIN dbo.tWarenLagerPlatz AS WaLP ON WaLP.kWarenLagerPlatz = WaLA.kWarenLagerPlatz
            WHERE WaLP.kWarenLager = @kWarenLager
            AND Lief.kLieferschein = Vers.kLieferschein)
GROUP BY Benu.cName, TRY_CAST(Vers.dErstellt as date)
Moin. Korrigierte Abfrage. Ohne Gewähr.
 
  • Gefällt mir
Reaktionen: BetterGarden

Enes

Aktives Mitglied
27. Juni 2017
20
3
SQL:
ALTER FUNCTION [Dashboard].[tfnPaketeProMitarbeiter]
(
    @kWarenlager INT,
    @enddate DATE
)
RETURNS TABLE
AS
/*************************************************************************************************************
Beschreibung:    Diese TVF-Function ist die Basis-Query für das Dashboard-Widget "Lager/Verpackte Pakete pro Mitarbeiter".
                Übergeben werden die Lager ID und das Datum, ab dem die Warenausgänge gezählt werden sollen.
--------------------------------------------------------------------------------------------------------------
-- Beispielaufruf:
SELECT Mitarbeiter, Pakete, Datum FROM Dashboard.tfnPaketeProMitarbeiter(1, '2022-12-30') -- kWarenlager und Datum ab dem die Warenausgänge gezählt werden sollen
*************************************************************************************************************/
RETURN
SELECT Benu.cName AS Mitarbeiter, COUNT(Vers.kVersand) AS Pakete, TRY_CAST(Vers.dErstellt as date) AS Datum
FROM dbo.tVersand AS Vers
LEFT JOIN eazybusiness.dbo.tBenutzer AS Benu  ON Benu.kBenutzer = Vers.kBenutzer
WHERE Vers.dErstellt >= @enddate
AND EXISTS (SELECT *
            FROM dbo.tLieferschein AS Lief
            JOIN dbo.tLieferscheinpos AS LiPo ON LiPo.kLieferschein = Lief.kLieferschein
            JOIN dbo.tWarenlagerausgang AS WaLA ON WaLA.kLieferscheinPos = LiPo.kLieferscheinPos
            JOIN dbo.tWarenLagerPlatz AS WaLP ON WaLP.kWarenLagerPlatz = WaLA.kWarenLagerPlatz
            WHERE WaLP.kWarenLager = @kWarenLager
            AND Lief.kLieferschein = Vers.kLieferschein)
GROUP BY Benu.cName, TRY_CAST(Vers.dErstellt as date)
Moin. Korrigierte Abfrage. Ohne Gewähr.
Öffne zunächst SQL Server Management Studio und verbinde dich mit dem entsprechenden SQL Server.

Gehe anschließend links im Objekt-Explorer zu:
Datenbanken → deine_Datenbank → Programmierbarkeit → Funktionen → Tabellenwertfunktionen

Dort suchst du folgende Funktion:
Dashboard.tfnPaketeProMitarbeiter

Danach gehst du wie folgt vor:
Rechtsklick auf die Funktion → Skript für Funktion als → ALTER in → Neues Abfrage-Editor-Fenster

Jetzt öffnet sich der aktuell gespeicherte SQL-Code der Funktion in einem neuen Abfragefenster. Diesen Code kannst du mit dem geänderten Code vergleichen.

Bevor Änderungen vorgenommen werden, sollte der vorhandene Code unbedingt gesichert werden:
Den kompletten Code kopieren, zum Beispiel in den Windows-Editor einfügen und speichern. So kann der ursprüngliche Stand wiederhergestellt werden, falls etwas schiefgeht.
Anschließend kann der vorhandene Code durch den neuen Code ersetzt werden.


Code:
USE [DEINE_DATENBANK]
GO

ALTER FUNCTION [Dashboard].[tfnPaketeProMitarbeiter]
(
    @kWarenlager INT,
    @enddate DATE
)
RETURNS TABLE
AS
RETURN
SELECT
    Benu.cName AS Mitarbeiter,
    COUNT(Vers.kVersand) AS Pakete,
    CAST(Vers.dErstellt AS date) AS Datum
FROM dbo.tVersand AS Vers
LEFT JOIN eazybusiness.dbo.tBenutzer AS Benu 
    ON Benu.kBenutzer = Vers.kBenutzer
WHERE Vers.dErstellt >= @enddate
AND EXISTS (
    SELECT 1
    FROM dbo.tLieferschein AS Lief
    JOIN dbo.tLieferscheinpos AS LiPo
        ON LiPo.kLieferschein = Lief.kLieferschein
    JOIN dbo.tWarenlagerausgang AS WaLA
        ON WaLA.kLieferscheinPos = LiPo.kLieferscheinPos
    JOIN dbo.tWarenLagerPlatz AS WaLP
        ON WaLP.kWarenLagerPlatz = WaLA.kWarenLagerPlatz
    WHERE WaLP.kWarenLager = @kWarenLager
    AND Lief.kLieferschein = Vers.kLieferschein
)
GROUP BY
    Benu.cName,
    CAST(Vers.dErstellt AS date)
GO


Wichtiger Hinweis​

Die Durchführung erfolgt auf eigene Verantwortung. Ich übernehme keine Haftung für Schäden, Datenverlust oder sonstige Probleme, die durch Änderungen an der Datenbank oder am SQL-Code entstehen können.
Alle Angaben sind ohne Gewähr. Vor jeder Änderung sollte unbedingt eine Sicherung des bestehenden Codes sowie, wenn möglich, ein aktuelles Backup der Datenbank erstellt werden.