Neu Auftragspositionen beliebiger Aufträge summiert in Excel ausgeben (Video) #Lagerpackliste

Manuel Pietzsch

JTL-Wawi
Mitarbeiter
2. Januar 2012
2.710
915
Hückelhoven
Hi Freunde,

ich zeige euch wie ihr Auftragspositionen beliebiger Aufträge summiert in Excel ausgeben könnt.


Hier die Vorlage dazu: Auftrag_CSV_Exportieren_V04_20220929.vlg
Hier das Gleiche für Lieferscheine: Lieferschein_CSV_Exportieren_V04_20220929.vlg


Hier die Vorlage als Code (Auftragsliste):

Code:
{% comment -%}
JTL-Software Template für Export "Auftrag (CSV-Format)", Stand: 20220927
"Auftragsnummer";"Artikelnummer";"Bezeichnung aus Auftrag";"Menge";"Typ"
--------------------------------------------------------------------------------------------------------------
Sie können das Template über folgende Variablen steuern:
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% assign FreipositionAnzeigen = 1 %}{% comment %}Gibt an ob Freipositionen angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklisten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenKomponentenAnzeigen = 0 %}{% comment %}Gibt an ob Stücklistenkomponenten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign ArtikelAnzeigen = 1 %}{% comment %}Gibt an ob Artikel angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% comment -%}
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Unterhalb dieses Bereiches sollten nur erfahrene Anwender Änderungen vornehmen. Bei Fragen
steht Ihnen unser Supportforum unter http://forum.jtl-software.de/formulardesigner-editor-open-beta-phase/
zur Verfügung. Gerne helfen Ihnen auch unsere Servicepartner weiter. Einen qualifizierten Service-Partner
finden Sie unter http://www.jtl-software.de/Servicepartner.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% capture query -%}
DECLARE @kAuftrag AS INT = {{ Report.InternalId }};

SELECT  tAuftrag.cAuftragsNr AS Auftragsnummer,
        tAuftragPosition.cArtNr AS Artikelnummer,
        tAuftragPosition.cName AS 'BezeichnungAusAuftrag',
        tAuftragPosition.cNameStandard AS 'BezeichnungAusArtikelstamm',
        tAuftragPosition.fAnzahl AS 'Menge',
        tArtikel.cArtNr AS ArtikelnummerAusArtikel,
        tArtikelBeschreibung.cName AS 'BezeichnungAusArtikel',
        CASE
            WHEN tAuftragPosition.kAuftragPosition = tAuftragPosition.kAuftragStueckliste THEN 'Stückliste'
            WHEN tAuftragPosition.kAuftragStueckliste > 0 THEN 'Stücklistenkomponente'
            WHEN tAuftragPosition.nType = 0 THEN 'Freiposition'
            WHEN tAuftragPosition.nType = 1 THEN 'Artikel'
        END AS Positionstyp,
        tArtikel.fGewicht AS VersandgewichtEinzel,
        tArtikel.fGewicht * tAuftragPosition.fAnzahl AS VersandgewichtGesamt,
        tArtikel.fArtGewicht AS ArtikelgewichtEinzel,
        tArtikel.fArtGewicht * tAuftragPosition.fAnzahl AS ArtikelgewichtGesamt
FROM Verkauf.tAuftrag
JOIN Verkauf.tAuftragPosition ON tAuftrag.kAuftrag = tAuftragPosition.kAuftrag
JOIN dbo.tArtikel ON tAuftragPosition.kArtikel = tArtikel.kArtikel
JOIN dbo.tSpracheUsed ON tSpracheUsed.nStandard = 1
JOIN dbo.tArtikelBeschreibung ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
    AND tArtikelBeschreibung.kSprache = tSpracheUsed.kSprache
WHERE   tAuftrag.kAuftrag = @kAuftrag
ORDER BY tAuftragPosition.nSort;
{% endcapture -%}
{% assign Positionen = query | DirectQuery -%}
{% for pos in Positionen.Daten -%}
{% assign PositionAnzeigen = 0 -%}
{% if pos.Positionstyp == "Freiposition" and FreipositionAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stückliste" and StücklistenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stücklistenkomponente" and StücklistenKomponentenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Artikel" and ArtikelAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% endif -%}
{% if PositionAnzeigen == 1 -%}
{{ pos.Auftragsnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Artikelnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusAuftrag | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusArtikelstamm | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Menge | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.Positionstyp | Trim | Quote }}{{Trennzeichen}}\
{{ pos.VersandgewichtEinzel | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.VersandgewichtGesamt | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.ArtikelgewichtEinzel | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.ArtikelgewichtGesamt | Nummer: 'N2','de-DE' }}{{Trennzeichen}}
{% endif -%}
{% endfor -%}

Hier die Vorlage als Code (Lieferscheinliste):

Code:
 {% comment -%}
JTL-Software Template für Export "Auftrag (CSV-Format)", Stand: 20220927
"Auftragsnummer";"Artikelnummer";"Bezeichnung aus Auftrag";"Menge";"Typ"
--------------------------------------------------------------------------------------------------------------
Sie können das Template über folgende Variablen steuern:
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% assign FreipositionAnzeigen = 1 %}{% comment %}Gibt an ob Freipositionen angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklisten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenKomponentenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklistenkomponenten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign ArtikelAnzeigen = 1 %}{% comment %}Gibt an ob Artikel angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% comment -%}
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Unterhalb dieses Bereiches sollten nur erfahrene Anwender Änderungen vornehmen. Bei Fragen
steht Ihnen unser Supportforum unter http://forum.jtl-software.de/formulardesigner-editor-open-beta-phase/
zur Verfügung. Gerne helfen Ihnen auch unsere Servicepartner weiter. Einen qualifizierten Service-Partner
finden Sie unter http://www.jtl-software.de/Servicepartner.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% capture query -%}
DECLARE @kLieferschein AS INT = {{ Report.InternalId }};

