Sie befinden sich hier:
Konvertieren von Automatisierungen in asynchrone für Rechnungs-Batch-Ausführungen
Identifizieren Sie aktive Flows und Apex-Auslöser für Billing-Objekte und konvertieren Sie sie in asynchrone Prozesse, bevor Sie eine Rechnungsbatchausführung planen. Synchrone Automatisierungen können eine Ausführung anhalten oder Rechnungen in "Entwurf in Bearbeitung", "Buchung in Bearbeitung" oder "Fehler" hinterlassen.
Erforderliche Editionen
| Verfügbarkeit: Lightning Experience |
| Verfügbarkeit: Enterprise, Unlimited und Developer Edition mit der Revenue Cloud Advanced-Lizenz oder der Revenue Cloud Billing-Lizenz |
| Erforderliche Benutzerberechtigungen | |
|---|---|
| Überprüfen und Konvertieren von durch einen Datensatz ausgelösten Flows: | Flow verwalten |
| Anzeigen von Apex-Auslösern: | Setup und Konfiguration anzeigen |
| Konvertieren von Apex-Auslösern: | Autor-Apex |
| Einziehen von festsitzenden Rechnungen: | Berechtigungssatz "Abrechnungsadministrator" ODER Berechtigungssatz "Benutzer von Abrechnungsvorgängen" |
Ein durch einen Datensatz ausgelöster Flow oder Apex-Auslöser ist mit einem Objekt wie "Rechnung" oder "Rechnungsposten" verknüpft. Sie definieren und aktivieren den Flow für dieses Objekt in Flow Builder. Eine Person mit der Berechtigung "Apex erstellen" definiert den Apex-Auslöser für dieses Objekt und legt ihn auf "Aktiv" fest. Diese Automatisierungen sind benutzerdefinierte. Abrechnung erstellt sie nicht. Entsprechende Informationen finden Sie unter Aktivieren oder Deaktivieren eines Flows und Definieren von Apex.
Wenn ein Rechnungsbatchlauf Rechnungen generiert, erstellt oder aktualisiert der Lauf Datensätze für Billing-Objekte. Zu diesen Objekten zählen Rechnungen, Rechnungsposten, Steuerposten, Belastungs- und Gutschriftsanzeigen, Abrechnungspläne und Abrechnungszeitraumposten. Jeder aktive Flow oder Auslöser für ein Billing-Objekt wird dann für jeden Datensatz ausgeführt, der durch die Rechnungsbatchausführung gespeichert wird.
Beim Speichern des Datensatzes wird eine synchrone Automatisierung ausgeführt. Der Rechnungsbatchlauf schließt das Speichern der Rechnung erst ab, wenn dieser Flow oder Auslöser abgeschlossen ist. Wenn die Automatisierung verwandte Datensätze für jede Rechnung abfragt, kann die Ausführung an Verarbeitungsobergrenzen oder Zeitüberschreitungen stoßen. Rechnungen können in "Entwurf in Bearbeitung", "Posting in Progress" oder "Fehler" verbleiben.
Eine asynchrone Automatisierung wartet, bis die Rechnungsdatensätze gespeichert werden, und wird dann ausgeführt. Die Batchausführung kann die Generierung von Rechnungen abschließen. Der Flow oder Auslöser wird weiterhin ausgeführt, jedoch nicht während die Rechnung gespeichert wird.
- Geben Sie unter "Setup" im Feld "Schnellsuche" den Text Flows ein und wählen Sie dann Flows aus.
-
Überprüfen Sie aktive durch Datensätze ausgelöste Flows für diese Billing-Objekte.
- Rechnung
- Rechnungsposten
- Rechnungspostensteuer
- Belastungsanzeige
- Belastungsanzeigeposten
- Belastungsanzeigeposten-Steuer
- Gutschrift
- Gutschriftsposten
- Gutschriftsposten-Steuer
- Abrechnungsplan
- Abrechnungszeitraumposten
- Geben Sie unter "Setup" im Feld "Schnellsuche" den Text Apex Auslöser ein und wählen Sie dann Apex Auslöser aus.
- Überprüfen Sie aktive Auslöser für dieselben Objekte.
-
Öffnen Sie zum Auflisten der Automatisierungen mit SOQL den Abfrage-Editor der Developer Console.
Beispielskripts:
Wählen Sie für die Flow-Abfrage Tooling-API verwenden aus. Lassen Sie für die Apex-Auslöserabfrage Use Tooling API (Tooling-API verwenden) deaktiviert.
Flows:
SELECT Id, IsActive, Label, ProcessType, ManageableState, TriggerObjectOrEventId, TriggerObjectOrEventLabel, TriggerType FROM FlowDefinitionView WHERE TriggerObjectOrEventId IN ('Invoice','InvoiceLine','DebitMemo','DebitMemoLine','CreditMemo','CreditMemoLine','InvoiceLineTax','DebitMemoLineTax','CreditMemoLineTax','BillingSchedule','BillingPeriodItem') AND IsActive = TRUEApex Auslöser:
SELECT Id, TableEnumOrId, Name, Status FROM ApexTrigger WHERE TableEnumOrId IN ('Invoice','InvoiceLine','DebitMemo','DebitMemoLine','CreditMemo','CreditMemoLine','InvoiceLineTax','DebitMemoLineTax','CreditMemoLineTax','BillingSchedule','BillingPeriodItem') AND Status = 'Active' - Verschieben Sie für jeden durch einen Datensatz ausgelösten Flow nach dem Speichern die Logik in einen Pfad vom Typ "Asynchron ausführen", damit er nach dem Commit der Rechnungsspeicherung ausgeführt wird. Siehe Ausgelöste Flows.
- Arbeiten Sie für jeden Apex Auslöser mit einer Person zusammen, die über die Berechtigung "Apex verfassen" verfügt, um die Logik aus dem Datensatzspeicher zu verschieben. Verwenden Sie warteschlangenfähigen Apex oder einen Apex Auslöser für ein Änderungsereignis, das nach Abschluss des Speichervorgangs ausgeführt wird. Entsprechende Informationen finden Sie unter Warteschlangenfähiger Apex und Subscribe with Apex Triggers.
Planen Sie nach dem Konvertieren der Automatisierungen den nächsten Rechnungsbatchlauf. Entsprechende Informationen finden Sie unter Automatisches Generieren von Rechnungen anhand von Abrechnungsplänen.
Wenn Rechnungen aus einer früheren Ausführung unter "Entwurf in Bearbeitung", "Buchung in Bearbeitung" oder "Fehler" hängen bleiben, klicken Sie im Rechnungsbatchlauf auf Wiederherstellen. Generieren Sie dann erneut Rechnungen.
