Beantwortet Eigene Felder in dot liquid

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
109
58
Celle
Guten Morgen Allerseits,
ich verzweifle gerade bei der Erstellung einer CSV-Ausgabe einer Bestellung für einen Lieferanten.
Ferner gibt es hier 2 Dinge, die ich scheinbar allein nicht hinbekomme und hoffe, dass mir hier jemand
Hilfestellung geben könnte.

Zum Problem:
Wir beziehen ein Produkt von einem Lieferanten, der vorzugsweise eine CSV mit bestimmten Angaben möchte.
Mein Export klappt auch soweit, ich müsste jedoch in Spalte "G" etwas aus eigenen Feldern ausgeben. Das
geht soweit ich mich belesen habe nur mit einer SQL Abfrage?

Hier mein aktuelles Script:

Code:
{% comment  -%}
Export fuer Lieferant XY / EINKAUF
{% endcomment -%}
{% for position in Vorgang.Positionen -%}
{% assign Trennzeichen = ';' %}
{{ Vorgang.EigeneBestellnummer | Trim | Quote }}{{Trennzeichen}}\
{{ Vorgang.Bestelldatum | Datum: 'yyyy-mm-dd' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{Trennzeichen}}\
{{ position.Artikel.EAN | Trim | Quote }}{{Trennzeichen}}\
{{ position.Bezeichnung | Trim | Quote }}{{Trennzeichen}}\
{{ Werkstoff | Trim | Quote }}{{Trennzeichen}}\
{{ position.Menge | Nummer: 'N2','en-US' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{ position.Artikelnummer }}{{Trennzeichen}}\
{{ 647993 }}{{Trennzeichen}}\
{% endfor %}

Ein weiteres Problem ist, dass die erste Zeile immer leer ist. Es wird keine Kopfzeile benötigt und die CSV soll in Zeile 1 starten.
Vllt. kann mir ja jemand helfen. Danke im Voraus und ein angenehmes Wochenende vorab.

overfl0w
 

tom10

Sehr aktives Mitglied
2. Oktober 2012
720
122
06774 Muldestausee
Die Leerzeilen bekommst du raus, wenn du vor jedem %}-Zeichen einen Bindestrich - setzt (in neueren WaWi ( DotLiquid) Versionen auch nach jedem {%-Zeichen möglich).
Code:
{% comment  -%}
Export fuer Lieferant XY / EINKAUF
{% endcomment -%}
{% assign Trennzeichen = ';' -%}
{% for position in Vorgang.Positionen -%}
{{ Vorgang.EigeneBestellnummer | Trim | Quote }}{{Trennzeichen}}\
{{ Vorgang.Bestelldatum | Datum: 'yyyy-mm-dd' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{Trennzeichen}}\
{{ position.Artikel.EAN | Trim | Quote }}{{Trennzeichen}}\
{{ position.Bezeichnung | Trim | Quote }}{{Trennzeichen}}\
{{ Werkstoff | Trim | Quote }}{{Trennzeichen}}\
{{ position.Menge | Nummer: 'N2','en-US' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{ position.Artikelnummer }}{{Trennzeichen}}\
{{ 647993 }}{{Trennzeichen}}\
{% endfor -%}
Und du solltest die Variable Trennzeichen wie oben aus der for-Schleife rausnehmen. Sie muss ja nicht bei jedem Durchlauf neu erstellt bzw. überschrieben werden.

Die Eigenen Felder der Artikel kannst du für das obige Beispiel mit {{ position.Artikel.EigeneFelder.XXX }} ansprechen (siehe Variablenbaum rechts im Editor).
 
  • Gefällt mir
Reaktionen: BR_EVO und overfl0w23

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
109
58
Celle
Hallo Tom, vielen Dank für die schnelle Antwort. Ich wollte erstmal das Problem mit den Leerzeichen angehen. Leider scheitere ich hier schon. Ich habe das Script nun wie folgt abgeändert:

Code:
{-% comment  -%}
Export fuer Lieferant XY / EINKAUF
{-% endcomment -%}
{-% assign Trennzeichen = ';' -%}
{-% for position in Vorgang.Positionen -%}
{{ Vorgang.EigeneBestellnummer | Trim | Quote }}{{Trennzeichen}}\
{{ Vorgang.Bestelldatum | Datum: 'yyyy-mm-dd' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{Trennzeichen}}\
{{ position.Artikel.EAN | Trim | Quote }}{{Trennzeichen}}\
{{ position.Bezeichnung | Trim | Quote }}{{Trennzeichen}}\
{{ Werkstoff | Trim | Quote }}{{Trennzeichen}}\
{{ position.Menge | Nummer: 'N2','en-US' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{ position.Artikelnummer }}{{Trennzeichen}}\
{{ 647993 }}{{Trennzeichen}}\
{-% endfor -%}

Hier funktioniert die Ausgabe nicht mehr richtig.

Alternativ so:

Code:
{% comment  -%}
Export fuer Lieferant XY / EINKAUF
{% endcomment -%}
{% assign Trennzeichen = ';' -%}
{% for position in Vorgang.Positionen -%}
{{ Vorgang.EigeneBestellnummer | Trim | Quote }}{{Trennzeichen}}\
{{ Vorgang.Bestelldatum | Datum: 'yyyy-mm-dd' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{Trennzeichen}}\
{{ position.Artikel.EAN | Trim | Quote }}{{Trennzeichen}}\
{{ position.Bezeichnung | Trim | Quote }}{{Trennzeichen}}\
{{ Werkstoff | Trim | Quote }}{{Trennzeichen}}\
{{ position.Menge | Nummer: 'N2','en-US' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{ position.Artikelnummer }}{{Trennzeichen}}\
{{ 647993 }}{{Trennzeichen}}\
-{% endfor -%}

Hier wird nun alles hintereinander geschrieben und es erfolgt kein Umbruch mehr.

Sehe ich den Wald vor lauter Bäumen nicht mehr?
 

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
109
58
Celle
Okay, kleines Update:

Code:
{% comment  -%}
Export fuer Lieferant XY / EINKAUF
{% endcomment -%}
{% for position in Vorgang.Positionen -%}{% assign Trennzeichen = ';' -%}
{{ Vorgang.EigeneBestellnummer | Trim | Quote }}{{Trennzeichen}}\
{{ Vorgang.Bestelldatum | Datum: 'yyyy-mm-dd' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{Trennzeichen}}\
{{ position.Artikel.EAN | Trim | Quote }}{{Trennzeichen}}\
{{ position.Bezeichnung | Trim | Quote }}{{Trennzeichen}}\
{{ position.Artikel.EigeneFelder.Einkauf.Werkstoff }}{{Trennzeichen}}\
{{ position.Menge | Nummer: 'N2','en-US' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{ position.Artikelnummer }}{{Trennzeichen}}\
{{ 647993 }}{{Trennzeichen}}\
{% endfor -%}

So ist die Leerzeile weg und die Eigene Feld-Ausgabe funktioniert ebenfalls. Leider wird so kein Umbruch mehr generiert.
Dazu kommt wenn ich das Trennzeichen aus der Schleife nehme kam vorher ebenfalls kein Absatz.
 

overfl0w23

Sehr aktives Mitglied
19. Oktober 2020
109
58
Celle
Funktioniert, vielen lieben Dank! Du hast meinen Tag gerettet. ;)

Hier die Lösung:
Code:
{% comment  -%}
Export fuer Lieferant XY / EINKAUF
{% endcomment -%}
{% for position in Vorgang.Positionen -%}{% assign Trennzeichen = ';' -%}
{{ Vorgang.EigeneBestellnummer | Trim | Quote }}{{Trennzeichen}}\
{{ Vorgang.Bestelldatum | Datum: 'yyyy-mm-dd' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{ position.Artikel.EAN | Trim | Quote }}{{Trennzeichen}}\
{{ position.Bezeichnung | Trim | Quote }}{{Trennzeichen}}\
{{ position.Artikel.EigeneFelder.Einkauf.Werkstoff }}{{Trennzeichen}}\
{{ position.Menge | Nummer: 'N2','en-US' }}{{Trennzeichen}}\
{{ "" }}{{Trennzeichen}}\
{{ position.Artikelnummer }}{{Trennzeichen}}\
{{ 647993 }}{{Trennzeichen}}
{% endfor -%}

Schönes Wochenende
 

Ähnliche Themen