SELECT  tAuftrag.cAuftragsNr AS Auftragsnummer,
        tAuftragPosition.cArtNr AS Artikelnummer,
        tAuftragPosition.cName AS 'BezeichnungAusAuftrag',
        tAuftragPosition.cNameStandard AS 'BezeichnungAusArtikelstamm',
        tLieferscheinPos.fAnzahl AS 'Menge',
        tArtikel.cArtNr AS ArtikelnummerAusArtikel,
        tArtikelBeschreibung.cName AS 'BezeichnungAusArtikel',
        CASE
            WHEN tAuftragPosition.kAuftragPosition = tAuftragPosition.kAuftragStueckliste THEN 'Stückliste'
            WHEN tAuftragPosition.kAuftragStueckliste > 0 THEN 'Stücklistenkomponente'
            WHEN tAuftragPosition.nType = 0 THEN 'Freiposition'
            WHEN tAuftragPosition.nType = 1 THEN 'Artikel'
        END AS Positionstyp,
        tArtikel.fGewicht AS VersandgewichtEinzel,
        tArtikel.fGewicht * tAuftragPosition.fAnzahl AS VersandgewichtGesamt,
        tArtikel.fArtGewicht AS ArtikelgewichtEinzel,
        tArtikel.fArtGewicht * tAuftragPosition.fAnzahl AS ArtikelgewichtGesamt
FROM dbo.tLieferschein
JOIN dbo.tLieferscheinPos ON tLieferschein.kLieferschein = tLieferscheinPos.kLieferschein
JOIN Verkauf.tAuftragPosition ON tLieferscheinPos.kBestellPos = tAuftragPosition.kAuftragPosition
JOIN Verkauf.tAuftrag ON tAuftragPosition.kAuftrag = tAuftrag.kAuftrag
JOIN dbo.tArtikel ON tAuftragPosition.kArtikel = tArtikel.kArtikel
JOIN dbo.tSpracheUsed ON tSpracheUsed.nStandard = 1
JOIN dbo.tArtikelBeschreibung ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
    AND tArtikelBeschreibung.kSprache = tSpracheUsed.kSprache
