You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 3 Next »
The system events allow you to create tasks for server-side script execution, or notification sending at a specified point in time. These are the most common use cases of system events. You can also use one event register for both the needs listed above.
To use system events in your tasks, you need to create an event register record.
After this, you can handle it in one of these ways
- Define a server script for a system event by creating a record in the Event Script Actions (sys_event_script_action) dictionary.
- Define a notification rule to send notifications.
- You can combine the options listed above so that the event register record trigger actions and send notifications at the same time.
Event structure
Create an event
To create an event, use the server-side API methods ss.eventQueue or ss.eventQueueScheduled. Create an event as described in the referenced articles. As a result, records in the Event (sys_event) table will be created.
You cannot create, edit, or delete records in the Events (sys_event) table manually. Only users with the admin role can read them.
Role required: admin.
To read event records, navigate to System Events → Events.
Event form fields
Field | Description |
---|---|
Name | The name of the record called from the Event Register (sys_event_register) table. |
Instance | The ID of the Record object. When creating an event via calling methods ss.eventQueue or ss.eventQueueScheduled, you have to pass on the Record object. The object ID will be saved in this field. Call this value in the Event Script Action (sys_event_script_action) script body: event.instance |
Table | A reference to the record table that was passed at the time the event was created. This field is populated automatically. |
Process started at | The date and time of the system event execution start. As for scheduled events, this field is populated with the value passed by the parameter of the ss.eventQueueScheduled method. The date and time of the Event (sys_event) script execution. |
Process finished on | The date and time of the system event execution finish. |
Param_1...Param_ 5 | The string parameters that can be transmitted to the specified Event (sys_event) record via the SimpleOne server-side API (ss.eventQueue and ss.eventQueueScheduled methods). |
State | The event state:
|
Processing duration, ms | The duration of the system event processing (in milliseconds). |
User | The script specified in the Event Script Action record will be executed with the permissions of this user, and the ACL restrictions will also be taken into account. This field is always populated with the system user (which can also be displayed as 100000000000000000 on forms). This is the user on behalf of which the event should be executed. Information about the event originator (a user on behalf of which this event has been created) is written down to the Created by field. |
Related lists are bound with the event record containing the following records:
- The list of all related event register records from the Event Register (sys_event_register) table.
- The list of all the scripts from the Event Script Action (sys_event_script_action) table are referenced to the current record.
Event Register
To create an event register, complete the following steps:
Navigate to System Events → Event Registers.
- Click New and fill in the fields.
- Click Save or Save and Exit to apply the changes.
Event Register form fields
Field | Mandatory | Description |
---|---|---|
Name | Y | Specify the name of the event register. The Event (sys_event) called for this register contain this value in the Name field. |
Table | Y | Specify the table that contain records related to the events. If you are going to trigger email sending with this record, then make sure that the value in the Table field in the Notification Rule record is the same as in this event register record. |
Description | N | Add event register record description. |
Disable script logging | N | Select the checkbox to disable script execution logging to the Script Logs (sys_log_script) table when the related event begins. |
Related lists area bound with the event register record containing the following records:
- The list of all the scripts from the Event Script Action (sys_event_script_action) table are referenced to the current record.
- The list of all Notification Rules triggered by the current event register record.
Event Script Action
To create an event register, complete the following steps:
Navigate to System Events → Event Scripts.
- Click New and fill in the fields.
- Click Save or Save and Exit to apply the changes.
Field | Description |
---|---|
Name | Specify the name of the event script action. |
Event Register Record | The reference to the record in the Event Register (sys_event_register) table. |
Active | Select this checkbox to activate the script. |
Script | Specify the script that is executed when the event occurs. In the Event Script Action, the event object is available. The object is the instance of the SimpleRecord class and refers to a record from the Event (sys_event) table that started the script. To get the values of the record fields, use the dot-notation for the event object. For this, you need to use properties with names corresponding to the names of record fields. For example: const currentRecord = new SimpleRecord(event.table_id.name); currentRecord.get(event.instance); if (String(currentRecord.state) !== event.param_1) { currentRecord.state = event.param_1; currentRecord.update(); } |
- No labels