Mehrfache Verknüpfung zwischen Kontakt und Firma

Hallo zusammen,

ich bastele gerade Combit auf unseren Anwendungsfall um. Dabei bin ich jedoch bei einer Thematik an meine Grenze gestoßen und hoffe mir hier einen Hinweis zu bekommen.

Nehmen wir mal an ich habe an einer Person eine Firma verknüpft, da diese dort arbeitet. Daneben möchte ich jedoch auch die Krankenkasse bei der diese Person versichert ist anlegen und das Bankinstitut aus den Firmen heraus auswählen können. Natürlich kann ich die Auswahlfelder mit Filtern belegen und eine entsprechende Abfrage an den Firmen erschaffen. Jedoch bekomme ich es derzeit nicht hin, dass er unterschiedliche Firmen zulässt. Er ergänzt dann immer durch die bereits gewählte Firma, sodass in allen Feldern (Firma, Krankenkasse, Bankinstitut) dasselbe Unternehmen gelistet wird. Ich habe auch bereits versucht die 1:1 Relation umzustellen auf eine n:m Relation. Allerdings scheine ich dabei einen Fehler gemacht zu haben, da ich nun bei der Schaltfläche „Auswahl relationaler Datensätze“ die Tabelle „Firmen“ nicht mehr ansteuern kann.

Es wäre also sehr hilfreich, wenn jemand kurz eine Anleitung oder Dokumentation zur Verfügung hat oder mir ein bisschen näher erläutern könnte, wie die notwendigen Arbeitsschritte sind.

Vielen Dank im voraus.

Marcel

Hallo Herr Neumann und herzlich Willkommen hier im Forum! :raising_hand_man:t3:

Vorwarnung: Die Beantwortung Ihrer Frage tangiert mehrere Dimensionen - daher könnte meine Antwort hier etwas länger ausfallen. :slight_smile:

Technische Lösung: Für Ihr konkretes skizziertes Beispiel benötigen Sie für jede dieser Beziehungen (1. Arbeitgeber, 2. Bank, 3. Versicherer) eine eigene „relationale Kante“ für diese jeweilige konkrete Beziehung.

  • Sie würden also in „Kontakte“ ein Feld „BankID“ (ich benutze jetzt der Lesbarkeit halber deutsche Feldnamen) und ein Feld „VersichererID“, beide vom Typ „Eindeutige ID“ (unique identifier), spendieren (CompanyID für Arbeitgeber haben Sie ja schon). Dann definieren Sie eine „1:1“ Relation von „BankID“ ausgehend auf die Ansicht „Firmen“ auf das dortige Feld „ID“ und nennen den Relationsalias „BankkontoBei“. Dasselbe von „VersichererID“ auf „Firmen“ auf „ID“ und nennen es „VersichertBei“.

  • Dann platzieren Sie die Schaltfläche „Relationale Datensatzauswahl“ zwei mal, und in den Eigenschaften wählen Sie einmal die Relation „BankkontoBei“ aus und einmal die Relation „VersichertBei“. Darüber können die Benutzer nun zu jedem Kontakt aus der Liste aller Firmen eine Firma auswählen, die die „Bank“ darstellt, und eine, die den „Versicherer“ darstellt.

Über „BankkontoBei.Firma“ (u.ä.) und „VersichertBei.Firma“ (u.ä.) haben Sie dann Zugriff auf die Felder der Bank und des Versicherers des aktuellen Kontakts.

Soweit so gut.

Jetzt kommt jedoch die Daten-(logische)-Dimension:

  • Wo speichern Sie zur Versicherung jetzt Attribute wie „PolicenNummer“, „Vertragslaufzeit“, „Versicherungstyp“? Wo speichern Sie zur Bank jetzt die konkrete IBAN, BIC oder so etwas wie SEPAMandatErteilt?
  • Kann in Ihrem Anwendungsfall (regelmäßig) ein Kontakt auch mehrere Bankverbindungen haben? Auch bei unterschiedlichen Banken?
  • Kann in Ihrem Anwendungsfall (regelmäßig) ein Kontakt auch mehrere Versicherungen haben? Auch bei unterschiedlichen Versicherern?

Die kurze Skizze Ihres Beispiels hat dies verständlicherweise nicht alles ausgeführt - für die Wahl des „besten“ praxistauglichen (!) Datenmodells wird dies wichtig. (Unabhängig von den dann dazu nötigen Klicks in unserer Software.)

Wenn Sie also hierzu noch ein paar Details spendieren, dann spendiere ich Ihnen ein Tipp, wie ich dies dann vmtl, modellieren würden. :slight_smile:

Das Spannende am Thema ist, dass diese Komplexität ja nicht aus unserer Software rührt, sondern aus der „Daten“-Wirklichkeit Ihres Unternehmens. So ist das unserer Erfahrung nach eigentlich immer, deswegen ist unsere Philosophie auch die des CRM-Werkzeugkasten, anstatt einer von uns ausgedachten starren Lösung. Und gerade dies ist das für mich Erfreuliche an Ihrem Beitrag, nämlich dass auch wenn Sie mir sagen, Sie brauchen zig Versicherungen pro Kontakt, dies unsere CRM-Framework Ihnen ebenfalls ermöglicht. :muscle:

:warning: Wir dürfen nur die Benutzbarkeit durch die Anwender nicht aus dem Fokus verlieren, „Pragmatismus schlägt Informatik.“ => sehe ich jedenfalls so.

Beste Grüße

PS: Ich hadere zusätzlich mit dem Ansatz, diese „Stammdaten“ aller Banken und Versicherer wirklich in die „Firmen“-Ansicht abzubilden. Datenbank-Normalform-seitig gedacht, „ist“ ein Versicherer natürlich eine Firma. Aber: Damit die Anwender möglichst effektiv bei einem Kontakt die richtige Bank und Versicherung auswählen können, müssten Sie möglichst alle Banken und alle Versicherer in Ihre Firmen Ansicht importieren. Sonst stehen die dort ja nicht zur Auswahl, sondern müssten vom Anwender erst einmal recherchiert und erfasst werden, nur um eine Bankverbindung bei einem Kontakt eintragen zu können. Sie vermischen aber so Ihre Firmen-Kunden (Arbeitgeber der Kontakte) mit zig Hunderten von Banken und zig Hunderten von Versicherern. Der normale Anwender im Tagesgeschäft sollte sich nicht bei jeder Firmenkundensuche mit potentiellen Treffern von Banken und Versicherern herumschlagen müssen, also muss man hier zusätzliche Klimmzüge machen. Ebenso werden eigentlich einfache Statistiken („Wie viele Firmen haben wir denn im Umkreis von Nürnberg?“) komplizierter, weil Sie damit ja jetzt nicht dort ansässige Banken und Versicherer meinten.