WHERE   tLieferschein.kLieferschein = @kLieferschein
ORDER BY tAuftragPosition.nSort;
{% endcapture -%}
{% assign Positionen = query | DirectQuery -%}
{% for pos in Positionen.Daten -%}
{% assign PositionAnzeigen = 0 -%}
{% if pos.Positionstyp == "Freiposition" and FreipositionAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stückliste" and StücklistenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stücklistenkomponente" and StücklistenKomponentenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Artikel" and ArtikelAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% endif -%}
{% if PositionAnzeigen == 1 -%}
{{ pos.Auftragsnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Artikelnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusAuftrag | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusArtikelstamm | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Menge | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.Positionstyp | Trim | Quote }}{{Trennzeichen}}\
{{ pos.VersandgewichtEinzel | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.VersandgewichtGesamt | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.ArtikelgewichtEinzel | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.ArtikelgewichtGesamt | Nummer: 'N2','de-DE' }}{{Trennzeichen}}
{% endif -%}
{% endfor -%}

Schöne Grüße

Euer Manuel
 

Anhänge

  • Lieferschein_CSV_Exportieren_V04_20220929.vlg
    2,8 KB · Aufrufe: 2
  • Auftrag_CSV_Exportieren_V04_20220929.vlg
    2,7 KB · Aufrufe: 0
Zuletzt bearbeitet:

MichaelH

Sehr aktives Mitglied
17. November 2008
13.138
1.225
Hi Manuel,

sieht gut aus und akzeptabel einfach.

Was fehlt:
Join auf Artikelstamm mit mind. 1 Feld aus dem Artikelstamm.
Warum ? Das SQL sieht damit doch wesentlich anders aus.

SG
Michael
 

MichaelH

Sehr aktives Mitglied
17. November 2008
13.138
1.225
Hi Manuel,

für mich läuft's ! :thumbsup:

Muss mir noch aktuellere Testdaten einspielen und die Details kontrollieren (ob alles da ist), doch es sieht auf Anhieb sehr gut aus, Aufwand wie erwartet gering und für mich "Ziel zu 110% erreicht" !

Besten Dank gepaart mit großem LOB für deinen Einsatz für die Community !!!

SG, Michael
 

falkenkind

Aktives Mitglied
26. September 2017
8
0
Hi,

habs angepasst im Code und neue Version hochgeladen.

Gruß

Manuel

Hi Freunde,

ich zeige euch wie ihr Auftragspositionen beliebiger Aufträge summiert in Excel ausgeben könnt.


Hier die Vorlage dazu: Auftrag_CSV_Exportieren_V02_20220707.vlg
Hier das Gleiche für Lieferscheine: Lieferschein_CSV_Exportieren_V01_20220707.vlg


Hier die Vorlage als Code (Auftragsliste):

Code:
{% comment -%}
JTL-Software Template für Export "Auftrag (CSV-Format)", Stand: 20220707
"Auftragsnummer";"Artikelnummer";"Bezeichnung aus Auftrag";"Menge";"Typ"
--------------------------------------------------------------------------------------------------------------
Sie können das Template über folgende Variablen steuern:
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% assign FreipositionAnzeigen = 1 %}{% comment %}Gibt an ob Freipositionen angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklisten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenKomponentenAnzeigen = 0 %}{% comment %}Gibt an ob Stücklistenkomponenten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign ArtikelAnzeigen = 1 %}{% comment %}Gibt an ob Artikel angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% comment -%}
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Unterhalb dieses Bereiches sollten nur erfahrene Anwender Änderungen vornehmen. Bei Fragen
steht Ihnen unser Supportforum unter http://forum.jtl-software.de/formulardesigner-editor-open-beta-phase/
zur Verfügung. Gerne helfen Ihnen auch unsere Servicepartner weiter. Einen qualifizierten Service-Partner
finden Sie unter http://www.jtl-software.de/Servicepartner.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% capture query -%}
DECLARE @kAuftrag AS INT = {{ Report.InternalId }};

SELECT  tAuftrag.cAuftragsNr AS Auftragsnummer,
        tAuftragPosition.cArtNr AS Artikelnummer,
        tAuftragPosition.cName AS 'BezeichnungAusAuftrag',
        tAuftragPosition.cNameStandard AS 'BezeichnungAusArtikelstamm',
        tAuftragPosition.fAnzahl AS 'Menge',
        tArtikel.cArtNr AS ArtikelnummerAusArtikel,
        tArtikelBeschreibung.cName AS 'BezeichnungAusArtikel',
        CASE
            WHEN tAuftragPosition.kAuftragPosition = tAuftragPosition.kAuftragStueckliste THEN 'Stückliste'
            WHEN tAuftragPosition.kAuftragStueckliste > 0 THEN 'Stücklistenkomponente'
            WHEN tAuftragPosition.nType = 0 THEN 'Freiposition'
            WHEN tAuftragPosition.nType = 1 THEN 'Artikel'
        END AS Positionstyp
FROM Verkauf.tAuftrag
JOIN Verkauf.tAuftragPosition ON tAuftrag.kAuftrag = tAuftragPosition.kAuftrag
JOIN dbo.tArtikel ON tAuftragPosition.kArtikel = tArtikel.kArtikel
JOIN dbo.tSpracheUsed ON tSpracheUsed.nStandard = 1
JOIN dbo.tArtikelBeschreibung ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
    AND tArtikelBeschreibung.kSprache = tSpracheUsed.kSprache
WHERE   tAuftrag.kAuftrag = @kAuftrag
ORDER BY tAuftragPosition.nSort;
{% endcapture -%}
{% assign Positionen = query | DirectQuery -%}
{% for pos in Positionen.Daten -%}
{% assign PositionAnzeigen = 0 -%}
{% if pos.Positionstyp == "Freiposition" and FreipositionAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stückliste" and StücklistenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stücklistenkomponente" and StücklistenKomponentenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Artikel" and ArtikelAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% endif -%}
{% if PositionAnzeigen == 1 -%}
{{ pos.Auftragsnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Artikelnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusAuftrag | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusArtikelstamm | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Menge | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.Positionstyp | Trim | Quote }}{{Trennzeichen}}
{% endif -%}
{% endfor -%}

Hier die Vorlage als Code (Lieferscheinliste):

Code:
HTML clipboard {% comment -%}
JTL-Software Template für Export "Lieferschein (CSV-Format)", Stand: 20220707
"Auftragsnummer";"Artikelnummer";"Bezeichnung aus Auftrag";"Menge";"Typ"
--------------------------------------------------------------------------------------------------------------
Sie können das Template über folgende Variablen steuern:
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% assign FreipositionAnzeigen = 1 %}{% comment %}Gibt an ob Freipositionen angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklisten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenKomponentenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklistenkomponenten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign ArtikelAnzeigen = 1 %}{% comment %}Gibt an ob Artikel angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% comment -%}
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Unterhalb dieses Bereiches sollten nur erfahrene Anwender Änderungen vornehmen. Bei Fragen
steht Ihnen unser Supportforum unter http://forum.jtl-software.de/formulardesigner-editor-open-beta-phase/
zur Verfügung. Gerne helfen Ihnen auch unsere Servicepartner weiter. Einen qualifizierten Service-Partner
finden Sie unter http://www.jtl-software.de/Servicepartner.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% capture query -%}
DECLARE @kLieferschein AS INT = {{ Report.InternalId }};

