Gelöst Packtisch - Parameter per SQL an Easylog übergeben!?

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
Wir haben fast ausschließlich Aufträge mit 1 bis maximal 3 Artikeln.
Nun möchten wir gern auf das DHL-Label an der Seite (welche eh in den Müll fliegt) Informationen zum Auftrag mit drauf bringen, damit der Kollege den richtigen Artikel verpackt.

Dazu muss ich sagen dass ein Kollege die Labels erstellt und einer verpackt. Das geht schneller und ist effizienter für uns.

Da der Kollege welcher die Labels erstellt die Ware allerdings nicht direkt am Platz hat, schreibt er von Hand die Artikel drauf.

Dies würden wir gern automatisieren in dem durch die Exportvorlage die Auftragsinfos mit übergeben werden.

Wir haben 2 Felder auf dem Label wo die Infos rein können.

Die Frage ist nur, mit welchem Statement ich die Infos in die Exportdatei bekomme, denn Versandkosten brauchen beispielsweise keine drauf und wir würden das idealerweise mit Funktionsattributen machen wollen, welche dem Artikel hinterlegt werden.

Kann da jemand weiterhelfen?
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.813
580
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Ich versteh nur Bahnhof :D Wieso macht ihr das so kompliziert? Da verfliegt doch der ganze Vorteil vom JTL- Packtisch.

Also ich verstanden, dass ihr diese DinA5 Etiketten von DHL nutzt, mit diesen kleinen Klebestreifen an der Seite.
Ob sich da was aufdrucken lässt, und ob man das über die Polling-Datei steuern kann, wäre mit dem DHL-Support zu klären.

Aber wieso besorgt ihr euch nicht für kleinen Geld einen gebrauchten Zebradrucker, und lasst euch von DHL Etiketten auf Rolle zur Verfügung stellen.
Beim verpacken druckt ihr direkt das fertige Label und alle sind glücklich. Minimale Investition, maximale Zeiteinsparung.

Wenn ihr keine exotischen Sonderfunktionen nutzt, könnt ihr sogar auch Easylog verzichten und einfach das neue integrierte JTL- Shipping nutzen.
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Ach Stephan... :) Ja, für uns ist das auf diese komplizierte Art einfacher...

Korrekt, es geht um die A5 Labels und um den von dir beschriebenen Rand.
Und ja, man kann da was drauf drucken. Ich muss der Exportvorlage nur sagen was dort drauf soll und genau da wirds schwierig (zumindest für mich).
Denn ich müsste über einen String die Infos aus dem Auftrag holen und dabei die Versandarten ignorieren.

Da wir zumindest schon mal die Altersprüfung brauchen fällt JTL- Shipping raus, weil es das derzeit nicht unterstützt.
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.813
580
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Die Infos sind noch recht einfach zu bekommen. Dafür lässt sich die Zollinhaltserklärung umschreiben:
Code:
{% for Position in Vorgang.Lieferschein.Positionen -%}
{% if Position.Auftragsposition.Artikel.IstLagerartikel -%}
Menge: {{ Position.Menge }} - Artikel: {{ Position.Artikel.Bezeichnung }}
{% endif -%}
{% endfor -%}
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Kann man dann auch Felder aus den Artikeldetails auslesen?
Zum Beispiel das Feld Anmerkung oder Funktionsattribute?
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.813
580
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Es handelt sich in dem oben genannten Schnipsel bereits um die Artikeldetails. Die möglichen Variablen sind hier zu finden:
Kategorie:JTL-Wawi:Alle DotLiquid Variablen für Lieferscheine ? JTL-Guide

Weitere Beispiele wären entsprechend:
{{ Position.Artikel.Artikelnummer }}
{{ Position.Artikel.Anmerkung }}

Attribute und Funktionsattribute sind hier zu finden:

{{ Position.Artikel.FunktionsattributeAlsText }}
{{ Position.Artikel.AttributeAlsText }}

Gemäß der Definition von GetItem sollten die Werte so abgefragt werden können:
{{ Position.Artikel.AttributeAlsText | GetItem: 'Attributname','Deutsch'}}


http://guide.jtl-software.de/jtl/Kategorie:JTL-Wawi:DotLiquid#AttributeMapFilters

