# TableForm

<figure><img src="https://1194850497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZdlNWe9B3vivAiMJadz%2Fuploads%2FbZQiawR6M9aXIC39U7Yy%2F9.png?alt=media&#x26;token=088281bc-9642-41bb-a38c-043eeacf4f1c" alt=""><figcaption></figcaption></figure>

TableForm allows tenant admin and users with designer access to create Table and fields inside the table.

To add a new Table, Select the TableForm in the App Tree (left-side panel), click on + Add New Table.

<figure><img src="https://1194850497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZdlNWe9B3vivAiMJadz%2Fuploads%2FwFE9FT91kiEwIq69BYmm%2FTable%20%2B.png?alt=media&#x26;token=02e1d2a6-8f8f-4125-8b52-b8fd4f0ee802" alt=""><figcaption></figcaption></figure>

* Table Name -Enter Table Name for your TableForm. (Must be unique)
* Menu - Select a Menu. (All the modules and shared menu will be available)
* Unique ID- Select the Primary Key for the table. (By default, Record ID)

**Tableform – Options**

* Active- Defines the state of table as true or false.
* Add Timers - Adds Timer at Record Level.
* Allow Clone Records - Allows to create clone records from the existing records.
* Add Notes - Adds Notes at Record Level.
* Hide Search - Hides the Search option for the table.
* Allow Exports - Enables to download the Records in excel format.
* Add Events - Enables event tracking at Record Level.
* Allow Record Deletion - Enables Deletion of Records.
* Allow Web Form Import - Enables to download a html link from where data can be directly stored into the table.
* Display Field - show its value to users on the dashboard header when selecting a record.

**The Filter option in the top left corner allows to**

* Show system tables.
* Show in-active tables.

The Common Tables dropdown in the top allows to add pre-built tables from departments such as Finance, Human Resources, Legal, Marketing, Operations, Sales, Shared, Telecom.

**The Search box in the top right corner allows to search available tables**.

**Below the Action Tab :**

* View (eye icon) - redirects to view the fields inside the table.
* Edit (pen icon) – allows to edit the table details.
* Delete (trash icon) – allows to delete a table from Tableform.

**In the DropDown menu, all the fields inside the table will appear.**

<figure><img src="https://1194850497-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsZdlNWe9B3vivAiMJadz%2Fuploads%2FeKODs2wPWqDtWxtZINBq%2F10.png?alt=media&#x26;token=20a6a369-224d-4449-8b24-ef683bc97768" alt=""><figcaption></figcaption></figure>

* The edit table in the top allows to edit the table details.
* Below the header, there are few buttons:

1. Add New Field.

2. Add Common Field.

3. Cancel.

4. Save.

5. **Add New Field –** On click of add new field, user can add field details such as:

* **Add Field Name -** Allows users to enter the name of a particular field.
* **Add Display Value -** Replaces the Field Name and shows the Display Value in the Preview.
* **Select Field Type -** Allows users to add field types such as Boolean, Comment, Rupee, Date, DateTime, Decimal, Document, Image, Integer, List, Percentage, Text.
* **Mandatory –** Sets field to be required.
* **Is Unique –** Sets field to be unique.
* **Delete –** Deletes a particular field from tableform.

**There are sub options for every field:**

* Text Format (Text) - Allows users to select text formats such as Phone, Email, Zip, Email, Password and custom using custom mask.
* List Condition Filter (List) - Enables users to select the fields to display on click of a list option. For example - Fields related to Finance can be shown when Finance option is selected in a List.
* Decimal Scale (Percentage, Decimal, Rupee) - Allows users to add a decimal scale in a Percentage or Decimal Field. For example - 123.56 has a decimal scale of 2.
* Auto Increment (Integer) - Allows to auto increment value on adding records.
* Integer Format (Integer) - Allows to store integer in the DD: HH:MM or DD: HH:MM: SS format. For example - Storing integer values as 7:15 or 7:15:10.
* Recalculate on each update – Re-calculates the value of fields on each update.
* Date Format (Date, DateTime) - Allows to store particular Date or DateTime format.
* ToolTip - Displays information related to a particular field.
* Default Value - Stores the default value to be stored in a field.
* Select a Function - Allows user to select any pre-defined function such as AVERAGE, AND, OR, DATEDIFF, SUM, USER, TODAY etc.
* Select a Reference Field - Allows users to select fields available in the table for reference.
* Validation - Enables users to execute a validation on a field. As a result, records are not saved until the validation criteria is met.
* Security - Enables users to select field security between No Security, read only and full restrict.
* Security Override - Enables users to override the records having security as read only or full restrict.

