Hi Freunde,
ich zeige euch wie ihr Auftragspositionen beliebiger Aufträge summiert in Excel ausgeben könnt.
Hier die Vorlage als Code (Auftragsliste):
Hier die Vorlage als Code (Lieferscheinliste):
Schöne Grüße
Euer Manuel
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
Zuletzt bearbeitet: