Calculated fields: Difference between revisions
No edit summary |
|||
| Line 1: | Line 1: | ||
{{WIP}} | {{WIP}} | ||
'''Calculated fields''' are entity fields that derive their value from other fields. | '''Calculated fields''' are entity fields that derive their value from other fields. | ||
== Server-side == | |||
Calculated fields are an example of server-side [[business logic]]: the calculation is performed automatically on the server. In [[Resco mobile apps]], calculated fields are read-only. As a result, in offline mode, the calculated field might become out-of-date. When you sync your app, the calculated value from the server is downloaded to the app. Even if this is possible, we recommend against replicating the server-side logic in the app. After all, the offline database is never 100% up-to-date with server changes; calculations that involve additional records may not be reliable. | |||
In some scenarios, users of the mobile apps might be confused seeing that their calculated field isn't changing. For [[Mobile sales]], Resco mobile apps contain hardcoded logic that handles the issue. In other scenarios, one of the possible solutions is to create a shared variable calculated using the same formula as the calculated field and place it on the form instead of the calculated field. | |||
== Prerequisites == | == Prerequisites == | ||
| Line 6: | Line 12: | ||
On [[Resco Cloud]], the minimum release supporting calculated fields is 16.1. | On [[Resco Cloud]], the minimum release supporting calculated fields is 16.1. | ||
Similar features are available on other backends (formulas on Salesforce, calculated columns in Dataverse). These | Similar features are available on other backends (formulas on Salesforce, calculated columns in Dataverse). These fields can be enabled in Woodford and displayed in [[Resco mobile apps]]. | ||
== Supported field types == | == Supported field types == | ||
The following field types can be calculated: | The following field types can be calculated on Resco Cloud: | ||
* Single line of text | * Single line of text | ||
* Option Set | * Option Set | ||
| Line 21: | Line 27: | ||
== Creating calculated fields == | == Creating calculated fields == | ||
On Resco Cloud, calculated fields are managed using the [[Admin Console]]. | |||
# Select '''Data > Entities''' from the menu. | # Select '''Data > Entities''' from the menu. | ||
# Click the entity for that you want to create a calculated field. | # Click the entity for that you want to create a calculated field. | ||
| Line 39: | Line 45: | ||
== Calculated fields in the app == | == Calculated fields in the app == | ||
To see the results in the mobile app | To see the results in the mobile app: | ||
# Edit your app project in Woodford. | # Edit your app project in Woodford. | ||
# Enable the new calculated field(s). | # Enable the new calculated field(s). | ||
| Line 49: | Line 55: | ||
[[Category:Resco Cloud]] | [[Category:Resco Cloud]] | ||
[[Category:Business logic]] | |||
Revision as of 08:25, 10 May 2023
| Warning | Work in progress! We are in the process of updating the information on this page. Subject to change. |
Calculated fields are entity fields that derive their value from other fields.
Server-side
Calculated fields are an example of server-side business logic: the calculation is performed automatically on the server. In Resco mobile apps, calculated fields are read-only. As a result, in offline mode, the calculated field might become out-of-date. When you sync your app, the calculated value from the server is downloaded to the app. Even if this is possible, we recommend against replicating the server-side logic in the app. After all, the offline database is never 100% up-to-date with server changes; calculations that involve additional records may not be reliable.
In some scenarios, users of the mobile apps might be confused seeing that their calculated field isn't changing. For Mobile sales, Resco mobile apps contain hardcoded logic that handles the issue. In other scenarios, one of the possible solutions is to create a shared variable calculated using the same formula as the calculated field and place it on the form instead of the calculated field.
Prerequisites
On Resco Cloud, the minimum release supporting calculated fields is 16.1.
Similar features are available on other backends (formulas on Salesforce, calculated columns in Dataverse). These fields can be enabled in Woodford and displayed in Resco mobile apps.
Supported field types
The following field types can be calculated on Resco Cloud:
- Single line of text
- Option Set
- Two Options
- Whole Number
- Decimal Number
- Currency
- Date and Time
Creating calculated fields
On Resco Cloud, calculated fields are managed using the Admin Console.
- Select Data > Entities from the menu.
- Click the entity for that you want to create a calculated field.
- Click New and select one of the supported field types, such as Whole Number.
- Enter new field details. As Source type, select "Calculated".
- Click Edit and enter a formula that defines how the field is calculated.
- Save all changes.
It is not possible to change the Source type of an existing field. You cannot change a simple field into calculated or vice versa.
Defining the formula
The formula of calculated fields is defined using an interface similar to the rules editor. Use a combination of conditions and steps to determine the result.
Calculated fields in the app
To see the results in the mobile app:
- Edit your app project in Woodford.
- Enable the new calculated field(s).
- Add the new field(s) to a form.
- Save all changes and publish the app project.
- Sync the mobile app and check the form.
