Inaktiv Adressabgleich

volvisti

Sehr aktives Mitglied
18. Juli 2017
311
43
Hallo zusammen,
zur Vorgeschichtem die sicher alle Kennen, es gibt Kunden, die meinen, dass Sie zwingend eine Lieferanschrift angeben müssen, auch wenn sie mit der Lieferanschrift identisch ist.

Ich schlage mich daher schon eine ganze Weile mit folgender Anforderung bezüglich der Adressausgabe auf der Rechnung rum:
- links im Adressfenster soll,
-- wenn keine Leiferadresse angegeben ist, die Rechnungsadresse ausgegeben werden
-- wenn eine Lieferadresse angegeben ist, diese ausgegeben werden.

Ein Textfeld neben dem Adressfenster soll
-- wenn keine Lieferadresse angegeben ist oder wenn beide Adressen identisch sind, nicht angezeigt werden
-- wenn eine Lieferadresse angegeben ist, die Rechnungsadresse enthalten (siehe Beispiel)

upload_2017-11-29_20-3-14.png
Als Beipiel, was ich gemacht habe,eine Zeile aus dem Adressfenster:
Code:
cond((Vorgang.Auftrag.Lieferadresse.Straße!=Vorgang.Auftrag.Rechnungsadresse.Straße),Vorgang.Auftrag.Lieferadresse.Straße,Vorgang.Auftrag.Rechnungsadresse.Straße)

Diese funktioniert aber nur, wenn eine Lieferanschrift angelegt ist. Ohne Lieferanschrift bleibt das Feld leer.
Bei identischen Adressen werden beide ausgegeben, was ziemlich blöd aussieht.
Klar kann ich die beiden Ausgabeterme tauschen, dann wird die abweichende Lieferanchrift aber komplett ignoriert.

Als Darstellungsbedingung für das Textfeld habe ich folgenden Code hintelegt:
Code:
(Page () == 1) and (Vorgang.Auftrag.Lieferadresse.Ort != Vorgang.Auftrag.Rechnungsadresse.Ort)
Es muss also die erste Seite sein, obwohl das wahrscheinlich Unsinn ist, wenn sich alles auf der Eben "Erste Seite" befindet, und Lieferort muß von Rechnungsort abweichen.
Aber was ist, wenn Lieferanschrift (z.B. Ladengeschäft) und Rechnungsanschrift (z.B.Büro) sich zwar im gleichen Ort, aber in einer anderen Straße befinden?

Hier hatte ich schon die Idee es so zu versuchen:
Code:
((Page () == 1) and (Vorgang.Auftrag.Lieferadresse.Ort != Vorgang.Auftrag.Rechnungsadresse.Ort)) or ((Page () == 1) and (Vorgang.Auftrag.Lieferadresse.Straße != Vorgang.Auftrag.Rechnungsadresse.Straße))

Klappt aber auch nicht. :(

Jetzt habe ich viel geschrieben, wäre vielleicht auch kürzer gegangen, aber ich hoffe dennoch auf Hilfe.

Bedanken tue ich mich schon jetzt.