SELECT  tAuftrag.cAuftragsNr AS Auftragsnummer,
        tAuftragPosition.cArtNr AS Artikelnummer,
        tAuftragPosition.cName AS 'BezeichnungAusAuftrag',
        tAuftragPosition.cNameStandard AS 'BezeichnungAusArtikelstamm',
        tLieferscheinPos.fAnzahl AS 'Menge',
        tArtikel.cArtNr AS ArtikelnummerAusArtikel,
        tArtikelBeschreibung.cName AS 'BezeichnungAusArtikel',
        CASE
            WHEN tAuftragPosition.kAuftragPosition = tAuftragPosition.kAuftragStueckliste THEN 'Stückliste'
            WHEN tAuftragPosition.kAuftragStueckliste > 0 THEN 'Stücklistenkomponente'
            WHEN tAuftragPosition.nType = 0 THEN 'Freiposition'
            WHEN tAuftragPosition.nType = 1 THEN 'Artikel'
        END AS Positionstyp
FROM dbo.tLieferschein
JOIN dbo.tLieferscheinPos ON tLieferschein.kLieferschein = tLieferscheinPos.kLieferschein
JOIN Verkauf.tAuftragPosition ON tLieferscheinPos.kBestellPos = tAuftragPosition.kAuftragPosition
JOIN Verkauf.tAuftrag ON tAuftragPosition.kAuftrag = tAuftrag.kAuftrag
JOIN dbo.tArtikel ON tAuftragPosition.kArtikel = tArtikel.kArtikel
JOIN dbo.tSpracheUsed ON tSpracheUsed.nStandard = 1
JOIN dbo.tArtikelBeschreibung ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
    AND tArtikelBeschreibung.kSprache = tSpracheUsed.kSprache
WHERE   tLieferschein.kLieferschein = @kLieferschein
ORDER BY tAuftragPosition.nSort;
{% endcapture -%}
{% assign Positionen = query | DirectQuery -%}
{% for pos in Positionen.Daten -%}
{% assign PositionAnzeigen = 0 -%}
{% if pos.Positionstyp == "Freiposition" and FreipositionAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stückliste" and StücklistenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stücklistenkomponente" and StücklistenKomponentenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Artikel" and ArtikelAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% endif -%}
{% if PositionAnzeigen == 1 -%}
{{ pos.Auftragsnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Artikelnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusAuftrag | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusArtikelstamm | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Menge | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.Positionstyp | Trim | Quote }}{{Trennzeichen}}
{% endif -%}
{% endfor -%}

Schöne Grüße

Euer Manuel
Hallo Manuel,

vielen Dank für diesen Threat.
Hi Freunde,

ich zeige euch wie ihr Auftragspositionen beliebiger Aufträge summiert in Excel ausgeben könnt.


Hier die Vorlage dazu: Auftrag_CSV_Exportieren_V02_20220707.vlg
Hier das Gleiche für Lieferscheine: Lieferschein_CSV_Exportieren_V01_20220707.vlg


Hier die Vorlage als Code (Auftragsliste):

Code:
{% comment -%}
JTL-Software Template für Export "Auftrag (CSV-Format)", Stand: 20220707
"Auftragsnummer";"Artikelnummer";"Bezeichnung aus Auftrag";"Menge";"Typ"
--------------------------------------------------------------------------------------------------------------
Sie können das Template über folgende Variablen steuern:
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% assign FreipositionAnzeigen = 1 %}{% comment %}Gibt an ob Freipositionen angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklisten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenKomponentenAnzeigen = 0 %}{% comment %}Gibt an ob Stücklistenkomponenten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign ArtikelAnzeigen = 1 %}{% comment %}Gibt an ob Artikel angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% comment -%}
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Unterhalb dieses Bereiches sollten nur erfahrene Anwender Änderungen vornehmen. Bei Fragen
steht Ihnen unser Supportforum unter http://forum.jtl-software.de/formulardesigner-editor-open-beta-phase/
zur Verfügung. Gerne helfen Ihnen auch unsere Servicepartner weiter. Einen qualifizierten Service-Partner
finden Sie unter http://www.jtl-software.de/Servicepartner.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% capture query -%}
DECLARE @kAuftrag AS INT = {{ Report.InternalId }};

