(Vorversion) DocuSign eSignature für Salesforce (DFS) – URL-Schaltflächen für Lightning und Mobile – Einrichtung/Einschränkungen

Einführung

In Salesforce Lightning sind JavaScript-Schaltflächen aus Sicherheitsgründen nicht länger zulässig. Daher können unsere benutzerdefinierten JavaScript-Standardschaltflächen nicht länger verwendet werden. Ab DocuSign für Salesforce 7.0 steht ein Generator für benutzerdefinierte Schaltflächen zur Verfügung. Der Generator hat jedoch einige Einschränkungen, die durch Code aber aufgehoben werden können.

Einrichtung

Eine neue URL-Schaltfläche erstellen Sie, indem Sie den ersten Schritten in dieser Anleitung folgen. Der Hauptunterschied ist das Hinzufügen zum Layout sowie:

Screenshot

Die Inhaltsquelle ist URL und die Auswahl für „Verhalten“ bleibt Ihnen überlassen. Wenn Sie Mobile nutzen, ist die vorstehende Option jedoch die beste.

Mustercode

Beispiel 1
{!URLFOR('/apex/dsfs__DocuSign_CreateEnvelope', null, [
SourceID = Opportunity.Id,
CCRM = 'Decision Maker~Signer 1',
CCTM = 'Decision Maker~Signer',
DST = 'a2e2cd02-f11e-4c8c-a830-c9f2b6564a9e',
LA = '0',
LF = '0',
OCO = 'Tag'
]
)}

Wir nutzen das Format URLFOR in diesem Beispiel, da das Format ab Version 7.0 erforderlich ist. Mit dieser Methode haben wir alle Parameter innerhalb eines Array oder eckiger Klammern, wobei die Werte mit Kommatrennzeichen aufgelistet werden. Dabei können dieselben DocuSign-Parameter wie für JavaScript verwendet werden. Hierbei gibt es jedoch ein paar Einschränkungen und Punkte zu beachten:
  • Bestimmte Briefvorlagenfelder können nicht innerhalb des Array verwendet werden. Dazu gehören Auswahllistenfelder. Wie dabei verfahren wird, erfahren Sie im Folgendem.
  • Briefvorlagenfelder innerhalb der URLFOR-Funktion (alles innerhalb der geschweiften Klammern) sind dann Object.Field und nicht das übliche {!Object.Field}. Im vorstehenden Beispiel sehen Sie SourceID = Opportunity.Id.


Beispiel 2
{!URLFOR('/apex/dsfs__DocuSign_CreateEnvelope', null, [SourceID=Opportunity.Id])}
&DSEID=0&LA=0&LF=0&OCO=&CEM=Please+sign+for+{!Opportunity.Name}&DST={!Opportunity.Template_GUIDS__c}&CCRM=Decision+Maker~Signer+1

Der Unterschied ist, dass wir die Parameter außerhalb des Array und der URLFOR-Funktion (außerhalb der geschweiften Klammern) hinzufügen und sie dann als Abfrageparameter an die URL anhängen, um die Werte an DFS-APEX-Klassen zu übergeben.
  • In diesem Beispiel wurde eine Auswahlliste für Vorlagen-IDs erstellt, die jedoch nicht innerhalb des Array unterstützt wird (Fehlermeldung: Feld Opportunity.Template_GUIDS__c ist ein Auswahllistenfeld; Auswahllistenfelder werden nur in bestimmten Funktionen unterstützt).
  • Hinweis: Für Salesforce-Felder werden jetzt geschweifte Klammern verwendet, z. B. {!Opportunity.Template_GUIDS__c}.
  • Alle Parameter werden mit dem Et-Zeichen & aneinandergereiht, wobei keine einfachen Anführungszeichen verwendet werden, da diese nicht außerhalb von URLFOR eingesetzt werden.
  • Bei Parameterwerten außerhalb der URLFOR-Funktion setzen Sie am besten Pluszeichen anstelle von Leerstellen. Die meisten Browser setzen diese jedoch bereits automatisch.


Beispiel 3: vor Ort ausrichten – jetzt signieren
{!URLFOR('/apex/dsfs__DocuSign_CreateEnvelope', null, [
SourceID = Opportunity.Id,
DSEID = '0',
CRL = 'Email~' + User.Email + ';FirstName~' + User.FirstName + ';LastName~' + User.LastName + ';SignInPersonName~Signer Name;SignNow~1;RoutingOrder~1;Role~Client1,Email~' + User.Email + ';FirstName~' + User.FirstName +';LastName~' + User.LastName + ';SignInPersonName~Signer Two;SignNow~1;RoutingOrder~2;Role~Client2',
OCO = 'Send',
CCTM = 'Client1~Host in person - sign now;Client2~Host in person - sign now', 
CCRM = 'Client1~Client1;Client2~Client2',
LF = 1
]
)}

