Loading
Automatiser dine forretningsprocesser med Salesforce Flow
Tilpas en Visualforce-komponent for at styre forløbets afslutningsadfærd

Tilpas en Visualforce-komponent for at styre forløbets afslutningsadfærd

Brugere, der klikker på Udfør, starter som standard et nyt interview og ser den første skærm af forløbet. Når du har integreret et forløb på en Visualforce-side, skal du konfigurere finishLocation-attributten for at dirigere brugere til en anden side i Salesforce.

Angiv finishLocation med URLFOR-funktionen

Bemærk
Bemærk
  • Du kan ikke omdirigere forløbsbrugere til en URL, der er ekstern i forhold til din Salesforce-organisation.
  • Kald ikke Auth.SessionManagement.finishLoginFlow-metoden og finishLocation-attributten i det samme forløb. Auth.SessionManagement.finishLoginFlow angiver slutningen af et Visualforce-sideloginforløb. Hvis finishLocation er i det samme forløb, køres finishLocation, når forløbet starter, hvilket giver brugerne fuld adgang til sessionen.

Hvis du vil dirigere brugere til en relativ URL eller en specifik registrerings- eller detaljeside ved brug af dens id, skal du bruge URLFOR-funktionen.

Dette eksempel dirigerer brugere til Salesforce-hjemmesiden.

<apex:page>
          <flow:interview name="MyUniqueFlow" finishLocation="{!URLFOR('/home/home.jsp')}"/>
          </apex:page>

Dette eksempel dirigerer brugere til en detaljeside med id'et 001D000000IpE9X.

<apex:page>
          <flow:interview name="MyUniqueFlow" finishLocation="{!URLFOR('/001D000000IpE9X')}"/>
          </apex:page>

Hvis du ønsker detaljer om URLFOR, skal du se Funktioner i Visualforce Developer’s Guide.

Angiv finishLocation med $Page-variablen

Hvis du vil distribuere brugere til en anden Visualforce-side uden at bruge URLFOR, skal du indstille finishLocation til navnet på destinationssiden med formatet {!$Page.pageName} .

<apex:page>
          <flow:interview name="MyUniqueFlow" finishLocation="{!$Page.MyUniquePage}"/>
          </apex:page>

Hvis du ønsker detaljer om $Page, skal du se Globale variabler i Visualforce Developer’s Guide.

Angiv finishLocation med en controller

Du kan indstille finishLocation på nogle forskellige måder med en tilpasset controller.

Denne eksempelcontroller konfigurerer et forløbs afslutningsadfærd på tre forskellige måder.

public class myFlowController {
    
    public PageReference getPageA() {
        return new PageReference('/300');
    }
    
    public String getPageB() {
        return '/300';
    }
    
    public String getPageC() {
        return '/apex/my_finish_page';
    }
}
  • getPageA opretter en ny sidereference ved at overføre en streng for at definere placeringen.
  • getPageB returnerer en streng, der behandles som en PageReference.
  • getPageC returnerer en streng, der bliver oversat til en PageReference.

Her er et eksempel på en Visualforce-side, der refererer til denne controller og indstiller forløbets afslutningsadfærd til den første valgmulighed.

<apex:page controller="myFlowController">
          <h1>Congratulations!</h1> This is your new page.
          <flow:interview name="flowname" finishLocation="{!pageA}"/>
          </apex:page>
        

Hvis du bruger en standardcontroller til at vise en registrering på den samme side som forløbet, vil brugere, der klikker på Udfør, starte et nyt forløbsinterview. De ser den første skærm af forløbet, uden registreringen, fordi id-forespørgselstrengsparameteren ikke bevares i side-URL'en. Konfigurer om nødvendigt finishLocation til at dirigere brugerne tilbage til registreringen.

 
Indlæser
Salesforce Help | Article