SELECT  tAuftrag.cAuftragsNr AS Auftragsnummer,
        tAuftragPosition.cArtNr AS Artikelnummer,
        tAuftragPosition.cName AS 'BezeichnungAusAuftrag',
        tAuftragPosition.cNameStandard AS 'BezeichnungAusArtikelstamm',
        tAuftragPosition.fAnzahl AS 'Menge',
        tArtikel.cArtNr AS ArtikelnummerAusArtikel,
        tArtikelBeschreibung.cName AS 'BezeichnungAusArtikel',
        CASE
            WHEN tAuftragPosition.kAuftragPosition = tAuftragPosition.kAuftragStueckliste THEN 'Stückliste'
            WHEN tAuftragPosition.kAuftragStueckliste > 0 THEN 'Stücklistenkomponente'
            WHEN tAuftragPosition.nType = 0 THEN 'Freiposition'
            WHEN tAuftragPosition.nType = 1 THEN 'Artikel'
        END AS Positionstyp
FROM Verkauf.tAuftrag
JOIN Verkauf.tAuftragPosition ON tAuftrag.kAuftrag = tAuftragPosition.kAuftrag
JOIN dbo.tArtikel ON tAuftragPosition.kArtikel = tArtikel.kArtikel
JOIN dbo.tSpracheUsed ON tSpracheUsed.nStandard = 1
JOIN dbo.tArtikelBeschreibung ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
    AND tArtikelBeschreibung.kSprache = tSpracheUsed.kSprache
WHERE   tAuftrag.kAuftrag = @kAuftrag
ORDER BY tAuftragPosition.nSort;
{% endcapture -%}
{% assign Positionen = query | DirectQuery -%}
{% for pos in Positionen.Daten -%}
{% assign PositionAnzeigen = 0 -%}
{% if pos.Positionstyp == "Freiposition" and FreipositionAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stückliste" and StücklistenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stücklistenkomponente" and StücklistenKomponentenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Artikel" and ArtikelAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% endif -%}
{% if PositionAnzeigen == 1 -%}
{{ pos.Auftragsnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Artikelnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusAuftrag | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusArtikelstamm | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Menge | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.Positionstyp | Trim | Quote }}{{Trennzeichen}}
{% endif -%}
{% endfor -%}

Hier die Vorlage als Code (Lieferscheinliste):

Code:
HTML clipboard {% comment -%}
JTL-Software Template für Export "Lieferschein (CSV-Format)", Stand: 20220707
"Auftragsnummer";"Artikelnummer";"Bezeichnung aus Auftrag";"Menge";"Typ"
--------------------------------------------------------------------------------------------------------------
Sie können das Template über folgende Variablen steuern:
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% assign FreipositionAnzeigen = 1 %}{% comment %}Gibt an ob Freipositionen angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklisten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenKomponentenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklistenkomponenten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign ArtikelAnzeigen = 1 %}{% comment %}Gibt an ob Artikel angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% comment -%}
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Unterhalb dieses Bereiches sollten nur erfahrene Anwender Änderungen vornehmen. Bei Fragen
steht Ihnen unser Supportforum unter http://forum.jtl-software.de/formulardesigner-editor-open-beta-phase/
zur Verfügung. Gerne helfen Ihnen auch unsere Servicepartner weiter. Einen qualifizierten Service-Partner
finden Sie unter http://www.jtl-software.de/Servicepartner.
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
{% endcomment -%}
{% capture query -%}
DECLARE @kLieferschein AS INT = {{ Report.InternalId }};

SELECT  tAuftrag.cAuftragsNr AS Auftragsnummer,
        tAuftragPosition.cArtNr AS Artikelnummer,
        tAuftragPosition.cName AS 'BezeichnungAusAuftrag',
        tAuftragPosition.cNameStandard AS 'BezeichnungAusArtikelstamm',
        tLieferscheinPos.fAnzahl AS 'Menge',
        tArtikel.cArtNr AS ArtikelnummerAusArtikel,
        tArtikelBeschreibung.cName AS 'BezeichnungAusArtikel',
        CASE
            WHEN tAuftragPosition.kAuftragPosition = tAuftragPosition.kAuftragStueckliste THEN 'Stückliste'
            WHEN tAuftragPosition.kAuftragStueckliste > 0 THEN 'Stücklistenkomponente'
            WHEN tAuftragPosition.nType = 0 THEN 'Freiposition'
            WHEN tAuftragPosition.nType = 1 THEN 'Artikel'
        END AS Positionstyp
