Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Изменена схема и текст по истории DOC0000390

In SimpleOne, execution of business rules, workflows, notifications, engines all run relatively is bound to database operations. Generally, the execution order is important. 

The execution order is shown and described below and listed as follows:

Image Removed


Image Added


Column
width75%
Note

Please note that rules and engines marked red on the scheme and respectively listed below are affected when using the Silent Load functionality.

Column
width25

Before insert/update/delete

...

 The processing of the following elements is bound to the transaction BEGIN SQL statement:

  1. ACL
  2. Domain events: filling the Order and Number field in relevant records, adding column prefixes where appropriate.
  3. Business rules:
    1. Rules with When = before and Order <=1000.
    2. Rules with When = before and Order >1000.
  4. Validation (is skipped for delete).
  5. Database transaction
  6. Before business rules (where When is Before and Order is less than or equal to 1000).
    1. Assignment rules
  7. Before engines.
  8. Before business rules (where When is Before and Order is greater than 1000).
  9. Database transactions (insert/update/delete records).
  10. Record field changes logging (to the History (sys_history) table).
  11. Configuration pack engine operations.
  12. After business rules (where When is After and Order is less than or equal to 1000).
  13. After engines:
    1. Approval Engine
    2. Workflow
    3. Notifications
  14. .
  15. Save REM.

After insert/update/delete

...

 The execution of the following elements is bound to the transaction COMMIT SQL statement:

  1. Infrastructure events (include processing of History, Activity Feed, Create VCS Records, Execute REM After Scripts).
  2. Engines:
    1. Business rules with When = after and Order <= 1000.
    2. Approvals
    3. Workflow
    4. Notifications
    5. Business rules with When = after and Order > 1000
    After business rules (where When is After and Order is greater than 1000)
    1. .