What is the default access type?
The type of concurrent access is called actuality.
It defines how the system should respond when multiple users perform simultaneous actions on the same table.
By default, it is set to — weak
.
What happens if two users one by one change the same field?
In different modes:
optional
and optional without display
— the user who clicks save a millisecond later will overwrite the data of the first user. If actions were attached to the field, they will first be executed for the first user, and then again for the second user.
strict
— the second user will be denied editing. They will need to refresh the table and try again.
without tracking
— similar to optional
, but actions will start executing simultaneously with unpredictable consequences.
How can I see that the table has been changed by another user since it was opened?
Notification in the upper right corner of the screen.
For the modes non-strict without display
and without tracking
, it is not shown.
non-strict without display
— used when multiple users will work with the table, but each will work with their own rows and do not need to see changes made by other users.
without tracking
— used for heavily loaded tables where there is one-way writing, or writing and changes are clearly separated and cannot intersect.
The notification will be shown in the following case:
User 1
made a change in Table 1
that triggered an action (details will follow), which altered data in Table 2
.
User 2
is viewing Table 2
at that moment — they will see a notification that Table 2
was changed by User 1
.
How can I prohibit changes to an uptodate table?
Set a Strong
match for her.
How do the actions performed by the codes verify that they work with the actual data?
For all except ! Disable
, automatic restart of actions and codes applies. Example:
1.1. — At the moment of launch, they both took the change tracking code of the table — updated
.
updated
again.2.1. — Ensuring that there were no changes in updated
, it recorded the updated data in Table_1 and changed its updated
.
updated
.3.1. — The updated
check failed because action_1 changed it, so the transaction of action_2 is rolled back and it is restarted with re-fetching of data.
What happens to the code if it encounters a table change while it's doing the calculations?
He restarts in all modes except ! Disable
.
How do I turn off concurrent access tracking?
Set to ! Disable
!
For which tables is this important?
For tables with one-way writing.
For tables where writing and subsequent actions are guaranteed to be separated in time.
For cycle tables (this will be covered later in the course).
How do I turn off change notification only?
Set none
!