Hi all,
eine spannende Frage an alle Bastler ;)
wir verwenden die aktuelle OTRS-Version und Suite-CRM. Das CRM stellt die zentrale Kundendatenbank dar. Ich habe die Config.pm entsprechend angepasst und die CRM-Datenbank eingebunden, so dass OTRS diese Datenbank als Kundendatenbank nutzt. Das klappt auch alles wunderbar.
Folgendes Problem:
Wenn ein Kunde das Unternehmen wechselt, so wird er in der CRM-Datenbank von der alten Firma auf die Neue umgehoben. Das hat natürlich Auswirkungen auf alle bestehenden Tickets, da sich auch sämtliche Kontaktdaten des Kunden ändern. Ich möchte versuchen, das Ganze revisionssicher abzubilden. Wenn ein Kunde im CRM die Firma wechselt, soll es keine Auswirkungen auf bestehende Tickets haben.
Ich habe testweise folgendes versucht: Die Tabelle "ticket" wurde um einige Spalten erweitert, die die Daten des Kunden (Name, Mail etc.) beinhalten. Nun habe ich ein weiteres Backend (Nr. 2) angelegt, das der CRM-Datenbank (Backend Nr. 1) untergeordnet ist. OTRS wird also immer erst Backend Nr. 1 und anschließend Backend Nr. 2 auslesen, um den Kunden zu finden. In Backend Nr. 2 habe ich nun die Tabelle "ticket" mit den eben angelegten Spalten definiert. Der Mitarbeiter soll beim Öffnen der Tickets immer mit der CRM-Datenbank arbeiten, daher wurden die Suchfelder im Backend Nr. 2 nicht gemappt. Öffnet der Mitarbeiter ein neues Ticket, so verweist der Kunde zunächst also auf die CRM-Datenbank, da nur aus dieser Kunden ausgewählt werden können. Nach dem Öffnen des Tickets wird dies per Script geändert, der Kunde auf Backend Nr. 2 gesetzt und die Felder in der "tickets"-Tabelle mit den aktuellen Kundendaten aufgefüllt.
Auf diese Weise konnte ich es umsetzen, dass ich den gesamten Kundendatensatz für jedes Ticket einzeln abspeichern kann. Das Problem dabei ist folgendes: Mitarbeiter sollten bei der Suche nach einem Kunden ausschließlich die aktuelle CRM-Datenbank nutzen, nicht die Kundendatensätze der einzelnen Tickets. Daher wurden im Backend Nr. 2 die Suchfelder nicht gemappt. Das hat allerdings auch zur Folge, dass ich Tickets, die einen Kunden aus dem Backend Nr. 2 gesetzt haben, nicht mehr suchen kann. Diese Einstellung wirkt sich scheinbar nicht nur auf Kunden, sondern auch auf zugewiesene Tickets aus.
Mir ist klar dass das Ganze ziemlich dirty ist, wüsste aber momentan nicht wie man es sonst umsetzen könnte.
Meine Frage: Hat jemand so etwas schon mal gemacht oder eine alternative Idee, wie ich es verhindern kann, dass sich Änderungen der Kundendatenbank auf bestehende Tickets auswirken?
Danke und Gruß
Daniel