Loading
Erweitern von Salesforce mit Klicks, ohne Code
Inhalt
Filter auswählen

          Keine Ergebnisse
          Keine Ergebnisse
          Hier sind einige Suchtipps

          Überprüfen Sie die Schreibweise Ihrer Stichwörter.
          Verwenden Sie allgemeinere Suchbegriffe.
          Wählen Sie weniger Filter aus, um Ihre Suche auszuweiten.

          Gesamte Salesforce-Hilfe durchsuchen
          Visualforce-Seiten als objektspezifische benutzerdefinierte Aktionen

          Visualforce-Seiten als objektspezifische benutzerdefinierte Aktionen

          Eine Visualforce-Seite, die als benutzerdefinierte Aktion für ein Objekt hinzugefügt wurde, wird im Kontext eines Datensatzes dieses Objekttyps aufgerufen. Der benutzerdefinierten Aktion wird eine spezifische Datensatz-ID zugewiesen – der Datensatz, den der Benutzer angezeigt hat, als er auf die benutzerdefinierte Aktion geklickt hat. Gestalten Sie die Seite so, dass mit diesem spezifischen Datensatztyp agiert wird.

          Erforderliche Editionen

          Verfügbarkeit: Salesforce Classic und Lightning Experience
          Verfügbarkeit: Group, Professional, Enterprise, Performance, Unlimited, Contact Manager, Database.com und Developer Edition

          Visualforce-Seiten, die Sie für die Verwendung als objektspezifische Aktionen erstellen, müssen ein Standardsteuerfeld für Objekte verwenden. Verwenden Sie Steuerfelderweiterungen, um benutzerdefinierten Code, einschließlich mit JavaScript Remoting aufrufbarer @RemoteAction-Methoden, hinzuzufügen.

          Ihr benutzerdefinierter Code kann mehr als nur Aktualisierungen am ursprünglichen Datensatz vornehmen. Beispielsweise sucht die benutzerdefinierte Aktion "Schnellauftrag erstellen" nach übereinstimmenden Waren. Sie erstellt dann eine Rechnung und einen Belegposten – und zwar alles als Teil der Erstellung eines Auftrags für ein Teil. Diese Logik tritt im Kontext des ursprünglichen Accountdatensatzes auf. Die Rechnung wird dem Accountdatensatz zugeordnet, für den die Schnellauftragsaktion aufgerufen wurde.

          Im folgenden Codebeispiel wird eine Seite dargestellt, die als benutzerdefinierte Aktion für das Account-Objekt bestimmt ist, sodass das Standardsteuerfeld für "Account" verwendet wird. Über diese Aktion können Benutzer Kundenvorgänge auf Account-Detailseiten erstellen und sie verfügt über eine andere Benutzeroberfläche als standardmäßige Erstellaktionen.

          public with sharing class CreateCaseExtension {
              private final SObject parent;
              public Case theCase {get; set;}
              public String lastError {get; set;}
              
              public CreateCaseExtension2(ApexPages.StandardController controller) {
                  parent = controller.getRecord();
                  theCase = new Case();
                  theCase.accountId = parent.id;
                  lastError = '';
              }
                
              public PageReference createCase() {
                  createNewCase();
                  theCase = new Case();
                  theCase.accountId = parent.id;
                  return null;
              }
                 
               private void createNewCase() {      
                  try {
                      insert theCase;
                      
                      FeedItem post = new FeedItem();
                      post.ParentId = ApexPages.currentPage().getParameters().get('id');
                      post.Body = 'created a case';
                      post.type = 'LinkPost'; 
                      post.LinkUrl = '/' + theCase.id;
                      post.Title = theCase.Subject;
                      insert post;
                  } catch(System.Exception ex){
                     lastError = ex.getMessage();
                  }
              }   
          }
          
          <apex:page standardcontroller="Account" extensions="CreateCaseExtension" showHeader="false">
              <script type='text/javascript' src='/canvas/sdk/js/publisher.js'/> 
              <style>
                  .requiredInput .requiredBlock, .requiredBlock {background-color: white;} 
                  .custompubblock div {display: inline-block;} 
                  .custompublabel {width:54px;} 
              </style>
              <script> 
                  function refreshFeed() { 
                      Sfdc.canvas.publisher.publish({name : 'publisher.refresh', payload : {feed:true}}); 
                  }
              </script>   
              <div> 
                  <apex:form > 
                      <apex:actionFunction action="{!createCase}" name="createCase" rerender="out" 
                      oncomplete="refreshFeed();"/> 
                      <apex:outputPanel id="out" > 
                          <div class="custompubblock"> 
                              <div class="custompublabel">Account:</div><apex:inputField value="{!theCase.accountId}" 
                              style="margin-left:0;"/>&nbsp;&nbsp;&nbsp;
                              <div>Contact:&nbsp;</div><apex:inputField value="{!theCase.contactId}" />
                          </div>
                          <apex:inputField value="{!theCase.description}" style="width:538px;height:92px;margin-top:4px;" />
                          <div class="custompubblock" style="margin-top:5px;"> 
                              <div>Status:&nbsp;</div><apex:inputField value="{!theCase.status}" />&nbsp;&nbsp;&nbsp; 
                              <div>Priority:&nbsp;</div><apex:inputField value="{!theCase.priority}" />&nbsp;&nbsp;&nbsp; 
                              <div>Case Origin:&nbsp;</div><apex:inputField value="{!theCase.origin}" /> 
                          </div> 
                      </apex:outputPanel>
                  </apex:form><br/>
                  <button type="button" onclick="createCase();" 
                  style="position:fixed;bottom:0px;right:0px;padding:5px 10px; 
                  font-size:13px; font-weight:bold; line-height: 
                  18px;background-color:#0271BF;background-image:-moz-linear-gradient(#2DADDC, #0271BF);background-repeat:repeat-x;border-color:#096EB3;" 
                  id="addcasebutton">Create Case</button> 
              </div>  
          </apex:page>
          
          Hinweis
          Hinweis Wenn Sie einen URL zu Ihrer Organisation umleiten, wird das Aktionsdialogfeld geschlossen, sobald der Vorgang beendet ist oder Sie das Dialogfeld programmgesteuert verlassen. Wenn Sie die Umleitung so einrichten, dass sie auf einen externen URL verweist, kann dies zu abweichendem Verhalten führen, da ein externer URL auf einer neuen Browserregisterkarte geöffnet wird.

          Anforderungen für die Aktualisierung von Host-Seiten

          Wenn eine objektspezifische oder globale benutzerdefinierte Aktion den Feed auf der Seite aktualisieren soll, die als dessen Host fungiert, muss die von Ihnen erstellte Visualforce-Seite, die Sie als diese Aktion verwenden, folgende Voraussetzungen erfüllen:

          • Sie muss auf die Publisher-JavaScript-Datei verweisen: <script type='text/javascript' src='/canvas/sdk/js/publisher.js'/> hinzu. (Zum Erstellen benutzerdefinierter Visualforce-Aktionen ist das Zeichenbereich-SDK nicht erforderlich.)
          • Sie muss folgenden JavaScript-Aufruf enthalten: Sfdc.canvas.publisher.publish({name : 'publisher.refresh', payload : {feed:true}}); hinzu.
          • Visualforce-Seiten als globale benutzerdefinierte Aktionen
            Als globale Aktionen verwendete Visualforce-Seiten können an vielen verschiedenen Stellen aufgerufen werden und ihnen ist kein spezieller Datensatz zugeordnet. Sie weisen komplette Freiheit hinsichtlich der Aktionen auf. Das bedeutet, es obliegt Ihnen, den Code zu schreiben.
          • Ausblenden der Aktionsüberschrift für benutzerdefinierte Visualforce-Aktionen
            Wenn Sie eine Visualforce-Seite erstellen, die als benutzerdefinierte Aktion verwendet werden soll, können Sie wahlweise die Aktionsüberschrift ausblenden. Das Ausblenden der Aktionsüberschrift kann dazu beitragen, Verwirrung bei den Benutzern zu vermeiden, insbesondere wenn Sie auf der Visualforce-Seite Ihre eigenen Schaltflächen angegeben haben.
           
          Laden
          Salesforce Help | Article