Beispielskript, das die Verkaufschancen-Tabelle abfragt

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 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, mit denen Sie Verkaufschancen von der Salesforce-Anwendung erhalten:
    • Alle Verkaufschancen abrufen
    • Verkaufschancen für Account-ID abrufen
    • Verkaufschancen-Details abrufen
    Sie können basierend auf den Parametern, die im Funktionsargument „v_query“ enthalten sind, entscheiden, welche Aktion aufgerufen werden soll.
    /****** 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 für nicht definiert ist, obwohl dies für die Aktion erforderlich ist. 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, muss in diesem Fall nichts abgefragt werden, und die Funktion wird zurückgegeben, 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 als Zeilen zur Remotetabelle 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 Remotetabelle ordnungsgemäß funktionieren und ob die Datensatz-ID beim nächsten Aufruf des Remotetabellenskripts mit „v_query.getSysId()“ extrahiert werden kann.

    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);