FROM dbo.tLieferschein
JOIN dbo.tLieferscheinPos ON tLieferschein.kLieferschein = tLieferscheinPos.kLieferschein
JOIN Verkauf.tAuftragPosition ON tLieferscheinPos.kBestellPos = tAuftragPosition.kAuftragPosition
JOIN Verkauf.tAuftrag ON tAuftragPosition.kAuftrag = tAuftrag.kAuftrag
JOIN dbo.tArtikel ON tAuftragPosition.kArtikel = tArtikel.kArtikel
JOIN dbo.tSpracheUsed ON tSpracheUsed.nStandard = 1
JOIN dbo.tArtikelBeschreibung ON tArtikel.kArtikel = tArtikelBeschreibung.kArtikel
    AND tArtikelBeschreibung.kSprache = tSpracheUsed.kSprache
WHERE   tLieferschein.kLieferschein = @kLieferschein
ORDER BY tAuftragPosition.nSort;
{% endcapture -%}
{% assign Positionen = query | DirectQuery -%}
{% for pos in Positionen.Daten -%}
{% assign PositionAnzeigen = 0 -%}
{% if pos.Positionstyp == "Freiposition" and FreipositionAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stückliste" and StücklistenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Stücklistenkomponente" and StücklistenKomponentenAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% elsif pos.Positionstyp == "Artikel" and ArtikelAnzeigen == 1 -%}
{% assign PositionAnzeigen = 1 -%}
{% endif -%}
{% if PositionAnzeigen == 1 -%}
{{ pos.Auftragsnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Artikelnummer | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusAuftrag | Trim | Quote }}{{Trennzeichen}}\
{{ pos.BezeichnungAusArtikelstamm | Trim | Quote }}{{Trennzeichen}}\
{{ pos.Menge | Nummer: 'N2','de-DE' }}{{Trennzeichen}}\
{{ pos.Positionstyp | Trim | Quote }}{{Trennzeichen}}
{% endif -%}
{% endfor -%}

Schöne Grüße

Euer Manuel
Hallo Manuel,

ich habe diesen Lösungsweg so verstanden, dass mir später alle markierten Artikel/Aufträge in eine Exelliste exportiert werden.
Momentan speist mir die Wawi über diesen Weg jeden Auftrag einzeln aus. Also je Sales Order eine Exeldatei und nicht zusammengefasst.
Weißt Du, wo mein Fehler liegen könnte?

Dankeschön und viele Grüße!

Linda
 

Manuel Pietzsch

JTL-Wawi
Mitarbeiter
2. Januar 2012
2.710
915
Hückelhoven
Huhu,

das liegt am Dateinamen der Exportdabei. Da ist sicher eine Variable wie Auftragsnummer oder so bei dir drin. Heißt der findet die bestehende Datei nicht und hängt nicht an. Gib dort einfach fix einen Wert ein, damit er immer in die gleiche Datei schreibt. Musst du dann natürlich später verschieben, umbenennen oder Löschen für den nächsten Export.
 
  • Gefällt mir
Reaktionen: falkenkind

falkenkind

Aktives Mitglied
26. September 2017
8
0
Huhu,

das liegt am Dateinamen der Exportdabei. Da ist sicher eine Variable wie Auftragsnummer oder so bei dir drin. Heißt der findet die bestehende Datei nicht und hängt nicht an. Gib dort einfach fix einen Wert ein, damit er immer in die gleiche Datei schreibt. Musst du dann natürlich später verschieben, umbenennen oder Löschen für den nächsten Export.
Danke! Lieber Gruß
 

Soundflat

Aktives Mitglied
15. Juni 2021
114
14
auch von mir vielen Dank.
Ich bin ja Laie und weiß nun nicht, wie ich an bestimmte Variablen drankomme. Mich interessiert der Lieferschein Export.

Wenn ich nun gerne noch den Hersteller und die Warengruppe der Artikel da reinhaben möchte, geht das? Ich finde die leider nicht in der Liste der Variablen auf der rechten Seite (bei Exportvorlage bearbeiten)...

Beste Grüße
Lutz
 

prmsprt

Aktives Mitglied
17. Oktober 2013
15
0
Hi Freunde,

ich zeige euch wie ihr Auftragspositionen beliebiger Aufträge summiert in Excel ausgeben könnt.


Hier die Vorlage dazu: Auftrag_CSV_Exportieren_V02_20220707.vlg
Hier das Gleiche für Lieferscheine: Lieferschein_CSV_Exportieren_V01_20220707.vlg
Hi Manuel,

gibt es denn auch eine Möglichkeit, die summierten Auftragspositionen von nur einem Auftrag im Auftragsformular als PDF zu speichern?

Wir haben normale Artikel und Stücklistenartikel und würden gerne eine einfache Auslistung der enthaltenen Artikel eines Auftrages intern nutzen.

Schöne Grüße
Philipp
 

