Adressen in Geschäftsobjekten

Prev Next

Adressen sind Referenzierte Objekte. Um die Zusammenhänge hier zu verstehen, sollte das Prinzip der referenzierten Objekte verstanden worden sein.

Adressen werden in Geschäftsobjekten in Firmen- und Adressattributen gespeichert. Dabei gibt es pro Firmentyp jeweils nur ein mögliches Firmen- und Adressattribut.

Das Firmen- und Adressattribut kann entweder eine Adresse (address-Knoten), eine Firma (company-Knoten) oder sowohl eine Adresse und eine Firma enthalten.

Eine Firma enthält immer auch eine Adresse.

Hinweis: Die eigentlich verwendete Klasse des Attributes ist abhängig vom Geschäftsobjekt, im nachfolgendem Beispiel-XML z.B. ShipmentCompanyAddress in Sendungen


Beispiel Sendungs-XML (verkürzt ...)

<?xml version="1.0" encoding="UTF-8"?>
<shp:Shipment ...>
   ...
   <attributes>
      <shp:ShipmentCompanyAddress >
         <value companyType="CNE">
            <!-- Nur Adresse  -->
            <address name1="Hans Huber e.K." name2="Metallbau" street1="Hauptstraße" streetNo="15" ...>
               <attributes/>
            </address>
         </value>
      </shp:ShipmentCompanyAddress>
      <shp:ShipmentCompanyAddress ...>
         <!-- Nur Firma incl. Adresse--> 
         <value companyType="RFW">
            <company ...>
               ...
               <address name1="Zentrallager 1" street1="Musterstraße" streetNo="20" ...>
                  <attributes/>
               </address>
            </company>
         </value>
      </shp:ShipmentCompanyAddress>
      <shp:ShipmentCompanyAddress ...>
         <value companyType="FWD">
            <!-- Firma incl. Adresse und zusätzlich mit abweichender Adresse --> 
            <company ...>
               ...
               <attributes/>
               <address name1="Smart Logistics" street1="Neue Straße" streetNo="11" ...>
                  <attributes/>
               </address>
            </company>
            <address name1="Smart Logistics" street1="Alte Straße" streetNo="7a" ...>
               <attributes/>
            </address>
         </value>
      </shp:ShipmentCompanyAddress>               
   </attributes>
   <lineItems/>
</shp:Shipment>

 Befüllen von Firmen- und Adressattributen


Die Adresse im address-Knoten des Firmen- und Adressattributes wird in einer Erfassungsmaske durch ein Adressen-Element befüllt:

images/download/attachments/62859952/image2018-6-28_14_53_44-version-1-modificationdate-1607356557750-api-v2.png

Im angebotenen Suchfeld werden Adressen über Adressbucheinträge von Adressbüchern gesucht. Angeboten werden die Einträge aus den Adressbüchern des jeweiligen Firmentyps, der im Adressbuch gesetzt sein muss. Die Sichtbarkeit wird über die Firmenfreigaben und die Berechtigungen, bezogen auf die Adressbücher, gesteuert.

Möglich ist auch die Verwendung des Adressen (nur bearbeiten) - Elements, in dem keine Suche in Adressbüchern zur Verfügung steht.


Die Firma im company-Knoten wird über eine Firmenauswahlbox befüllt:

images/download/attachments/62859952/image2018-6-28_14_56_20-version-1-modificationdate-1607356557766-api-v2.png


Es ist auch möglich sowohl den address-Knoten als auch den company-Knoten pro Firmentyp gleichzeitig zu befüllen:

images/download/attachments/62859952/image2018-6-28_14_58_16-version-1-modificationdate-1607356557781-api-v2.png


Über die Ereignisaktion Synchronisiere Adresse mit Firma kann die Befüllung des address-Knotens auch automatisiert in einer Ereignisbehandlung erfolgen.

z.B. wenn das Adress-Element nicht angeboten werden soll, oder es soll angeboten werden, aber initial bereits befüllt sein...

Über die Setze Wert Aktion kann z.B. auch die Adresse der aktuellen Firma der Session im address-Knoten gesetzt werden.


Das Prinzip der referenzierten Objekte hat dabei folgende Auswirkungen:

Ändert sich die Adresse einer Firma, hat das keine Auswirkungen auf die Adresse in den adress-Knoten des Firmen- und Adressattributes.

Ändert sich die Adresse des address-Knotens im Firmen- und Adressattribut hat das keine Auswirkungen auf einen möglichen Eintrag in einem Adressbuch.

Ändert sich ein Eintrag in einem Adressbuch hat das keine Auswirkung auf die Adresse im address-Knoten von Geschäftgsobjekten, die auf diese Adresse verweisen. Im Adressbuch ensteht in diesem Fall eine neue Adresse.

Ändert sich die Adresse des address-Knotens im Firmen- und Adressattribut hat das keine Auswirkungen auf die Adresse der Firma innerhalb des gleichen Firmen- und Adressattributes.

Vor allem bei der Verwendung der Daten in Druckdokumenten muss auf diesen Unterschied geachtet werden.

Will man zum Zeitpunkt des Drucks immer die aktuelle Adresse einer Firma verwenden (z.B. als aktuellen Briefkopf), muss auf den address-Knoten innerhalb des company-Knotens zugegriffen werden.

Möglicher X-Path-Ausdruck attributes/shp:ShipmentCompanyAddress/value[@companyType='FWD']/company/address/@street1

Der ermittelte Wert aus dem Beispiel-XML ist hier: Neue Straße.

Will man zum Zeitpunkt des Drucks die zuletzt in der Sendung verwendete Adresse verwenden (z.B. als gespeicherte Lieferadresse), muss auf den address-Knoten zugegriffen werden.

Möglicher X-Path-Ausdruck attributes/shp:ShipmentCompanyAddress/value[@companyType='FWD']/address/@street1

Der ermittelte Wert aus dem Beispiel-XML ist dann: Alte Straße.