{"id":4757,"date":"2017-03-06T19:47:56","date_gmt":"2017-03-06T18:47:56","guid":{"rendered":"https:\/\/mind-force.de\/?p=4757"},"modified":"2021-06-24T10:21:11","modified_gmt":"2021-06-24T08:21:11","slug":"lightning-experience-anhang-bei-der-lead-konvertierung","status":"publish","type":"post","link":"https:\/\/mind-force.de\/vertrieb\/lightning-experience-anhang-bei-der-lead-konvertierung\/","title":{"rendered":"Lightning Experience: Anh\u00e4nge bei der Lead Konvertierung"},"content":{"rendered":"\n
Heute möchte ich Ihnen einen Einblick in eine ganz spezielle Lightning Herausforderung geben. Mit Lightning Experience ist es derzeit im Standard nicht möglich, Anhänge bei der Lead Konvertierung zu übertragen, wie Sie hier<\/a> sehen können.<\/p>\n Einer meiner Kunden benutzt Leads, um sogenannte Prospects im Detail zu qualifizieren. Bei der Leadkonvertierung benötigt der Kunde alle gesammelten Informationen des Leads auf dem Account, um damit verschiedene Opportunities abwickeln zu können.<\/p>\n Da es keinen bekannten Weg gibt, diese Anforderung mit Salesforce Standardtools umzusetzen, wird ein Apex Trigger benötigt.<\/p>\n Dafür ist es zunächst wichtig zu wissen, welches Objekt die Anhang-zu-Objekt Beziehung enthält. In Lightning Experience werden diese im Objekt ContentDocumentLink<\/em> abgebildet. Die wichtigsten Felder sind dabei ContentDocumentId<\/em> und LinkedEntityId<\/em>. ContentDocumentId<\/em> repräsentiert dabei das Dokument bzw. den Anhang und LinkedEntityId<\/em> steht für das Objekt, also bspw. den Lead, an dem der Anhang hängt.<\/p>\n Die nächste Überlegung beschäftigt sich mit der Frage nach dem Trigger-Typ (before, after<\/em>) und der Art des Triggers (insert, update, delete, …<\/em>). Die Leadkonvertierung ist eine Update-Operation. Dabei bekommt der Lead den Status isConverted = true<\/em> und erhält eine ConvertedAccountId<\/em>. Um ein Dokument an den Account anhängen zu können, muss dieser zum Zeitpunkt, wenn der Trigger ausgeführt wird, bereits angelegt sein. Sonst ist es nicht möglich, auf die Daten zugreifen zu können. Dies ist im ‘after’<\/em> Kontext der Fall, wenn der Account bereits auf der Datenbank gespeichert, aber noch nicht eingecheckt wurde (siehe dazu Triggers and Order of Execution<\/a>). Es gilt also einen after update Trigger<\/em> zu erstellen.<\/p>\nHintergrund<\/h2>\n
<\/a><\/p>\n
Überlegungen<\/h2>\n
Die Frage nach dem Trigger<\/h3>\n