Beispielskript, das die Verkaufschancen-Tabelle abfragt

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 2 Minuten Lesedauer
  • Dieses Beispielskript fragt die Verkaufschancen-Tabelle mit den benutzerdefinierten Aktionen Alle Verkaufschancen abrufen, Verkaufschancen für Account-ID abrufen und Verkaufschancen-Details abrufen ab.

    Das Beispielskript besteht aus drei verschiedenen Teilen:
    1. Der erste Teil wählt die richtige benutzerdefinierte Aktion aus und bereitet Eingaben dafür vor.
    2. Der zweite Teil ruft die Aktion auf.
    3. Der dritte Teil verarbeitet die Ausgaben der Aktion.

    Speichenaktionen auswählen und die Eingaben vorbereiten

    Wählen Sie in diesem Abschnitt des Skripts eine der drei anwenderdefinierten Aktionen aus, die Sie bereit sind, Verkaufschancen aus der Salesforce-Anwendung zu erhalten:
    • Alle Verkaufschancen abrufen
    • Verkaufschancen für Account-ID abrufen
    • Verkaufschancen-Details abrufen
    Sie können entscheiden, welche Aktion aufgerufen werden soll, basierend auf den Parametern, die in enthalten sind v_query Funktionsargument.
    /****** Choose action and prepare action inputs *****/
    var action = null;
    var inputs = {};
    
    // look up opportunity by salesforce record id
    if (v_query.isGet()) {
    
      action = "get_opportunity_details";
      inputs.salesforce_opportunity_record_id = v_query.getSysId();
          
    
    // look up opportunities by salesforce account id
    } else if (v_query.getParameter("u_sf_account_id")) {
    
        if (v_query.getParameter("u_sf_account_id") == "undefined") {
          gs.addInfoMessage(“Opportunities cannot be retrieved because “ +
                            “this “Account does not have associated “    +
                            “Salesforce Account. Please contact System “ +
                             “Administrator.");
          return;
    
        } else {
          action = "get_opportunities_for_account_id";
          inputs.salesforce_account_id = v_query.getParameter("u_sf_account_id");
        }
    
    // look up all opportunities
    } else {
      action = "get_all_opportunities";
    }
    

    Beachten Sie, dass dieses Skript eine Informationsnachricht konfiguriert, wenn der Salesforce-Account nicht definiert ist, wenn er von der Aktion benötigt wird. Der nicht definierte Wert stammt aus der Beziehung, die in Zugehörige Listen zum Erstellen der Verbindung zwischen dem Kunden-Account und den Salesforce-Verkaufschancen verwenden beschrieben ist.

    Wenn der Salesforce-Account nicht definiert ist, kann in diesem Fall nichts abgefragt werden, und die Funktion gibt zurück, ohne die Spoke-Aktion aufzurufen.

    Speichenaktionen aufrufen

    Rufen Sie in diesem Abschnitt des Skripts die Aktion mit den Namen der Salesforce-Spoke und der ausgewählten Aktion auf, und speichern Sie die Ausgaben des Aufrufs.

    /***** Call action *****/
    var outputs =
            sn_fd.FlowAPI.executeAction("sn_salesforce_spok." + action, inputs);
    

    Aktionsausgaben verarbeiten

    Verarbeiten Sie in diesem Abschnitt des Skripts die Ausgaben beginnend mit der Prüfung auf Fehler.

    /***** Process action outputs *****/
    if (outputs.status != "Success") {
    throw new Error(outputs.error_message);
    }
    

    Wenn die Abfrage keine Fehler zurückgibt, muss das Skript die zurückgegebenen Datensätze verarbeiten und sie als Zeilen der Remote-Tabelle hinzufügen. Ordnen Sie die Salesforce-Verkaufschancenfelder den Remotetabellen-Spalten zu.

    var opportunities = outputs.opportunities.data;
    
     for (var i = 0; i < opportunities.length; i++) {
      var opportunity = opportunities[i];
      v_table.addRow({
        "u_sf_amount": opportunity.Amount,
        "u_sf_close_date": opportunity.CloseDate,
        "u_sf_name": opportunity.Name,
        "u_sf_probability": opportunity.Probability + "%",
        "u_sf_account_id": opportunity.AccountId,
        "u_sf_stage": opportunity.StageName,
        “u_sf_type": opportunity.Type,
        "sys_id": opportunity.Id,
      });
    }
    

    Beachten Sie, dass die Salesforce-Verkaufschancen-Datensatz-ID der sys_id der Remotetabelle zugewiesen ist. Dadurch wird überprüft, ob Listen und Formulare für die Remote-Tabelle ordnungsgemäß funktionieren und wir die Datensatz-ID mit extrahieren können v_query.getSysId() Das nächste Mal, wenn das Remote-Tabellenskript aufgerufen wird.

    Anschließend wird die Informationsmeldung angezeigt, wenn sie von der Abfrage übergeben wurde.

    if (outputs.info_message) {
      gs.addInfoMessage(outputs.info_message);
    }
    

    Remotetabellen-Skriptabschnitte zusammenfügen

    Die drei Abschnitte des Skripts sind im try-catch-Block enthalten, um die Fehlerbehandlung zu ermöglichen.

    (function executeQuery(v_table, v_query) {
    
      try {
    
        // place code here from: <Selecting a spoke action and preparing the inputs>
    
        // place code here from: <Calling the spoke action>
    
        // place code here from: <Processing the action output>  	
            
      } catch (error) {
        gs.addErrorMessage("Error retrieving  Salesforce Opportunities. “ +
                           “Please contact System Administrator.");
        gs.addErrorMessage("System Error: " + error.message);
      }
    
    })(v_table, v_query);