Skip to content

Details

Preliminary Actions

Before creating a Details table you have to:

1. Create a Storage for the Master table with an Identity field
2. Create a Storage for the Details table with a field to relate with the Master table
3. Create a Relation between Master and Details using the Identity field as key and the related field of the Details
4. Create the App and setup the Primary Key on the Identity field in the Master tab
5. Create the Details table following the steps below

Select the Details (1) tab,then click the Add Detail (2) button and finally drag & drop the Table item from the left to the right section (3):

In the popup window select the details table (2) from the Related Table drop-down list (1) and Confirm (3):

In the next popup window setup the Details field's Settings and Confirm:

Use Case

In our App the REVENUES Details table is based on REVENUES storage (1) and we used Company Name (2) field as Master row identifier:



The following are the View Formats for Revenue and Revenue EUR fields:





The following are the Field's Settings for the Details table:



There's only one Default Value in the Details table for the Status field:



Meaning: every time we will insert a new row, automatically by default, the Entry Status will be "1" = Draft.

There's only one Calculated Field in the Details table for Revenue EUR field:





Download here the Formula.

Meaning: this formula converts the value of Revenue from a local currency to EUR. If the Currency is null nothing happens, if the Currency is GBP - code "2" (we used code instead description because in the Relation we used Code as key: see the Lookup Use Case example in the Create Storage section of the documentation) - the formula multiplies the value of Revenue by 1.13, if Currency is USD - code "3" - it is multiplied by 0.89, else writes the value of Revenue without variations (practically when the Currency is EUR - code "1").

For more details visit IF and EQ formulas pages.

Following are the Restrictions for the Details table:

1. On field Status there is an Editable Cell Restriction:



Download here the Formula.

Meaning: if the Group Names (see Groups & Users section for more details) of the User logged in is Headquarter and Status is Submitted - code "2", User can edit the cell.

For more details visit CELLIF, CELLEQ, CONTAINS, LIST and $CURRENTUSER.GROUPNAMES formula pages.

2. On fields Year, Revenue and Currency there is the same Editability Restriction:



Download here the Formula.

Meaning: if the Group Names (see Groups & Users section for more details) of the User logged in is Subsidiary 1, Subsidiary 2, Subsidiary 3 or Domain Admin, User can edit the field. In this way a Headquarter User cannot edit these fields.

For more details visit CONTAINSLIST, LIST and $CURRENTUSER.GROUPNAMES formula pages.

3. On field HQ Note there is another Editability Restriction:



Download here the Formula.

Meaning: if the Group Names (see Groups & Users section for more details) of the User logged in is Headquarter or Domain Admin, User can edit the field. In this way a Subsidiary User cannot edit this field.

For more details visit CONTAINSLIST, LIST and $CURRENTUSER.GROUPNAMES formula pages.

Lookup

Now it's time to setup the Lookup. Enable Lookup in the field where you created the relation before (see Relations in Create Storage section):

Then configure it:

  1. Related Table: Lookup Storage where the actual values are stored
  2. Show Field: visible in the App
  3. Order Field: used to order the values
  4. Order Type: ascending or descending
  5. Formula
  6. Formula Restriction

Finally Confirm the changes.

Use Case

Lookup for Details table are the following:

On Status field:



Download here the Formula.

Meaning: if the Group Name (see Groups & Users section for more details) of the User logged in is Domain Admin, User sees any Status (Draft - code "1", Submitted - code "2" and Rejected - code "3"), if the Group Name is Headquarter, User sees only the Rejected Entry Status - code "3", else, practically if the Group Name contains Subsidiary ..., User sees only Draft and Submitted Status (code "1" and code "2").

For more details visit IF, CONTAINS, LIST and $CURRENTUSER.GROUPNAMES formula pages.

On Year field:



On Currency field: