Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  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)
    Image Removed
    Image Added
    Figure 1

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

  4. Hover the mouse over the Calculation Field labeled Total Amount $ on the canvas and click on Edit to on it 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).
    Image Removed
    Image Added
    Figure 3

  6. Hover the mouse over Click on the Grid element on the canvas above the Calculation Field and click on Edit to open up the Edit Grid properties (see Figure 4).
    Image Removed
    Image Added
    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 Figure 6:   spECD.amount

    Image Removed
    Image Added
    Figure 5

    Image Added
    Figure 6
  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

Image RemovedImage Added

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.

Info
titleExamples
  • 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.

Info
titleExample
  • subtotal - (subtotal * discountPercent / 100)
  • subtotal - discountAmount
  • subtotal - charges (Correct)
  • subtotal-charges (Wrong)
Info
titleImportant 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

Image RemovedImage Added

NameDescription
Validator

Attach a Form Validator plugin to validate the input value.

Info
titleWhen will validation takes place?

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


Format

Image RemovedImage Added

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

Image RemovedImage Added

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


Workflow

Image RemovedImage Added

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.

Info
titleUsing 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.

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


...