Inaktiv DotLiquid Variable - Lagerort

ErikNonGeneric

Aktives Mitglied
20. März 2017
18
0
Hallo Leute,

ich erstelle gerade einen Retourenschein, welcher vom Packtisch direkt mit ausgegeben wird und in das Paket kommt.

Ich möchte hier für unsere Adresse unsere Lageranschrift (die von unserer Firmenanschrift abweicht) per Variable in das Formular übergeben, finde aber in der Auflistung keine entsprechende Möglichkeit.
Wie könnte ich dies umsetzen? Muss ich das über eine individuelle Datenbankabfrage lösen?

Danke im Vorraus.

Erik
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
399
Nur zum Verständnis, wenn Du "Retourenschein" meinst, dass klingt das in Kombination mit " Packtisch" aber eher wie einer von diesen vorsorglich bei Lieferung mit übersandten Retourenscheinen, richtig? Der Grund, warum ich frage ist, dass das dann wohl ein "Retourenschein" wäre, den Du auf Basis des "Lieferschein" Vorlagenbereichs und nicht auf Basis des "Retoure" Bereichs anlegst, korrekt?
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
399
Hallo Erik,

von dort kommst Du tatsächlich nicht direkt an die Lageradressen ran und musst das über eine Query machen. Eine normale JTL_DirectQuery() geht aber auch nicht, weil Du ein Mehrspaltenfeld zurückbekommen musst. Hier hilft nur eine JTL_DirectTableQuery() und die könnte so aussehen...
Code:
JTL_DirectTableQuery("SELECT cEmpfaengerFirma, CONCAT('z.Hd. ',cAnsprechpartnerAnrede,' ',cAnsprechpartnerVorname,' ',cAnsprechpartnerName) as cAnsprechpartner, cStrasse, CONCAT(cPLZ,' ',cOrt) as cStadt, cLand FROM dbo.tWarenLager WHERE cName='Standardlager',";","")
Das gibt Dir die Anschrift Deines Standardlagers als einen String bestehend aus den Einzelteilen, getrennt mit Semikolons zurück und falls Du hier noch formatierend eingreifen willst, kannst Du das Ganze z.B. wie folgt erweitern, um jeweils ein Leerzeichen hinter das Semikolon zu bekommen...
Code:
StrSubst$ (JTL_DirectTableQuery("SELECT cEmpfaengerFirma, CONCAT('z.Hd. ',cAnsprechpartnerAnrede,' ',cAnsprechpartnerVorname,' ',cAnsprechpartnerName) as cAnsprechpartner, cStrasse, CONCAT(cPLZ,' ',cOrt) as cStadt, cLand FROM dbo.tWarenLager WHERE cName='Standardlager'",";",""),";","; ")
... oder auch so, um die Adressbestandteile gleich getrennt untereinander angeordnet zu bekommen...
Code:
ChrSubst$ (JTL_DirectTableQuery("SELECT cEmpfaengerFirma, CONCAT('z.Hd. ',cAnsprechpartnerAnrede,' ',cAnsprechpartnerVorname,' ',cAnsprechpartnerName) as cAnsprechpartner, cStrasse, CONCAT(cPLZ,' ',cOrt) as cStadt, cLand FROM dbo.tWarenLager WHERE cName='Standardlager'",";",""),";",Chr$(13))

Und falls Du weitere Adressbestandteile wie die Telefonnummer, Faxnummer oder die Email des Ansprechpartners. seine/ihre Abteilung oder falls Du im Ausland sitzt, vielleicht das Bundesland haben willst, dann heißen die einfach cAnsprechpartnerTel, cAnsprechpartnerFax, cAnsprechpartnerEmail, cAnsprechpartnerAbteilung und cBundesland und die fügst Du dann einfach oben in der Liste der abzufragenden Variablen mit Komma getrennt ein...

Gruß,
Ingmar
 

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
399
Ich sehe gerade, dass Du ganz neu hier bist. Weißt Du, wie Du mit solchen Queries umgehen musst, respektive, dass die sich wie ganz normale Texte verhalten und Du sie deshalb genau wie eine JTL Variable oder eben einen normalen Text überall dort in Deine Vorlagen einsetzen kannst, wo ein Text sinn macht und erwartet wird?
 
Zuletzt bearbeitet:

ErikNonGeneric

Aktives Mitglied
20. März 2017
18
0
Hallo Ingmar,

ich habe es jetzt mal versucht, leider wirft er mir direkt beim ersten Codeschnipsel einen Syntaxfehler aus. Leider ist die Fehlermeldung auch der gesamte Ausdruck, so dass ich hier nicht sehen kann, an welcher Spalte etc. er den Fehler festmacht. Habe hier zur Zeit leider auch noch kein Tool, mit dem ich den Fehler genauer überprüfen könnte.

€:

Ich habe nun für meine Zwecke erstmal diesen String umsetzen können:

JTL_DirectQuery("SELECT cStraße FROM dbo.tWarenLager WHERE cName='Standardlager'")

Da in unserem Fall der Standort sich nur in der Straße ändert. Trotzdem wäre es ganz gut zu wissen, warum er bei dem JTL_DirectTableQuerry von dir rummosert.
 
Zuletzt bearbeitet:

gutberle

Sehr aktives Mitglied
29. März 2011
1.292
399
Hallo Erik,

da fehlt tatsächlich ein Anführungszeichen am Ende der SQL Query im ersten Code-Schnipsel, so ist es richtig...
Code:
JTL_DirectTableQuery("SELECT cEmpfaengerFirma, CONCAT('z.Hd. ',cAnsprechpartnerAnrede,' ',cAnsprechpartnerVorname,' ',cAnsprechpartnerName) as cAnsprechpartner, cStrasse, CONCAT(cPLZ,' ',cOrt) as cStadt, cLand FROM dbo.tWarenLager WHERE cName='Standardlager'",";","")

Keine Ahnung wie ich das geschafft habe, denn die beiden anderen Code-Schnipsel bauen ja darauf auf und beide sind komplett und funktionieren... :confused:

Gruß,
Ingmar
 
Ähnliche Themen

Ähnliche Themen