Business-Regeln und Skripteinbindungen
Business-Regeln sind serverseitige Aktionen, die während CRUD-Vorgängen (Erstellen, Lesen, Aktualisieren, Löschen) für Instanzdatensätze ausgeführt werden können.
Einige bewährte Praktiken bei der Verwendung von Business-Regeln sind:
- Lassen Sie Geschäftsregeln klein und spezifisch.
- Vermeiden Sie es, Geschäftsregeln des Basissystems zu ändern.
- Verwenden Sie Skripteinbindungen anstelle globaler Geschäftsregeln.
- Verwenden Sie Skripting nur, wenn erforderlich.
- Speichern Sie die wiederverwendbare Skriptlogik in einer Skripteinbindung.
- Verwenden Sie Abfragen, um Datensätze zu begrenzen, die innerhalb einer Business-Regel verarbeitet werden.
- Vermeiden Sie vom Client aufrufbare Business-Regeln, um die Effizienz beim Ausführen von Client-Skripts zu verbessern.
- Verwenden Sie immer eine Bedingung mit Business-Regeln, um zu steuern, wann die Business-Regel ausgeführt wird. Das Ausführen von Business-Regeln mit Bedingungen kann auch beim Debugging helfen. Business-Regeln werden selten ohne Bedingungen ausgeführt.
Business-Regeln können so konfiguriert werden, dass sie vor oder nach einem Datenbankvorgang ausgeführt werden. Sie können auch so konfiguriert werden, dass sie asynchron und auch vor dem Anzeigen eines Formulars oder dem Ausführen einer Abfrage ausgeführt werden.
| Wert | Wird ausgeführt | Verwendungszeitpunkt | Beispiel |
|---|---|---|---|
| Vor | Synchron vor dem Datenbankvorgang | Legen Sie Werte für das aktuelle Objekt als Teil des Speichervorgangs fest, oder aktualisieren Sie sie. Validieren und brechen Sie die Ausführung bei Bedarf ab. | Ein Entwickler möchte den Status des aktuellen Datensatzes basierend auf einer anderen Eingabe in diesem Datensatz festlegen. |
| Nach | Synchron nach dem Datenbankvorgang | Lösen Sie Ereignisse und Benachrichtigungen nach der Datenbankaktualisierung aus, um auf das vorherige Objekt zuzugreifen oder etwas sequenziell auszuführen. Aktualisieren Sie zugehörige Datensätze mit Ausnahme der Basistabelle, die aktualisiert wird, um auf das vorherige Objekt zuzugreifen oder etwas in der Reihenfolge zu bewirken. | Ein Entwickler möchte Werte aus dem aktuellen Datensatz in untergeordnete Datensätze kaskadieren. |
| Asynchron | Asynchron als separater Prozess ausgeführt, nachdem der Datenbankvorgang abgeschlossen wurde | Der durch die Regel ausgelöste Prozess kann eine Weile dauern. Wenn der Anwender, der den Vorgang ausgelöst hat, die Ausgabe nicht sofort benötigt. Lösen Sie Ereignisse, Benachrichtigungen oder zugehörige Datensatzaktualisierungen aus, wenn kein Zugriff auf die vorherigen Werte des Datensatzes oder eine bestimmte Reihenfolge von Aktionen erforderlich ist. | Ein Entwickler muss einen externen Prozess auslösen, der eine Weile dauern kann, oder eine große Anzahl von Datensätzen aktualisieren. |
| Bildschirm | Wird jedes Mal ausgeführt, wenn das entsprechende Formular angezeigt wird | Wird verwendet, um serverseitige Objekte für clientseitige Skripts verfügbar zu machen. | Ein Entwickler möchte Informationen zu einem Anwender, der dem aktuellen Datensatz zugeordnet ist, in das Objekt „g_Scratchpad“ schreiben, um es in einem clientseitigen Skript zu verwenden. |
Verwenden Sie Skripteinbindungen, um JavaScript-Funktionen und -Klassen für die Verwendung durch Serverskripts zu speichern. Jede Skripteinbindung definiert entweder eine Objektklasse oder eine Funktion, die unter allen serverseitigen Skripts wiederverwendet werden kann. Weitere Informationen finden Sie unter Script includes.
Speichern Sie Code, der möglicherweise an anderer Stelle in einer Skripteinbindung verwendet werden muss. Rufen Sie die Skripteinbindung über eine Business-Regel, eine UI-Aktion, ein Workflow-Skript, eine geskriptete REST-API usw. auf Anstatt eine Business-Regel über eine UI-Aktion oder eine UI-Aktion über eine geskriptete REST-API aufzurufen, fügen Sie den Code in eine Skripteinbindung ein, und rufen Sie die Skripteinbindung von beiden Orten auf.
Das Beibehalten von Funktionen in einer Skripteinbindung ermöglicht das Testen der Funktion, bevor die Funktion in anderen geskripteten Bereichen bereitgestellt wird, wodurch die allgemeine Entwicklungs- und Testzeit reduziert wird.
Weitere Informationen finden Sie unter Classic Business rules.