Die Funktion scheint aktuell leider defekt zu sein oder war ursprünglich für etwas anderes geplant, deshalb kommt man zur Zeit nur sehr umständlich an die Attribute:
Code:
[FONT=Courier New]{% for Position in Vorgang.Lieferschein.Positionen -%}
{% if Position.Auftragsposition.Artikel.IstLagerartikel -%}
{% assign Attributpaar = Position.Artikel.FunktionsattributeAlsText | Split:'|' -%} 
{% for Wertepaar in Attributpaar -%} 
{% assign Attribut = Wertepaar | Split:'=' -%} 
{{ Attribut | First }} = {{ Attribut | Last }} 
{% endfor -%} 
{% endif -%} 
{% endfor -%}[/FONT]
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Die Anmerkung würde uns schon reichen, da eh nur ein kurzer Text angezeigt werden soll.

Wird die Anmerkung wo anders auch angezeigt? ( Shop, Packtisch oder so)
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.813
580
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Über komplexe reguläre Ausdrücke kommt man zum Ziel.
Für das Funktionsattribut "dhlkat" geht das so.:

Code:
[FONT=Courier New]{{ Position.Artikel.FunktionsattributeAlsText | Replace: '^.*dhlkat=(.*)[|].*','$1' }}[/FONT]
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Ich glaub da haben wir grad aneinander vorbeigeredet. ;)

Wollte nur wissen wo die Anmerkungen, welche in den Artikeldetails hinterlegt werden angezeigt werden.
Sind die nur intern in der Wawi sichtbar oder werden die auch irgendwo ausgegeben? (ich meine damit ohne spezielle Abfrage)
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.813
580
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Dann verstehe ich nicht was du meinst. Die Artikelanmerkung ist "das gleiche" wie die Artikelnummer. Die wird überall da ausgegeben, wo du die Variable einbaust. Export, Mail, Druck usw.
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

ok. fragen wir andersrum.
die die variable für die anmerkung STANDARD-mäßig irgendwo verbaut?
im shop, in vorlagen oder so?
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.813
580
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Bei rund 100.000 Variablen - oder mehr - ist das schwer zu sagen. ^^
Spontan würde ich aber sagen nein bzw. mir ist keine Vorlage bekannt. Aber ist das wichtig?
Ich werde nun keine 50 Druckvorlagen und 20 Shopvorlagen und 20 Exportvorlagen auf die Variable prüfen.

Leg dir doch einfach einen Artikel an, fülle das Feld und drucke die Hand voll Vorlagen aus, die du benutzt. Dann kennst du für dich die Antwort ^^
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

wir werden es mal testen. ich geb eine rückinfo wenn es klappt. :)
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Wir sind gerade am Testen der neuen Vorlage und haben festgestellt dass, sobald zwei oder merh Artikel in dem Auftrag sind, ein Zeilenumbruch in der Exportvorlage auftaucht.
Folgenden Code haben wir eingebaut
{% for Position in Vorgang.Lieferschein.Positionen -%} {% if Position.Auftragsposition.Artikel.IstLagerartikel -%} {{ Position.Menge }}x {{ Position.Artikel.Anmerkung }} {% endif -%} {% endfor -%}
Optimum wäre, wenn ein "+" jeden weiteren Artikel trennen würde und keine Zeilenumbrüche entstehen.

Kann da jemand weiterhelfen?
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.813
580
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Steht der Code in deiner Vorlage tatsächlich nur in einer Zeile? Oder stehen die Zeilen untereinander?
Poste den Code bitte mal mit [ CODE] [/CODE]. Grundsätzlich musst du an der Stelle, wo kein Zeilenumbruch gewünscht ist, einfach am Ende einen Backslash ergänzen.

Code:
[FONT=Courier New]{% for Position in  Vorgang.Lieferschein.Positionen -%} 
{% if  Position.Auftragsposition.Artikel.IstLagerartikel -%} 
{{ Position.Menge  }}x {{ Position.Artikel.Anmerkung }}\[/FONT][FONT=Courier New]
{% if forloop.last %}+{% endif -%}[/FONT]
{% endif -%}[FONT=Courier New]
{% endfor -%}[/FONT]

Zeile 4 ergänzt zudem das gewünschte + zwischen einzelnen Positionen, setzt aber kein + hinter den letzten Artikel.
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Der Code steht natürlich untereinander. :)
Das nächste mal nutze ich den CODE Tag. Dachte mit dem QUOTE geht es auch.

Danke schon mal für die Hilfe.

Optimum wäre am Ende wenn die Menge (wenn Sie gleich 1 ist) gar nicht angezeigt wird UND wenn "Anmerkung" leer ist stattdessen die Artikelnummer und Artikelname angezeigt wird.
 

Stetto

Sehr aktives Mitglied
2. Juli 2009
4.813
580
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Ja, das ist alles machbar :) Den Grundstein hab ich ja jetzt gelegt. Einfach mal ein bisschen testen und rumspielen.
Zwei kleine if-else-Spielchen, dann kommst du deinem Ziel näher. Die Syntax ist der von PHP oder JavaScript sehr ähnlich.