ht_m

Aktives Mitglied
26. März 2019
46
24
Hello Manuel,

ich hab die Vorlage gerade eingerichtet. Wenn ich die Daten exportiere, schreibt er die Datei normal auf den Desktop, gibt mir jedoch die Datensätze hintereinander in Zeile 2 aus, als ob der Zeilenumbruch nach jedem Datensatz fehlt. Kannst Du das nachvollziehen?

Grüße Dave
 

ht_m

Aktives Mitglied
26. März 2019
46
24
Hello Manuel,

ich hab die Vorlage gerade eingerichtet. Wenn ich die Daten exportiere, schreibt er die Datei normal auf den Desktop, gibt mir jedoch die Datensätze hintereinander in Zeile 2 aus, als ob der Zeilenumbruch nach jedem Datensatz fehlt. Kannst Du das nachvollziehen?

Grüße Dave
Hab gerade beim Vergleichen gesehen, dass in der Vorlage am Ende beim ArtikelgewichtGesamt wohl ein Backslash zuviel ist. Hab den gelöscht und nun funktioniert es problemlos. Danke
 
  • Gefällt mir
Reaktionen: Manuel Pietzsch

Manuel Pietzsch

JTL-Wawi
Mitarbeiter
2. Januar 2012
2.710
915
Hückelhoven
Hab gerade beim Vergleichen gesehen, dass in der Vorlage am Ende beim ArtikelgewichtGesamt wohl ein Backslash zuviel ist. Hab den gelöscht und nun funktioniert es problemlos. Danke
Hi,

danke für den Hinweis. Das ist mir gestern auch aufgefallen und ich hab es ausgetauscht, anscheinend nicht mit der richtigen Datei :)
Habe die Vorlagen jetzt aktualisiert, sollte so bei allen laufen.

Gruß und Danke

Manuel
 

ht_m

Aktives Mitglied
26. März 2019
46
24
Hi,

danke für den Hinweis. Das ist mir gestern auch aufgefallen und ich hab es ausgetauscht, anscheinend nicht mit der richtigen Datei :)
Habe die Vorlagen jetzt aktualisiert, sollte so bei allen laufen.

Gruß und Danke

Manuel
Eine Frage hätte ich noch: Bei mir erscheinen viele Aufträge doppelt und dreifach. Das ist zwar nicht problematisch, weil man das mit Excel easy bereinigen kann, jedoch frage ich mich, ob ich da was falsch mache. Konfig sieht bei mir wie folgt aus:

{% endcomment -%}
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% assign FreipositionAnzeigen = 0 %}{% comment %}Gibt an ob Freipositionen angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklisten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenKomponentenAnzeigen = 0 %}{% comment %}Gibt an ob Stücklistenkomponenten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign ArtikelAnzeigen = 1 %}{% comment %}Gibt an ob Artikel angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% comment -%}

Der Rest ist unverändert.

Viele Grüße
Dave
 

Manuel Pietzsch

JTL-Wawi
Mitarbeiter
2. Januar 2012
2.710
915
Hückelhoven
Eine Frage hätte ich noch: Bei mir erscheinen viele Aufträge doppelt und dreifach. Das ist zwar nicht problematisch, weil man das mit Excel easy bereinigen kann, jedoch frage ich mich, ob ich da was falsch mache. Konfig sieht bei mir wie folgt aus:

{% endcomment -%}
{% assign Trennzeichen = ';' %}{% comment %}Gibt das Trennzeichen an{% endcomment -%}
{% assign FreipositionAnzeigen = 0 %}{% comment %}Gibt an ob Freipositionen angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenAnzeigen = 1 %}{% comment %}Gibt an ob Stücklisten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign StücklistenKomponentenAnzeigen = 0 %}{% comment %}Gibt an ob Stücklistenkomponenten angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% assign ArtikelAnzeigen = 1 %}{% comment %}Gibt an ob Artikel angezeigt werden sollen (1 = Ja 0 = Nein){% endcomment -%}
{% comment -%}

Der Rest ist unverändert.

Viele Grüße
Dave
Hey,

es werden ja die Artikel ausgegeben. Wenn du mehrere in einem Auftrag hast steht die Auftragsnummer mehrfach da.
Wenn die Artikel allerdings mehrfach sind, also in den Zeilen exakt das Gleiche ausgegeben wird, dann haben wir hier einen Bug.

Bitte schick mir dann ne PN, dann schauen wir uns das mal an und fixen das gemeinsam für alle.

Gruß

Manuel
 
