Kollege, Du bist wirklich kein Programmierer...
Also, pass auf,
Cond() hat eine Bedingung und dann zwei Konsequenzen daraus, eine wenn die Bedingung
wahr ist und eine wenn sie
falsch ist, also so
Cond(Bedingung,AktionWennWahr,AktionWennFalsch). Ganz hinten, am Ende Deines Syntaxfehler-Codes schließt sich also die eine Klammer, die Du mit dem
Cond( vorne geöffnet hast.
Dazwischen gibt es bei Dir drei Teile (Terme) mit Klammern, einmal die Abfrage ob es Norwegen ist, dann die Abfrage, ob es die Schweiz ist und die habe ich eigentlich nur deshalb in Klammern gesetzt, weil dazwischen ein
"OR", also eine weitere Bedingung steht und ich sicherstellen wollte, dass sich das
"OR" auf die beiden Länderabfragen als Ganzes bezieht. Das hat etwas mit der Priorität der Operatoren zu tun und bei List & Label bin ich mir nicht sicher, also besser Vorsicht.
Ok, und dann kommt am Ende noch der Befehl für das Bild, der lautet
Drawing(PfadZumBild). Oha, der Befehl
Drawing() hat also nur einen Parameter zwischen seiner öffnenden und schließenden Klammer, Dein Code von oben lautet aber
Drawing(PfadZumBild,"").
Hier hast Du also die Klammer eins zu weit nach rechts gesetzt und damit eigentlich gleich zwei Syntaxfehler erzeugt, nämlich dass beim
Drawing() Befehl ein zweiter, ungültiger Parameter "" auftaucht und dass
Cond() keinen
AktionWennFalsch Teil mehr hat, letzteres ist aber tatsächlich egal, denn der
AktionWennFalsch Teil von
Cond() ist "optional", man kann also auch darauf verzichten und nur die
AktionWennWahr prüfen und ausführen.
Ok, genug geschwafelt, hier ist Dein Konstrukt in korrekt...
Code:
Cond((Vorgang.Auftrag.Lieferadresse.Land.ISO="CH") OR (Vorgang.Auftrag.Lieferadresse.Land.ISO="NO"),Drawing("C:\Users\Public\Pictures\Sample Pictures\Chrysantheme.jpg"),"")
... und wenn wir jetzt noch die Sache mit dem IstUStFreiNichtEU einbauen, dann sieht das so aus...
Code:
Cond(Vorgang.Auftrag.IstUStFreiNichtEU,Drawing("C:\Users\Public\Pictures\Sample Pictures\Chrysantheme.jpg"),"")
... und wie Du siehst, muss das
...IstUStFreiNichtEU nicht mal in Klammern gesetzt werden, denn da wird ja nicht mehr drum herum mit
"OR" oder so geprüft und entschieden.
Die Frage, ob der "drittland-export-text" automatisch eingefügt wird, ist leicht erklärt, denn das hat nichts mit dem TARIC Code zu tun. Stattdessen ist es so, dass die
Wawi beim Aufruf einer Vorlage prüft, ob das Versandland ein EU Land, ein Drittland, usw. ist und sie setzt dann selbsttätig die entsprechenden Variablen.
Kommt also ein Auftrag nach Norwegen dann IST
Vorgang.Auftrag.IstUStFreiNichtEU bei Aufruf der Rechnungsvorlage zum
Drucken/Speichern/Mailen... auf
True=Wahr gesetzt und Dein Ausführer Text wird automatisch ausgegeben.
WAS Du Dir aber überlegen solltest, ist ob Du das Ganze nicht lieber doch so strukturieren solltest, wie ich es oben vorgeschlagen habe und die Abfrage, ob überhaupt etwas ausgegeben werden soll, nicht im Text vornimmst, sondern in der
Darstellungsbedingung. Das sähe für die "Chrysanthemen nach Norwegen" dann so aus:
Darstellungsbedingung: Vorgang.Auftrag.IstUStFreiNichtEU
Bild: Drawing("C:\Users\Public\Pictures\Sample Pictures\Chrysantheme.jpg")
- oder -
Text: "Der Ausführer der Waren, auf die sich dieses Handelspapier bezieht, erklärt, dass diese Waren, soweit nicht anders angegeben, präferenzbegünstigte CE Ursprungswaren sind."
Ich denke, Du siehst daran ganz gut , warum die Trennung zwischen der Entscheidung
ob dargestellt werden soll und dem
was dargestellt werden soll, das Ganze viel übersichtlicher macht, zumal wenn Du mehrere solcher Konstrukte hast, die irgendwie alle gleichberechtigt in Deiner Rechnung stehen, sich aber auch unterschiedliche Bedingungen und Länder beziehen. Dann bricht bei der "alles in einem" Lösung schnell das Chaos aus, bei der getrennten Version aber nicht.