You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Introduction

Calculation Field allows you to perform a series of arithmetic computations to a set or a series of fields.

The Calculation Field is only available on Professional and Enterprise Edition.

Get Started

The easiest way to see how the Advanced Grid works is to use the existing built-in App Expenses Claims and look at an existing form in the app. Here are the steps:

  1. Start the Joget Server and open the App Center.

  2. Log in as admin and click on the pencil icon on the Expenses Claim to open the Design App. (see Figure 1)


    Figure 1

  3. Under FORMS column, click on Expense Claim Form (see Figure 2)


    Figure 2

  4. Hover the mouse over the Calculation Field labeled Total Amount $ on the canvas and click on Edit to open up the Edit Calculation Field properties.

  5. Take note of the Variables field.  The spECD value is referring to another field within the form (see Figure 3).


    Figure 3

  6. Hover the mouse over the Grid element on the canvas above the Calculation Field and click on Edit to open up the Edit Grid properties (see Figure 4).


    Figure 4

  7. In Figure 5, we are summing at a specific column from a Form Grid.

    Form Grid ID: spECD

    Column in Form Grid: amount

    Field ID to be filled in: spECD.amount



    Figure 5

  8. Click on Preview and enter values into the Amount column in the Grid to see the Total Amount $ automatically adds the values.

Calculation Field Properties

Edit Calculation Field

NameDescription
ID

Element ID (By declaring as "total", a corresponding database table column "c_total" will be created)

Please see Form Element for more information about defining the ID and list of reserved IDs.

LabelElement Label to be displayed to end user.
Variables
NameDescription
Variable Name

Declare a name to store current row equation result.

Examples

  • subtotal
  • discountPercent
  • charges
Field ID

Form Field ID to retrieve.

If you are totaling a form grid column, use this format: formGridId.columnId where the first part before the decimal tells Joget which form grid to use and the second part after the decimal tells Joget which column is the specified form grid to use for calculation.

Multivalue Operation
  • Sum
  • Avg
  • Min
  • Max
Equation

Arithmetic operation using the variables declared above.

Example

  • subtotal - (subtotal * discountPercent / 100)
  • subtotal - discountAmount
  • subtotal - charges (Correct)
  • subtotal-charges (Wrong)

Important Notes

  • It is important to include spacing in between operators.
  • The position and spacing of all elements of an equation must be exactly as they are to appear in printed form.


Advanced Options

Data

NameDescription
Validator

Attach a Form Validator plugin to validate the input value.

When will validation takes place?

Validation will takes place whenever form is submitted except when it is submitted as "Save as Draft".


Format

NameDescription
Formatting Style
  • US Style Formatting (1,000.00)
  • European Formatting (1.000,00)
Number of DecimalNumber of Decimal
PrefixPrefix of the calculated value
PostfixPostix of the calculated value
Use Thousand Separator?Thousand Separator toggle.
Store as Numeric Value?

Toggle to store as numeric value instead of a string


UI

NameDescription
Hidden?Shows this element to the end user.
Display as Label?Displays the value of the element as plain text.


Workflow

NameDescription
Workflow Variable

If the form is part of a workflow process, upon saving of the form (by clicking on "Save as Draft" or "Save" button). The value in this input field will be saved into the corresponding workflow variable named here.

Using a non-existent Workflow Variable name

You will get the following warning with the name printed out (e.g. status) in the server log if you attempt to map to a non-existent Workflow Variable.

context attribute status does not exist in process context - adding new attributes to the process context is not allowed









  • No labels