Loading
Verwalten von Terminen mit Salesforce Scheduler
Einschränkungen und Fehlercodes für die Implementierung der Apex-Schnittstelle

Einschränkungen und Fehlercodes für die Implementierung der Apex-Schnittstelle

Wenn Sie beim Bestimmen der Verfügbarkeit von Serviceressourcen eine benutzerdefinierte Apex-Klasse zum Überprüfen von Ereignissen in externen Kalendern verwenden, gelten Einschränkungen.

Erforderliche Editionen

Verfügbarkeit: Lightning Experience.
Verfügbarkeit: Enterprise und Unlimited Edition

Einschränkungen

  • Die implementierte Apex-Klasse übernimmt die Obergrenzen der Apex-Plattform, beispielsweise die CPU-Zeit und die Heap-Größe.
  • Die Schnittstelle "LxScheduler.ServiceResourceScheduleHandler" erwartet innerhalb von 10 Sekunden eine Antwort (nicht verfügbare Zeitfenster) von der implementierten Apex-Klasse. Wenn innerhalb von 10 Sekunden keine Antwort eingegangen ist, tritt bei der Anforderung eine Zeitüberschreitung auf und die Terminbuchung schlägt fehl.
  • Die implementierte Apex-Klasse muss die nicht verfügbaren Zeitfenster in der GMT-Zeitzone zurückgeben.
  • Wenn Ihre benutzerdefinierte Implementierung eine Ausnahme zurückgibt, schlägt der gesamte Vorgang fehl.
  • Alle Debug-Protokolle werden im Benutzerkontext erstellt.
  • Wenn die implementierte Klasse keine Informationen über eine angeforderte Serviceressource zurückgibt, geht Salesforce Scheduler davon aus, dass die Serviceressource im gesamten angeforderten Zeitfenster verfügbar ist.
  • Solange die Apex-Klasse der Planungsrichtlinienregel "Ressourcenverfügbarkeit in externen Systemen prüfen" zugeordnet ist, funktionieren die Vermögenswertplanung, die kapazitätsbasierte Planung und die gleichzeitige Planung nicht.
  • Solange die Apex-Klasse der Planungsrichtlinienregel "Ressourcenverfügbarkeit in externen Systemen prüfen" zugeordnet ist, wird auf der Seite zum Überprüfen von Serviceterminen anstelle einer für das Problem spezifischen Fehlermeldung eine allgemeine Fehlermeldung angezeigt, wenn während der Terminerstellung ein Fehler auftritt.
  • Wenn das externe Kalendersystem außer Betrieb ist, können Sie keine Termine planen, es sei denn, Sie trennen die Apex-Klasse von der Planungsrichtlinienregel "Ressourcenverfügbarkeit in externen Systemen prüfen".
  • Wenn Sie die bereitgestellten Flow-Bildschirmkomponenten zum Erstellen eines benutzerdefinierten Termin-Flows verwenden möchten, müssen Sie Standardkomponenten vom Typ "Serviceressource und Zeit für den Servicetermin auswählen" verwenden, um Ressourcen abzurufen, und die Aktion "Termin speichern", um Termine zu erstellen.
  • Standardmäßig funktioniert die Standard-Flow-Vorlage "Eingehend – Neuer Gasttermin" nicht in Verbindung mit einer Planungsrichtlinie, der eine benutzerdefinierte Apex-Klasse zugeordnet ist. Dies liegt daran, dass Callouts nach DML-Vorgängen in derselben Transaktion nicht zulässig sind, da DML-Vorgänge ausstehende Arbeit ohne Commit ergeben, wodurch Callouts nicht ausgeführt werden können. Weitere Informationen finden Sie in diesem Knowledge-Artikel.

    Bearbeiten Sie zum Beheben dieses Problems die Aktion "Termin speichern" im Flow "Eingehend – Neuer Gasttermin". Erweitern Sie Erweitert und wählen Sie unter "Transaktionssteuerung" die Option Immer eine neue Transaktion starten aus.

    Bild, das die Optionen zur Transaktionssteuerung zeigt

    Löschen Sie dann den Knoten "Lead erstellen" und verbinden Sie die Knoten "Entscheidung" und "Zuweisung" direkt mit dem Knoten der Aktion "Termin speichern". Wenn das Objekt für Leads anstelle von Leaddatensätzen an den Knoten der Aktion "Termin speichern" übergeben wird, wird für den Fall, dass während des Gast-Terminplanungsprozesses etwas schiefgeht, ein vollständiger Rollback gewährleistet. Bisher wurde der Termindatensatz zurückgesetzt, wobei der während des Prozesses erstellte Leaddatensatz im System verblieb, was zu doppelten Leads führte.

    Bild mit Scheduler-Gast-Flow in Flow Builder
  • Beim Verwenden der Funktion "Terminverteilung" berücksichtigt Salesforce Scheduler beim Berechnen der Auslastungsbewertung die Ereignisse in externen Kalendern nicht standardmäßig. Schreiben Sie zum Berechnen der Auslastungsbewertung benutzerdefinierten Apex-Code für die Unterstützung externer Kalender. Die Obergrenze für die Anzeige der 10 am wenigsten ausgelasteten geeigneten Serviceressourcen gilt auch, wenn Sie einen Apex-Leseaufruf an externe Kalender senden.

Fehlercodes

Wenn bei Ihrer benutzerdefinierten Apex-Implementierung ein Fehler auftritt, wird Benutzern beim Planen eines Termins die folgende Fehlermeldung angezeigt.

Something went wrong. Ask your admin for help: <error code>

Der Fehlercode variiert je nach Ursache des Fehlers.

Fehlercodes für Apex-Implementierung
Fehlercode Problem Empfohlene Schritte
40001 Die Apex-Klasse entspricht nicht der bereitgestellten Schnittstelle. Stellen Sie sicher, dass die Apex-Klasse die LxScheduler.ServiceResourceScheduleHandler-Schnittstelle implementiert und über einen Konstruktor ohne Parameter verfügt.
50001 Beim Ausführen der Apex-Klasse ist ein Fehler aufgetreten. Sehen Sie im Debug-Protokoll nach, um weitere Informationen zu erhalten.
40003 Die Apex-Klasse hat eine ungültige Antwort zurückgegeben. Sehen Sie im Debug-Protokoll nach, um weitere Informationen zu erhalten.
 
Laden
Salesforce Help | Article