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

Manuel Pietzsch

JTL-Wawi
Mitarbeiter
2. Januar 2012
2.861
1.038
Hückelhoven
Hi Freunde,

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


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
    AND tArtikelBeschreibung.kPlattform = 1
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
       AND tArtikelBeschreibung.kPlattform = 1
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_V05_20221011.vlg
    2,8 KB · Aufrufe: 17
  • Auftrag_CSV_Exportieren_V06_20221114.vlg
    2,7 KB · Aufrufe: 41
Zuletzt bearbeitet:

MichaelH

Sehr aktives Mitglied
17. November 2008
14.164
1.769
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
14.164
1.769
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.861
1.038
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

Gut bekanntes Mitglied
15. Juni 2021
142
21
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
19
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

Gut bekanntes Mitglied
26. März 2019
53
26
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

Gut bekanntes Mitglied
26. März 2019
53
26
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.861
1.038
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

Gut bekanntes Mitglied
26. März 2019
53
26
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.861
1.038
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
 

Manuel Pietzsch

JTL-Wawi
Mitarbeiter
2. Januar 2012
2.861
1.038
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:


Viele Grüße
Dave
Hallo Zusammen,

ich habe das Problem gelöst und hier die Vorlagen getauscht. Wer mit unterschiedlichen Artikel-Beschreibungen je Plattform arbeitet bekommt in der alten Version je Plattformbeschreibung den Datensatz angezeigt.

Danke nochmal

Gruß

Manuel
 
  • Gefällt mir
Reaktionen: ht_m
Ähnliche Themen

Ähnliche Themen