Neu Custom Workflow Aufträge nach Artikelnummer sortieren

drafty

Aktives Mitglied
13. April 2018
5
0
Ich möchte gerne die Artikelpositiones Auftrag nach Erstellung über einen Custom Workflow neu sortieren.
Leider sind die Aufträge danach "Fehlerhaft" obwohl ich sowohl tbestellpos als auch Verkauf.tAuftragPosition korrigieren.

Hat jemand eine Idee?

SQL:
USE [eazybusiness]
GO
/****** Object:  StoredProcedure [CustomWorkflows].[spAuftragSortieren]    Script Date: 26.06.2024 07:22:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [CustomWorkflows].[spAuftragSortieren] @kAuftrag INT AS
BEGIN
    -- Temporäre Tabelle erstellen, um die sortierten Daten zu speichern
    CREATE TABLE #AuftragSortiert (
        kBestellPos INT,
        kBestellung INT,
        cArtNr VARCHAR(255),
        nType INT,
        SortOrder INT
    );

    -- Daten in die temporäre Tabelle einfügen, sortiert nach Artikelnummer, wobei nType = 1 bevorzugt wird
    INSERT INTO #AuftragSortiert (kBestellPos, kBestellung, cArtNr, nType, SortOrder)
    SELECT
        kBestellPos,
        tBestellung_kBestellung,
        cArtNr,
        nType,
        CASE
            WHEN nType = 1 THEN ROW_NUMBER() OVER (ORDER BY cArtNr ASC)
            ELSE 0
        END AS SortOrder
    FROM
        tbestellpos
    WHERE
        tBestellung_kBestellung = @kAuftrag;

    -- Zusätzliche temporäre Tabelle für Positionen mit nType = 0 erstellen
    CREATE TABLE #AuftragSortiert_0 (
        kBestellPos INT,
        SortOrder INT
    );

    DECLARE @MaxSortOrder INT;
    SELECT @MaxSortOrder = MAX(SortOrder) FROM #AuftragSortiert WHERE nType = 1;

    -- SortOrder für Positionen mit nType = 2 berechnen und in die temporäre Tabelle einfügen
    INSERT INTO #AuftragSortiert_0 (kBestellPos, SortOrder)
    SELECT
        kBestellPos,
        @MaxSortOrder + ROW_NUMBER() OVER (ORDER BY kBestellPos)
    FROM
        #AuftragSortiert
    WHERE
        nType <> 1;

    -- SortOrder in der ursprünglichen temporären Tabelle für nType = 2 aktualisieren
    UPDATE a
    SET a.SortOrder = b.SortOrder
    FROM
        #AuftragSortiert a
    INNER JOIN
        #AuftragSortiert_0 b
    ON
        a.kBestellPos = b.kBestellPos;

    -- Ursprüngliche Sortierreihenfolge aktualisieren
    UPDATE bp
    SET bp.nSort = ass.SortOrder
    FROM
        tbestellpos bp
    INNER JOIN
        #AuftragSortiert ass
    ON
        bp.kBestellPos = ass.kBestellPos;

    
    UPDATE ap
    SET ap.nSort = ass.SortOrder
    FROM
        Verkauf.tAuftragPosition ap
    INNER JOIN
        #AuftragSortiert ass
    ON
        ap.kAuftragPosition = ass.kBestellPos;


    -- Temporäre Tabellen löschen
    DROP TABLE #AuftragSortiert;
    DROP TABLE #AuftragSortiert_0;
END
 

John

Sehr aktives Mitglied
3. März 2012
3.901
950
Berlin
Wofür brauchst Du die Sortierung denn?
Muß das wirklich Wawi intern im Auftrag geändert werden oder reicht es vielleicht, eine Ausgabe ( Druckvorlage) sortiert auszugeben oder so?
 

drafty

Aktives Mitglied
13. April 2018
5
0
Wofür brauchst Du die Sortierung denn?
Muß das wirklich Wawi intern im Auftrag geändert werden oder reicht es vielleicht, eine Ausgabe (Druckvorlage) sortiert auszugeben oder so?

In den Vorlagen haben wir es schon geändert.

Es handelt sich leider um sehr viele Farb/Größen Kombinationen. Wenn man keine automatische Sortierung hat, hat man keine Überblick mehr, welche Größe/Farbe bestellt wurde, und welche nicht.
 

John

Sehr aktives Mitglied
3. März 2012
3.901
950
Berlin
OK, wenn du es unbedingt hinbekommen möchtest, nimm JTL Diag und schau Dir an, was die Wawi beim Umsortieren per SQL macht.
 

drafty

Aktives Mitglied
13. April 2018
5
0
OK, wenn du es unbedingt hinbekommen möchtest, nimm JTL Diag und schau Dir an, was die Wawi beim Umsortieren per SQL macht.

Vielen Dank @John . Das hat mir sehr weitergeholfen.

Hier das ganze Skript für jemand, der es benötigen könnte:


SQL:
USE [eazybusiness]
GO
/****** Object:  StoredProcedure [CustomWorkflows].[spAuftragSortieren]    Script Date: 26.06.2024 07:22:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [CustomWorkflows].[spAuftragSortieren] @kAuftrag INT AS
BEGIN
    -- Temporäre Tabelle erstellen, um die sortierten Daten zu speichern
    CREATE TABLE #AuftragSortiert (
        kBestellPos INT,
        kBestellung INT,
        cArtNr VARCHAR(255),
        nType INT,
        SortOrder INT
    );
    
    -- Daten in die temporäre Tabelle einfügen, sortiert nach Artikelnummer, wobei nType = 1 bevorzugt wird
    INSERT INTO #AuftragSortiert (kBestellPos, kBestellung, cArtNr, nType, SortOrder)
    SELECT
        kBestellPos,
        tBestellung_kBestellung,
        cArtNr,
        nType,
        CASE
            WHEN nType = 1 THEN ROW_NUMBER() OVER (ORDER BY cArtNr ASC)
            ELSE 0
        END AS SortOrder
    FROM
        tbestellpos
    WHERE
        tBestellung_kBestellung = @kAuftrag;

    -- Zusätzliche temporäre Tabelle für Positionen mit nType = 0 erstellen
    CREATE TABLE #AuftragSortiert_0 (
        kBestellPos INT,
        SortOrder INT
    );

    DECLARE @MaxSortOrder INT;
    SELECT @MaxSortOrder = MAX(SortOrder) FROM #AuftragSortiert WHERE nType = 1;

    -- SortOrder für Positionen mit nType = 2 berechnen und in die temporäre Tabelle einfügen
    INSERT INTO #AuftragSortiert_0 (kBestellPos, SortOrder)
    SELECT
        kBestellPos,
        @MaxSortOrder + ROW_NUMBER() OVER (ORDER BY kBestellPos)
    FROM
        #AuftragSortiert
    WHERE
        nType <> 1;

    -- SortOrder in der ursprünglichen temporären Tabelle für nType = 2 aktualisieren
    UPDATE a
    SET a.SortOrder = b.SortOrder
    FROM
        #AuftragSortiert a
    INNER JOIN
        #AuftragSortiert_0 b
    ON
        a.kBestellPos = b.kBestellPos;

    -- Ursprüngliche Sortierreihenfolge aktualisieren
    UPDATE ap
    SET ap.nSort = ass.SortOrder
    FROM
        Verkauf.tAuftragPosition ap
    INNER JOIN
        #AuftragSortiert ass
    ON
        ap.kAuftragPosition = ass.kBestellPos;


    -- Temporäre Tabellen löschen
    DROP TABLE #AuftragSortiert;
    DROP TABLE #AuftragSortiert_0;

    
    declare @p1 Verkauf.TYPE_spAuftragEckdatenBerechnen
    insert into @p1 values(@kAuftrag)
    EXEC Verkauf.spAuftragEckdatenBerechnen @auftrag = @p1
END
 
Ähnliche Themen
Titel Forum Antworten Datum
Große custom.css, wie geht es einfacher? Einrichtung JTL-Shop5 1
Seit dem Update auf JTL Wawi 1.11.4 funktioniert der Workflow "Datei Schreiben" nicht JTL-Wawi 1.11 1
Workflow - Werte setzen JTL-Wawi 1.11 0
Seit Update auf 1.11.4 Workflow für Kartonauswahl gibt error JTL Das Objekt mit Nullwert muss einen Wert haben. BrowsePk: 152325 WorkflowAktionId: 155 JTL-Wawi 1.11 1
Neu Workflow Artkel bereits bestellt Arbeitsabläufe in JTL-Wawi 1
Neu Workflow bei Zahlungseingang User helfen Usern - Fragen zu JTL-Wawi 1
Neu Workflow LandISO User helfen Usern - Fragen zu JTL-Wawi 3
Workflow zum abrufen der Upload-Datei aus dem Shop-Auftrag JTL-Wawi 1.11 0
Beantwortet Workflow Datei schreiben Dateiname per Dotliquid Fehler Illegales Zeichen im Pfad. callerMemberName : WriteFile JTL-Workflows - Fehler und Bugs 1
Neu Workflow zum automatischen Stornieren einer Rechnung nach Versand User helfen Usern - Fragen zu JTL-Wawi 4
Neu Artikel KinderArtikel anlegen: Workflow "Artikel erstellt und Artikel geändert" werden NUR beim Vaterartikel gestartet User helfen Usern - Fragen zu JTL-Wawi 0
Stornobeleg als Workflow-Trigger JTL-Wawi 1.10 6
Issue angelegt [WAWI-86213] Kartonagen nicht mehr über Workflow auswählbar nach Update auf 1.11.3 JTL-Workflows - Ideen, Lob und Kritik 1
In Diskussion Workflow für voraussichtlichen Liefertag erstellen JTL-Workflows - Ideen, Lob und Kritik 6
Neu Workflow für voraussichtlichen Liefertag erstellen User helfen Usern - Fragen zu JTL-Wawi 1
Lieferantenbestellung per Workflow bestätigen JTL-Wawi 1.11 0
In Diskussion Workflow: Straße enthält Postfiliale oder Paketshop JTL-Workflows - Fehler und Bugs 3
Neu Workflow 4 Wochen vor vorraus. Lieferdatum Arbeitsabläufe in JTL-Wawi 1
Überverkäufe über Workflow setzen JTL-Wawi 1.10 2
In Diskussion Workflow alle X Tage ausführen JTL-Workflows - Ideen, Lob und Kritik 5
Ausliefern Workflow über API JTL-Wawi 1.9 6
Neu Kann man das Shop-Guthaben von Kunden per Workflow beeinflussen? User helfen Usern - Fragen zu JTL-Wawi 0
JTL-Workflow | Automatisches Speichern von Rechnungen möglich? JTL-Wawi 1.9 2
In Diskussion Workflow Angebote OHNE Auftrag JTL-Workflows - Ideen, Lob und Kritik 8
Gelöst Workflow-Trigger für Selbstabholung / FFN-Versand JTL-Workflows - Fehler und Bugs 2
In Diskussion Workflow für bezahlte Aufträge eines bestimmten Lagers → Pickliste zu bestimmter Uhrzeit JTL-Workflows - Ideen, Lob und Kritik 2
In Diskussion Workflow verändert Wert JTL-Workflows - Ideen, Lob und Kritik 1
Workflow Standardlieferant JTL-Wawi 1.10 2
XML Auftragsimport per Workflow bediinen JTL-Wawi 1.8 1
Issue angelegt [WAWI-44314] Workflow automatisch 2 Pakete erstellen bei bestimmen Produkten? JTL-Workflows - Ideen, Lob und Kritik 2
Gelöst CustomWorkflow erscheint nicht in den Workflow-Aktionen JTL-Workflows - Fehler und Bugs 7
Neu Workflow um einen Artikel bei einem bestimmten Verkaufskanal zu aktivieren oder deaktivieren User helfen Usern - Fragen zu JTL-Wawi 4
Neu Mit Workflow verfügbaren Bestand aller Artikel in Datei schreiben User helfen Usern - Fragen zu JTL-Wawi 8
In Diskussion Workflow ausführen bei Lagerbestand 0 eines Lagers JTL-Workflows - Fehler und Bugs 3
Liste offener Aufträge ausgeben JTL-Wawi 1.11 2
Neu SCX Marktplatz Aufträge hängen im Status Pending JTL-Wawi - Fehler und Bugs 1
Seit Update auf 1.11.4: Hunderte Artikel plötzlich „in Aufträgen reserviert“, aber keine passenden Aufträge vorhanden JTL-Wawi 1.11 5
Alte Amazon Aufträge lassen sich nicht löschen JTL-Wawi 1.11 0
Neu JTL-Wawi Aufträge die mit JTL-POS bezahlt wurde tauchen im Tagenabschluss auf JTL-POS - Fehler und Bugs 7
FBA Aufträge werden landen in Externe Aufträge - Rechnungen werden nicht erstellt JTL-Wawi 1.11 1
Neu Kunden mit Kundenkonto bestellen als Gast und Aufträge sind dann nicht im Konto sichtbar Allgemeine Fragen zu JTL-Shop 4
Neu Aus JTL Wawi übernommene Aufträge in JTL POS ergänzen JTL-POS - Ideen, Lob und Kritik 0

Ähnliche Themen