Jump to content

On Save: Difference between revisions

From Resco's Wiki
Marek Rodak (talk | contribs)
No edit summary
Marek Rodak (talk | contribs)
Line 15: Line 15:
# The app checks whether the record can be saved (rules may interrupt save).
# The app checks whether the record can be saved (rules may interrupt save).
# If valid, the record is saved.
# If valid, the record is saved.
===SaveAfter===
When a user is saving entity or questionnaire, they might create a new task, which will remind them to contact the lead or schedule inspection eg..
The On Save rule is executed before the actual saving process. If something goes wrong during saving, we will have a task, but not the lead. SaveAfter adds a record to the collection of child records; the collection is saved after the main record is successfully saved.
*Available only for On Save and On Execute rules.
*In questionnaires, available for root questions (and not for question groups)


== Display validation problems ==
== Display validation problems ==

Revision as of 08:28, 5 September 2022

Warning Work in progress! We are in the process of updating the information on this page. Subject to change.

The On Save rules are checked when you save a record. Rules are client-side scripts that are executed when a user of the mobile app interacts with the app. Rules are no-code business logic, which are managed using the rules editor, usually in Woodford.

On Save rules are available for the following user interface components:

Save action

To understand On Save rules, it is important to understand how the saving of records works in Resco mobile apps. This is the order of events when saving:

  1. User initiate saving process.
  2. On Save rules are executed.
  3. The app checks whether the record can be saved (rules may interrupt save).
  4. If valid, the record is saved.

SaveAfter

When a user is saving entity or questionnaire, they might create a new task, which will remind them to contact the lead or schedule inspection eg.. The On Save rule is executed before the actual saving process. If something goes wrong during saving, we will have a task, but not the lead. SaveAfter adds a record to the collection of child records; the collection is saved after the main record is successfully saved.

  • Available only for On Save and On Execute rules.
  • In questionnaires, available for root questions (and not for question groups)

Display validation problems

There are two built-in string variables that can be used to display validation problems:

  • ErrorMessage: A string variable where you can set an error message for form. In the case of On Save event, this stops the saving.
ErrorMessage Assign Website URL cannot be empty!
  • WarningMessage: A string variable where you can set an error message for form. In the case of On Save event, this does not prevent saving, user can decide to continue.
WarningMessage Assign Website URL is empty! Continue anyway?

Forms

On Save rule on forms usually serves as a final field validation or they can automate changes in related records.

Rule execution
  • When you save a record.

Example: Main phone field validation

This rule shows a warning message if the phone format is not correct. As this is only a warning, users can ignore it and save the record anyway.

Example: Check related entity before saving

This somewhat dated blog shows how to check a related record before you can save changes. Blog

Views

On Save rules can be used with views, but only when the Editable field is set. (Editable field, list, or editable grid is a feature that allows users to edit one or more records directly from the view, without a need to go to the form of a record.)

Questionnaires

In inspections, there are two options when to execute On Save rules.

Rule execution
  • When you save the questionnaire
  • When you complete the questionnaire

This behavior is configured on the questionnaire level, in the Validate On property.

Example: Create a new task based on next inspection

If the next inspection date question is filled in, a new task with loaded data from questionnaire is created.