**Functions:**&#x20;

| Sr. No | Function Name                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------ | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **1**  | **ALL**                            | <p>Returns true if predicate matches against all children.</p><p>ALL function returns either true or false hence the field type needs to be Boolean.</p><ul><li>After selecting the ALL function:</li></ul><ol><li>Select the child table.</li><li>Select a reference field and add a condition.</li></ol><p>Formula: ALL("test child",{test child.age} < 60)</p><p>Result: The Boolean field will be checked if all the records in the child table has age < 60, else the field will be unchecked.</p>                             |
| **2**  | **AND**                            | <p>Checks whether all arguments are TRUE, and returns TRUE if all arguments are TRUE.</p><ul><li>After selecting the AND function:</li></ul><ol><li>Enter number of logical expressions with a reference field.</li></ol><p>Formula: =AND({Test.age} > 0,{Test.salary} > 0)</p><p>Result: The Boolean field will be checked only if both the fields age and salary are greater than zero, else the field will be unchecked.</p>                                                                                                     |
| **3**  | **ANY**                            | <p>Returns true if predicate matches against any child.</p><p>ANY function returns either 1 or 0 hence the field type needs to be Text or Integer.</p><ul><li>After selecting the ANY function:</li></ul><ol><li>Select the child table.</li><li>Select a reference field and add a condition.</li></ol><p>Formula: ANY("test child",{test child.Name} = {John})</p><p>Result: It will return 1, if any of the records in the child table has name = John, else will return 0.</p>                                                  |
| **4**  | **AVERAGE**                        | <p>Returns the average of children table parameter.</p><p>AVERAGE function returns the aggregate average from a particular field in child table.</p><ul><li>After selecting the AVERAGE function:</li></ul><ol><li>Select the child table.</li><li>Select a reference field and add a condition.</li></ol><p>Formula: AVERAGE("test child",{test child.age})</p><p>Result: It will return the average of all the age from the table child.</p>                                                                                      |
| **5**  | **CONCAT**                         | <p>Concate list or range of text strings.</p><ul><li>After selecting the CONCAT function:</li></ul><ol><li>Select two reference fields.</li></ol><p>Formula: CONCAT({First Name}," ",{Last Name})</p><p>Result: It will return FirstName LastName.</p>                                                                                                                                                                                                                                                                              |
| **6**  | **COUNT**                          | <p>Returns count of child table parameter.</p><ul><li>After selecting the CONCAT function:</li></ul><ol><li>Select the child table.</li><li>Select a reference field.</li></ol><p>Formula: COUNT("test child",{test child.Name})</p><p>Result: It will return the total count of the field – Name.</p>                                                                                                                                                                                                                              |
| **7**  | **DATE**                           | <p>Returns a date from a month day and year.</p><ul><li>After selecting the DATE function:</li></ul><ol><li>Select a month reference field.</li><li>Select a day reference field.</li><li>Select a year reference field.</li></ol><p>Formula: DATE({Test.month},{Test.day},{Test.year})</p><p>Result: It will return the total count of the field - Name.</p>                                                                                                                                                                       |
| **8**  | **DATEDIFF**                       | <p>Return the number of days, hours, minutes, seconds between start date and end date.</p><ul><li>After selecting the DATEDIFF function:</li></ul><ol><li>Select the return type -day, hour, minute, second.</li><li>Select a start date reference field.</li><li>Select a end date reference field.</li></ol><p>Formula: DATEDIFF("day",{Test.Start Date},{Test.End Date})</p><p>Result: It will return a difference in day between the start date and end date.</p>                                                               |
| **9**  | **DATEOFFSET**                     | <p>Adds up the offset according to the selected type in the chosen Date Field.</p><ul><li>After selecting the DATEOFFSET function:</li></ul><ol><li>Select the return type -year, month, day, hour, minute, second, week, quarter.</li><li>Select a date reference field.</li><li>Enter the offset value.</li></ol><p>Formula: DATEOFFSET("day",{Test.Start Date},2)</p><p>Result: It will return a date after adding 2 days in the date obtained from referenced field.</p>                                                        |
| **10** | **DATEOVERLAP**                    | Returns whether date range overlaps.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **11** | **DAY**                            | <p>Returns the day of the month, a number from 1 to 31 from a selected Date Field.</p><ul><li>After selecting the DAY function:</li></ul><ol><li>Select a date reference field.</li></ol><p>Formula: DAY({Test.Start Date})</p><p>Result: It will return the current day (1 to 31) from the referenced date field.</p>                                                                                                                                                                                                              |
| **12** | **DAYOFWEEK**                      | <p>Returns the day of the week, a string i.e. 1/1/2024 would return Wednesday.</p><ul><li>After selecting the DAYOFWEEK function:</li></ul><ol><li>Select a date reference field.</li></ol><p>Formula: DAYOFWEEK({Test.Start Date})</p><p>Result: It will return the current day (Monday to Sunday) from the referenced date field.</p>                                                                                                                                                                                             |
| **13** | **EFFECT**                         | <p>Returns effective annual interest rate.</p><ul><li>After selecting the EFFECT function:</li></ul><ol><li>Select a reference field for rate (Nominal interest rate).</li><li>Select a reference field for per (Number of periods)</li></ol><p>Formula: EFFECT({Test.InterestRate},{Test.Period})</p><p>Result: It will return the Effective Annual Interest Rate from the referenced interest rate and period field.</p>                                                                                                          |
| **14** | **FV**                             | Returns the future value of an investment based on periodic, constant payments and a constant interest rate.                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **15** | **IF**                             | <p>Checks whether a condition is met, and returns one value if TRUE, and another value if FALSE.</p><ul><li>After selecting the IF function:</li></ul><ol><li>Select a refernce field and declare a logical condition.</li><li>Enter value if condition is true.</li><li>Enter value if condition is false.</li></ol><p>Formula: IF({Test.First Name}="John","Name is John","Name is not John")</p><p>Result:It will return Name is John, if the field – First Name has value John, else it will return Name is not John.</p>       |
| **16** | **IRR**                            | Returns the internal rate of return.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| **17** | **ISBLANK**                        | <p>Returns True, if field is empty else returns False.</p><p>ISBLANK function returns either true or false hence the field type needs to be Boolean.</p><ul><li>After selecting the ISBLANK function:</li></ul><ol><li>Select a reference field.</li></ol><p>Formula: ISBLANK({Test.First Name})</p><p>Result: The Boolean field will be checked if referenced field is blank, else the field will be unchecked.</p>                                                                                                                |
| **18** | **ISNUMBER**                       | <p>Returns True, if value is a number else returns False.</p><p>ISNUMBER function returns either true or false hence the field type needs to be Boolean.</p><ul><li>After selecting the ISNUMBER function:</li></ul><ol><li>Select a reference field.</li></ol><p>Formula: ISNUMBER({Test.Number})</p><p>Result: The Boolean field will be checked if referenced field is a number, else the field will be unchecked.</p>                                                                                                           |
| **19** | **ISTEXT**                         | <p>Returns True, if value is a text else returns False.</p><p>ISTEXT function returns either true or false hence the field type needs to be Boolean.</p><ul><li>After selecting the ISTEXT function:</li></ul><ol><li>Select a reference field.</li></ol><p>Formula: ISTEXT({Test.Text})</p><p>Result: The Boolean field will be checked if referenced field is a text, else the field will be unchecked.</p>                                                                                                                       |
| **20** | **LEFT**                           | <p>Returns specified number of characters from start of text.</p><ul><li>After selecting the LEFT function:</li></ul><ol><li>Select a reference text field.</li><li>Enter number of characters.</li></ol><p>Formula: LEFT({Test.Name},6)</p><p>Result: It will return 6 characters from the left from the field- Name.</p>                                                                                                                                                                                                          |
| **21** | **LEN**                            | <p>Returns number of characters in text.</p><ul><li>After selecting the LEN function:</li></ul><ol><li>Select a reference text field.</li></ol><p>Formula: LEN({Test.First Name})</p><p>Result: It will return number of characters in the field – First Name.</p>                                                                                                                                                                                                                                                                  |
| **22** | **LOWER**                          | <p>Converts all letters in a text string to lowercase.</p><ul><li>After selecting the LOWER function:</li></ul><ol><li>Select a reference text field.</li></ol><p>Formula: LOWER({Test.Name})</p><p>Result: It will return characters from the referenced field in lowercase.</p>                                                                                                                                                                                                                                                   |
| **23** | **MAX**                            | <p>Returns the largest value of children table parameter.</p><ul><li>After selecting the MAX function:</li></ul><ol><li>Select a reference field from a child table.</li></ol><p>Formula: MAX("test child",{test child.age})</p><p>Result: It will return the maximum age from all the age records in the child table.</p>                                                                                                                                                                                                          |
| **24** | **MID**                            | <p>Returns the characters from the middle of a text string, given a starting Position and Length.</p><ul><li>After selecting the MID function:</li></ul><ol><li>Select a reference text field.</li><li>Enter a start index.</li><li>Enter the number of characters to display.</li></ol><p>Formula: MID({Test.First Name},2,6)</p><p>Result: It will return text starting from the 3rd character in the field and will display till the 8th character.</p>                                                                          |
| **25** | **MIN**                            | <p>Returns the smallest value from children table parameter.</p><ul><li>After selecting the MIN function:</li></ul><ol><li>Select a reference field from a child table.</li></ol><p>Formula: MIN("test child",{test child.age})</p><p>Result: It will return the minimum age from all the age records in the child table.</p>                                                                                                                                                                                                       |
| **26** | **MOD**                            | <p>Returns remainder after number is divided by divisor.</p><ul><li>After selecting the MIN function:</li></ul><ol><li>Select a reference field for number.</li><li>Select a reference field for divisor.</li></ol><p>Formula: MOD({Test.number},{Test.divisor})</p><p>Result: It will return the remainder after number is divided by divisor.</p>                                                                                                                                                                                 |
| **27** | **MONTH**                          | <p>Returns the month, a number from 1 (January) to 12 (December) from a date.</p><ul><li>After selecting the MONTH function:</li></ul><ol><li>Select a date reference field.</li></ol><p>Formula: MONTH({Test.Start Date})</p><p>Result: It will return the current month in number from the referenced date field.</p>                                                                                                                                                                                                             |
| **28** | **MONTHYEAR**                      | <p>Returns the month and year, a string i.e. 1/1/2024 would return 012024.</p><ul><li>After selecting the MONTHYEAR function:</li></ul><ol><li>Select a date reference field.</li></ol><p>Formula: MONTHYEAR({Test.Start Date})</p><p>Result: It will return the current month and year in number from the referenced date field.</p>                                                                                                                                                                                               |
| **29** | **NETWORKDAYS**                    | <p>Returns the number of whole workdays between two dates.</p><ul><li>After selecting the NETWORKDAYS function:</li></ul><ol><li>Select a start date reference field.</li><li>Select an end date reference field.</li></ol><p>Formula: NETWORKDAYS({Test.Start Date},{Test.End Date})</p><p>Result: It will return the whole workdays between two dates.</p>                                                                                                                                                                        |
| **30** | **NOW**                            | <p>Returns the current date and time formatted as a date and time.</p><p>Formula: NOW()</p><p>Result: It will return the current date and time.</p>                                                                                                                                                                                                                                                                                                                                                                                 |
| **31** | **NPER**                           | Returns the number of periods for an investment based on periodic, constant payments and a constant interest rate.                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **32** | **NPV**                            | Returns the net present value of an investment based on a discount rate and a series of future payments (negative values) and income (positive values).                                                                                                                                                                                                                                                                                                                                                                             |
| **33** | <p><strong>OR</strong></p><p>.</p> | <p>Checks whether any of the arguments are TRUE, and returns TRUE or FALSE. Returns FALSE only if all arguments are FALSE.</p><ul><li>After selecting the OR function:</li></ul><ol><li>Enter number of logical expressions with a reference field.</li></ol><p>Formula: =OR({Test.age} > 0,{Test.salary} > 0)</p><p>Result: The Boolean field will be checked if any one of the fields age and salary are greater than zero, else the field will be unchecked.</p>                                                                 |
| **34** | **PATTERNMATCH**                   | <p>Returns True of False if the text matches the pattern. (Pattern uses # for number, \_ for letter and % for wildcard.</p><ul><li>After selecting the PATTERNMATCH function:</li></ul><ol><li>Enter a pattern where # is used number, \_ for letter and % for wildcard.</li><li>Select a reference field.</li></ol><p>Formula: PATTERNMATCH("#####-#####",{Test.Phone})</p><p>Result: The Boolean field will be checked if referenced field has the same pattern as declared in the formula, else the field will be unchecked.</p> |
| **35** | **PMT**                            | Calculates the payments for a loan based on constant payments and a constant interest rate.                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **36** | **PPMT**                           | Returns the payment on the principal for a given investment based on periodic, constant payments and a constant interest rate.                                                                                                                                                                                                                                                                                                                                                                                                      |
| **37** | **PRICE**                          | Returns the price per $100 face value of a security that pays periodic interest.                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **38** | **PROPER**                         | <p>Returns proper casing of text value.</p><ul><li>After selecting the PROPER function:</li></ul><ol><li>Select a reference text field.</li></ol><p>Formula: =PROPER({Test.Name})</p><p>Result: It will capitalize the first letter of every word from the referenced field.</p>                                                                                                                                                                                                                                                    |
| **39** | **PV**                             | Returns the present value of an investment: the total amount that a series of future payments are worth now.                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **40** | **RATE**                           | Returns the interest rate per period of a loan or investmen&#x74;**.**                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **41** | **RIGHT**                          | <p>Returns specified number of characters from end of text.</p><ul><li>After selecting the RIGHT function:</li></ul><ol><li>Select a reference text field.</li><li>Enter number of characters.</li></ol><p>Formula: RIGHT({Test.Name},6)</p><p>Result: It will return 6 characters from the right from the field- Name.</p>                                                                                                                                                                                                         |
| **42** | **ROLE**                           | <p>Returns the role of current authenticated user.</p><p>Formula: ROLE()</p><p>Result: It returns the role of current authenticated user.</p>                                                                                                                                                                                                                                                                                                                                                                                       |
| **43** | **ROUND**                          | <p>Rounds number to specified number of digits.</p><ul><li>After selecting the NETWORKDAYS function:</li></ul><ol><li>Select a reference field.</li><li>Enter the number of digits to which you want to round the number argument.</li></ol><p>Formula: ROUND({Test.decimal},2)</p><p>Result: It returns the round value till 2 decimal places.</p>                                                                                                                                                                                 |
| **44** | **SEARCH**                         | <p>Returns the number of the character at which a specific character or text string is first found.</p><ul><li>After selecting the SEARCH function:</li></ul><ol><li>Enter a character to be found</li><li>Select a reference text field in which the character needs to be searched.</li></ol><p>Formula: SEARCH("S",{Test.First Name})</p><p>Result : It will return the index number at which the character S is found first.</p>                                                                                                |
| **45** | **SUM**                            | <p>Sum of children table parameters.</p><ul><li>After selecting the SUM function:</li></ul><ol><li>Select a child table.</li><li>Select a child table reference field.</li></ol><p>Formula: SUM("test child",{test child.age})</p><p>Result: It will return sum of all the child table field age.</p>                                                                                                                                                                                                                               |
| **46** | **SUMIF**                          | <p>Sum of children table parameter based on logical condition.</p><ul><li>After selecting the SUMIF function:</li></ul><ol><li>Select a child table.</li><li>Select a child table reference field.</li><li>Enter a logical condition.</li></ol><p>Formula: SUMIF("test child",{test child.age},{test child.age} > 0)</p><p>Result: It will return sum of all the child table field age is the age is greater than 0.</p>                                                                                                            |
| **47** | **TODAY**                          | <p>Returns the current date formatted as a date.</p><p>Formula: TODAY()</p><p>Result: It will return the current date and time.</p>                                                                                                                                                                                                                                                                                                                                                                                                 |
| **48** | **TRIM**                           | Removes all spaces from text.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **49** | **UPPER**                          | <p>Converts all letters in a text string to uppercase.</p><ul><li>After selecting the UPPER function:</li></ul><ol><li>Select a reference text field.</li></ol><p>Formula: UPPER({Test.Name})</p><p>Result: It will return characters from the referenced field in Upercase.</p>                                                                                                                                                                                                                                                    |
| **50** | **USER**                           | <p>Returns the email ID of the current user.</p><p>Formula: USER()</p><p>Result: It will return the emailID of the current user.</p>                                                                                                                                                                                                                                                                                                                                                                                                |
| **51** | **USERID**                         | <p>Returns the account ID of the current user.</p><p>Formula: USERID()</p><p>Result: It will return the accoundID of the current user.</p>                                                                                                                                                                                                                                                                                                                                                                                          |
| **52** | **YEAR**                           | <p>Returns the year from a date.</p><ul><li>After selecting the YEAR function:</li></ul><ol><li>Select a date reference field.</li></ol><p>Formula: YEAR({Test.Start Date})</p><p>Result: It will return the year in number from the referenced date field.</p>                                                                                                                                                                                                                                                                     |
| **53** | **YEARMONTH**                      | <p>Returns the year and month, a number i.e. 1/1/2024 would return 202401.</p><ul><li>After selecting the YEARMONTH function:</li></ul><ol><li>Select a date reference field.</li></ol><p>Formula: YEARMONTH({Test.Start Date})</p><p>Result: It will return the year and month in number from the referenced date field.</p>                                                                                                                                                                                                       |

2. **Add Common Field -** User can add common fields from domains such as: Admin, Finance, Marketing, Operations, Sales, Shared.
3. **Cancel –** Guides user back to the tableform screen.
4. **Save –** Saves the changes in the tableform.

**Notes:**

* Every Table must have a unique name.
* Field options, auto-integer & decimal place settings cannot be changed once saved.
* Cannot delete Table when part of a Link, Rule, Workflow or Report.
* Once a Table is deleted all associated records are lost.