Ähnliche Themen
Titel Forum Antworten Datum
In Diskussion Erweiterte Eigenschaften - prüfen ob Auftragspositionen im Zulauf sind JTL-Workflows - Fehler und Bugs 1
Neu Gesperrte Artikel auch für Aufträge sperren User helfen Usern - Fragen zu JTL-Wawi 0
Versandart für Amazon FBA Aufträge - Wo wird die eingestellt / zugeordnet ? JTL-Wawi 1.6 1
Neu Shop4 versucht alte Aufträge erneut zu übertragen JTL-Shop - Fehler und Bugs 3
Neu Nicht alle Aufträge nach neuem Token Amazon-Anbindung - Fehler und Bugs 2
Issue angelegt JTL 1.6 Aufträge zusammenfassen, Versandpositionen immer am Ende des neuen Auftrags JTL-Wawi 1.6 3
JTL-Wawi 1.6.41.2 Amazon FBA Aufträge falsche MwSt bei „Versandaktion“ JTL-Wawi 1.6 0
Export per Druckvorlage Aufträge inkl. offener nicht geleiferter Artikel JTL-Wawi 1.6 11
Neu FBA Aufträge ohne Rechnungen Amazon-Anbindung - Fehler und Bugs 3
Neu Bezahlte und korrekte Aufträge -> liegen in -> Aufträge Fehlerhaft und können nicht ausgeliefert werden??? JTL-Wawi - Fehler und Bugs 6
Neu Pickliste- aufträge auf einer Liste inkl. Namen und Auftragsnummer User helfen Usern - Fragen zu JTL-Wawi 0
Neu Aufträge splitten pro Position per Workflow Arbeitsabläufe in JTL-Wawi 0
Neu Shopware 5.7 + Wawi 1.6.x Abholung Aufträge ab bestimmten Datum Shopware-Connector 1
Neu BUG - Aufträge Zusammenfassen 1.6.39.0 JTL-Wawi - Fehler und Bugs 6
Neu Otto Aufträge landen nicht in der Wawi 1.6 User helfen Usern - Fragen zu JTL-Wawi 3
Neu Verkauf von MHD abgelaufenen Artikeln / Aufträge ausliefern User helfen Usern - Fragen zu JTL-Wawi 1
Neu Anzeige offene Aufträge in Statistik User helfen Usern - Fragen zu JTL-Wawi 1
Neu Vereinzelt fehlen Aufträge in der Wawi JTL-POS - Fehler und Bugs 0
Neu Aufträge aus POS geliefert werden in WAW nicht als geliefert markiert Arbeitsabläufe in JTL-Wawi 12
Stornierte Aufträge werden als Bezahlt makiert JTL-Wawi 1.6 2
Neu SW6 Aufträge werden zeitverzögert übertragen - Wie lösen? Shopware-Connector 0
Neu Amazon Aufträge.pl & se in Landeswährung konvertieren Arbeitsabläufe in JTL-Wawi 0
Neu Abo-Aufträge JTL-Wawi - Fehler und Bugs 0
Neu Fulfillment Aufträge ändern JTL-Wawi - Ideen, Lob und Kritik 0
Beantwortet Aufträge zusammenfassen: Faktor ist unterschiedlich JTL-Workflows - Fehler und Bugs 1
In Diskussion Zwei Firmen mit getrennten Datenbanken - Untereinander Bestände und Aufträge automatisch erstellen/ abgleichen JTL-Workflows - Ideen, Lob und Kritik 3
Neu Workflows | Aufträge | Erstellt > {{ Vorgang.Sonstiges.QuellAuftrag.Zahlungen.IstBezahlt }} nicht vorhanden wenn Auftrag aus Angebot erstellt wird. User helfen Usern - Fragen zu JTL-Wawi 0
Neu Export Aufträge Filter JTL-Ameise - Fehler und Bugs 0
Neu Bereits versendete eBay-Aufträge als versendet markiert Einrichtung und Installation von JTL-eazyAuction 1
Neu Ama Aufträge zusammenfassen darf ja nicht sein. Amazon-Anbindung - Ideen, Lob und Kritik 6
Neu Was mich tierisch nervt... das Dashboard "Aufträge: Überblick" ist nichts wert!!! JTL-Wawi - Ideen, Lob und Kritik 4
Neu Kunden Sperren -> Aufträge zurückhalten Arbeitsabläufe in JTL-Wawi 2
Neu JTL Ameise -> Aufträge ohne Rechnung incl. Auftragswert User helfen Usern - Fragen zu JTL-Wawi 0
Neu Shopabgleich Aufträge mit digitalen Artikeln werden nicht importiert -Fehler: Lieferland ungültig WooCommerce-Connector 2
Neu JTL Wawi empfangene Aufträge enthalten nur Vaternamen Shopware-Connector 2
In Diskussion für alle Aufträge mit einem bestimmten Artikel eine Ersatzlieferung anlegen JTL-Workflows - Ideen, Lob und Kritik 1
Beantwortet Anzahl der offenen Aufträge JTL-Workflows - Ideen, Lob und Kritik 4
Neu Abholung der Aufträge in die Wawi JTL-Wawi 1.6 3

Ähnliche Themen