Dies ist ein relativ häufiger Anwendungsfall, bei dem der Kunde direkt im Browser oder in der mobilen App per Klick auf eine Schaltfläche das Vor-Ort-Signieren initiieren möchte.
  • Wichtig hierbei sind CRL und CCTM, da für „Jetzt signieren“ der aktuelle Name und die aktuelle E-Mail-Adresse des Salesforce-Benutzer verwendet werden muss. Daher werden auch Felder wie User.Email eingesetzt. CCTM-Rollen müssen Folgendem genau zugeordnet werden: Host in person - sign now (vor Ort ausrichten – jetzt signieren)
  • Dieser Schaltfläche funktioniert in der mobilen Salesforce-App ab Version 7.0. Da jedoch bei der mobilen App einige Einschränkungen bestehen, muss die Visualforce-Seite und der Tagger umgangen werden. Aus diesem Grund wird OCO = 'Send' (Senden) verwendet. Die Funktionalität der Visualforce-Seite ist für Mobilgeräte eingeschränkt. Benutzerdefinierte Einstellung und Parameter werden ignoriert. Der Tagger ist für Mobilgeräte nicht optimiert. Damit diese Probleme umgangen werden, sollte der Workflow am besten als 1-Klick-Option eingerichtet werden. Dabei müssen Empfänger automatisch hinzugefügt oder Felder (Tags) automatisch positioniert oder mithilfe einer Vorlage hinzugefügt werden. Der Rest muss über den Schaltflächencode gesteuert werden.
  • Die DocuSign-E-Mail-Adresse des Ausrichters für das Vor-Ort-Signieren muss mit der Salesforce-E-Mail-Adresse übereinstimmen. Wenn diese nicht übereinstimmen, kann „Jetzt signieren“ nicht direkt verwendet werden, sondern der Signiervorgang muss dann über die E-Mail initiiert werden.
  • Ab der Version 7.0.1 ist eine Einstellung im DocuSign-Admin-Objekt verfügbar, mit der das fortlaufende Signieren ermöglicht wird. Mehrere Unterzeichner können von der mobilen Salesforce-App oder im Browser signieren, ohne Salesforce zu verlassen.

Zum Layout für Mobile und Lightning hinzufügen

Die Schaltfläche wird zu einem anderen Layout-Abschnitt als die Classic-Schaltflächen hinzugefügt. Informationen zum Hinzufügen der Schaltflächen von der Seite „Layouts bearbeiten“ in Classic und Lightning finden Sie nachfolgend.

Classic Salesforce:
Wählen Sie im Objekt von dem aus Sie die Schaltfläche hinzufügen, einen Datensatz und wählen Sie „Layout bearbeiten”:
Screenshot

Lightning Salesforce:
Screenshot

 


Zur Seite „Layouts“ in Classic und Lightning hinzufügen

Klicken Sie im Datensatz oben rechts auf der Seite auf das Zahnrad- oder Setup-Symbol und wählen Sie „Objekt bearbeiten > Seiten-Layouts“. Wählen Sie das gewünschte Layout. Sie sollten jetzt dieselbe Seite zum Bearbeiten des Layouts sehen, die auch in Classic verfügbar ist.


Screenshot
  1. Klicken Sie auf „Aktionen für Mobile und Lightning”.
  2. Suche Sie die neue URL-Schaltfläche.
  3. Scrollen Sie zum Bereich „Aktionen in Salesforce Mobile und Lightning Experience“.
  4. Positionieren Sie die Schaltfläche per Drag-and-drop in den Bereich „Aktionen in Salesforce Mobile und Lightning Experience“.
  5. Klicken Sie auf „Speichern“ und kehren Sie zum Salesforce-Datensatz zurück.

Einschränkungen

  • JavaScript-Logik wie If/Else (Wenn/Dann) und For-Schleifen (Für-Schleifen) sowie deklarierte Variablen können nicht verwendet werden. Diese müssen außerhalb des Schaltflächencodes liegen, beispielsweise in einem Formelfeld des Datensatzes oder über eine benutzerdefinierte Komponente oder einen benutzerdefinierten Trigger (Auslöser).

Weitere Informationen