Kategorie: JTL-Wawi:DotLiquid ? JTL-Guide
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Ich hab jetzt folgendes zusammengeschrieben und würde mich freuen ob jemand mal drüberschauen kann ob ich hier noch grobe fehler drin habe oder es besser formulieren kann
Code:
{% for Position in  Vorgang.Lieferschein.Positionen -%}\
{% if  Position.Auftragsposition.Artikel.IstLagerartikel -%}
{% if  Position.Menge > 1 %}{{ Position.Menge  }}x{% else %}{% endif -%}
{% if  Position.Artikel.Anmerkung != empty %}{{ Position.Artikel.Bezeichnung }}{% else %} {{ Position.Artikel.Anmerkung }}{% endif -%}\
{% if forloop.last %} + {% endif -%}
{% endif -%}
{% endfor -%}

Zum einen weiß ich nicht ob das x hinter Position.Menge problemlos übernommen wird oder ob ich das nochmal in Klammer setzen muss oder so.
Zum zweiten bin ich mir nicht ganz sicher ob ich in Zeile 3 nach dem else einfach nichts schreiben kann wenn es leer bleiben soll oder ob es dafür ein "Füllelement" gibt.

Zuletzt ist mir noch aufgefallen, dass das + Zeichen scheinbar immer geschrieben wird selbst wenn es nur ein oder der letzte Artikel ist. Ist hier ein Fehler drin den ich übersehen habe?

Vielen Dank für jegliche Unterstützung.
 

cdx

Sehr aktives Mitglied
13. März 2013
1.601
54
AW: Packtisch - Parameter per SQL an Easylog übergeben!?

Ich habe heut früh den Code mal getestet aber da bekomme ich als Ergebnis nur ein " + " ausgegeben.
Daher habe ich den Code angepasst und es so versucht:
Code:
{% for Position in  Vorgang.Lieferschein.Positionen -%}\
{% if  Position.Auftragsposition.Artikel.IstLagerartikel -%}
{% if  Position.Menge > 1 %}{{ Position.Menge  }}x{% else %}{{ '' }}{% endif -%}
{% if  Position.Artikel.Anmerkung != empty %}{{ Position.Artikel.Bezeichnung }}{% else %} {{ Position.Artikel.Anmerkung }}{% endif -%}\
{% if forloop.last %} + {% endif -%}
{% endif -%}
{% endfor -%}
Leider auch ohne Erfolg.
Kann man denn überhaupt problemlos mehrere IF-Abfragen hintereinander starten?
Und warum wird das + angezeigt wenn es nur ein Artikel ist?
 
Ähnliche Themen
Titel Forum Antworten Datum
Packtisch 1.11.10 - Versandartenauswahl Schnellauswahl via Scan Buggy JTL-Wawi 1.11 2
Packtisch Versanddatenexport startet nicht (2.0.1) JTL-Wawi 2.0 1
Neu Pickliste wird auf Packtisch und in Wawi unter Picklisten nicht angezeigt. JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 1
Neu „Parameter refNo (Shipment reference number) must be between 8 and 35 characters long.“ JTL-ShippingLabels - Fehler und Bugs 0
Neu [Suche 5 Beta-Tester] KI generiert JTL Shop 5 Templates per Beschreibung – kostenlos testen Templates für JTL-Shop 7
Neu Werte erhöhen per Workflow User helfen Usern - Fragen zu JTL-Wawi 4
Amazon Rechnungslayout geändert, per IDU wird trotzdem die alte Vorlage hochgeladen JTL-Wawi 1.9 2
In Diskussion Ort mit OT per Workflow bereinigen JTL-Workflows - Ideen, Lob und Kritik 3
Neu Banner per OPC auf Artikelseite Allgemeine Fragen zu JTL-Shop 5
Gelöst Workflow - Seriennummer per Mail versenden JTL-Workflows - Fehler und Bugs 1
In Diskussion Warnung per Mail wenn Paket seit x Tagen in Filiale zu Abholung (DHL Sendungsverfolgung) Track&Trace JTL-Workflows - Ideen, Lob und Kritik 6
Rechnungsversand per eMail hin und wieder nicht erfolgreich JTL-Wawi 1.9 1
Dropshipping-Trackingnummer erzeugt keine Versandbenachrichtigung per E-Mail JTL-Wawi 1.8 5
Neu Amazon Angebotspreise per Stored Procedure/Function oder API setzen Amazon-Anbindung - Ideen, Lob und Kritik 0
Ebay Preise per Ameise Importieren JTL-Wawi 1.10 14

Ähnliche Themen