Guru's Verification engine ensures consistency, confidence, and trust in the knowledge your organization shares. Learn more.

4. Configuring Form Fields

Field related configuration

Data desensitization

1 Set the desensitization field

Click on the field you want to desensitize and check the desensitization option in the lower right corner

After setting field desensitization, users without permission will see the desensitized field displayed with mask ******

2 Set permissions

2.1 Add visible masked field personnel authorization

Click the lower left corner: More-Administrative Backend-Permission Management-Members-Click to Add Authorization

Will jump to the following page

On this page, you can configure the visibility permissions and data permissions of authorized members, and search for applications where the desensitized fields are located. Visibility permissions determine whether members can see the application, and data permissions determine whether members can see field permissions. The field permissions set here must be consistent with the field permissions set in the application to take effect. Otherwise, the settings in the application shall prevail.

If the application has 2 fields. If you want different people to see different display contents, you can set them in batches.


The above two figures show that the field authorized personnel are different, and the data permissions are also different. It can be seen that the editable content is also different.

2.2 Configure viewable desensitization permissions

In the management background-Permission Management-Members, first turn on the visible permissions, then click on the data permissions and then find the corresponding field that the person with the corresponding permissions needs to desensitize to view, click to turn on the decryption permission (that is, click the password lock icon on the right) and then click Save. Finally, click Confirm to complete the permission configuration.


This setting is used when the user selects a custom view in the application package and selects "Manage background configured data permissions" in Data Permissions - Effective Permissions.

The permissions of the custom view will be consistent with the permissions set in the management background.

2.3 The difference between default view and custom view

In the default view, the display of the masked fields will change with the background permission management in step 2.2 (default views include: delegate view, done view, CC view, initiated by me), but in the custom view By default, desensitized fields do not have background permissions. You need to edit the field permissions of custom views separately. (Custom views include: table view, card view, Kanban view, Gantt view , and hierarchical view.) The following takes card view as an example.


If you want the custom view to have the same permissions as the default view, you can change "Custom permissions" to "Manage background configured data permissions" under Edit View-Data Permissions-Effective Permissions.

2.4 Data viewing

After a member has obtained the permission to view the desensitization, when clicking on the data details, a lock icon will be displayed on the upper right . After clicking, the content of the desensitization field can be viewed.


3 Modify management background permissions

In the management background - Members, click on the authorization information and then click the edit button to modify the background permissions. After the modification is completed, click Confirm
to edit the authorized personnel and data permissions.

4 Things to note after field desensitization

4.1 Three configurations of data permissions

When configuring data permissions, there are three options: editable, visible only, and hidden.
When "editable" is selected, the default user has permission to view the desensitized fields, and there is a "Modify" button in the lower right corner. Click to modify the field content.

When "Only visible" is selected, it is consistent with the description in 2.2 and 2.3 above.
When "Hide" is selected, users without authorization cannot see the selected fields.

If the user is an administrator, all data with the highest authority can be viewed anonymously.

4.2 Effects on other functions after desensitization

  • search
    • In the case of field desensitization, search is not supported and the search box is not hidden.
  • Data association
    • If the data is associated with a desensitized field, the data field is not desensitized by default, and the data desensitization needs to be reconfigured.
  • Quote
    • When referencing a masked field, the field will still be displayed as a mask. If there is visible masking permission, it can be decrypted.
    • If the desensitized field is used as a display field, it is also displayed as a mask. If there is visible desensitization permission, it can be decrypted.
    • The field filling is consistent with the second processing logic and does not inherit the desensitization configuration. You need to reconfigure the data desensitization.
  • Filter criteria
    • Desensitized fields can be used as filter conditions
  • calculate
    • Masked fields can participate in calculations. The value after participating in the calculation is not desensitized
    • Masked fields will be marked when editing formulas
  • Print
    • The printing of desensitized fields will be printed according to the desensitized style.
  • QR add data
    • After the desensitized fields of application A are added to the fields of application B, whether they are desensitized and decrypted depends on whether there is field desensitization configuration and permission configuration of application B.
  • Submit recalculation and inspection
    • Desensitized fields can be set as triggered fields
    • Desensitized fields can be set as field verification conditions
  • OpenAPI
    • OpenAPI can call desensitized field data normally and is not affected by desensitization.

Field type switching

1 Introduction

1.1 Function introduction

Field types can be switched to facilitate flexible adjustment of field types according to actual needs, which can improve usage efficiency.

1.2 Usage scenarios

Suitable for scenarios where field types need to be changed while retaining existing data. For example, "Single Selection" does not support selecting multiple options. You can use the field switching function to switch "Single Selection" to "Multiple Selection" while retaining the existing data.

1.3 Effect display

As shown in the figure below, when the "drop-down selection" options are not intuitive enough, use the field type switching function to switch the "drop-down selection" to "single selection" . All options can be displayed directly in the form to facilitate the filler's selection.

2. Setup steps

2.1 Function entrance

Select the field you want to switch and click the icon to the right of the field name to switch.

2.2 Function configuration steps

Click on the field that needs to be switched, select the field type that needs to be switched, and click Confirm to complete the operation.

2.3 Field switching range

Field switching range : When switching field types, all field types that the current field can switch. The fields and field switching ranges that support the field switching function are as follows:

Fields that support toggle functionality

Field switching range

single line of text

Multi-line text, numbers, data association

multiline text

Single line of text, numbers, rich text

Data association

single line of text

number

Single line text, multi-line text

Telephone

single line of text

Single choice

Drop-down selection, multiple selection

drop down selection

Single choice, multiple choice


3. Precautions

  • The operation of switching field types may result in functions such as set formulas, data association, branch judgment conditions, submission verification, association with existing data, new and updated Q-Robot data, report display, query report, associated report, data source tag, etc. Invalid

Filter criteria

1 Introduction

1.1 Function introduction

Filter data through customizable logic and display target data in the current field based on the filter results.

1.2 Usage scenarios

Suitable for scenarios where data needs to be differentiated and filtered. For example, when the current field is associated with the member information field, you can use the filter function to filter and display the relevant information of a certain member.

1.3 Effect display

As shown in the figure below, using the filter function to filter employees who are 32 years old can improve work efficiency.

2. Setup steps

2.1 Function entrance

Select a field for which filter conditions need to be set and click the "Set Filter Conditions" button to set filter conditions.

2.2 Function configuration steps

2.2.1 Easy mode

Easy mode : Determine filter conditions based on a simple and fixed filter format

Select associated application fields

Related application fields: The fields to be filtered can be selected from some fields of related applications. Click the drop-down triangle next to "Associated Application Field" to select the associated application field

  • The fields that can be used as associated application fields are: single line text, multi-line text, number, link, date, start and end time, phone number, email, drop-down selection, multiple selection, image selection, address, single selection, rich text, positioning, data association , reference, member, department, data ID, number, applicant, application time, update time, current process status and the above fields in the form

selector

Determinator: You can set filtering logic to determine whether the data meets the logic. Different fields have different ranges of selectable determiners.

  • The explanations of the judgment symbols corresponding to different judgment symbols are shown in the table below.

Determinator

Supported associated application fields

Definition of judger

equal

Single line text, multi-line text, number, link, date, phone number, email, drop-down selection, multiple selection, image selection, address, single selection, rich text, positioning, data association, reference, member, department, data ID, number , applicant, application time, update time, current process status

When the value in the associated application field is exactly the same as the filtered content, the condition is met

not equal to

Single line text, multi-line text, number, link, date, phone number, email, drop-down selection, multiple selection, image selection, address, single selection, rich text, positioning, data association, reference, member, department, data ID, number , applicant, application time, update time, current process status

The condition is met when the value in the associated application field is completely different from the filtered content

Include

Single line text, multi-line text, link, start and end time, phone number, email, multiple choice, picture selection, address, rich text, positioning, data association, reference, member, department, data ID, applicant, current process status

Text field: When the text in the associated application field contains all the filtered content, the condition is met. Start and end time field: When the time range in the associated application field is greater than or equal to the time range in the filtered content, the condition is met. Member and applicant fields: Associated application field The condition is met when all members of the filtered content are included in the Department field: The condition is met when the department that contains all the filtered content is included in the associated application field

Not included

Single line text, multi-line text, link, start and end time, phone number, email, multiple choice, picture selection, address, rich text, positioning, data association, reference, member, department, data ID, applicant, current process status

Text field: When the text in the associated application field does not contain all the filtered content, the condition is met. Start and end time field: When the time range in the associated application field is smaller than the time range in the filtered content or the two time ranges partially overlap, the condition is met. Members, Applicant field: The condition is met when the associated application field does not contain all filtered members. Department field: The condition is met when the department is associated with the application field that does not contain all filtered content.

belong

Single line text, multi-line text, number, link, date, start and end time, phone number, email, multiple selection, image selection, rich text, data association, reference, member, department, data ID, applicant, application time, update time , current process status

Text field: When the filtered content contains text of all associated application fields, the condition is met. Member field: When the members of the filtered content include members of all associated application fields, the condition is met. Date field: The time range of the filtered content contains members of the associated application fields. Date and time, time period field that meets the condition: The condition is met when the time range in the filtered content is greater than or equal to the time range of the associated application field

Does not belong

Single line text, multi-line text, number, link, date, start and end time, phone number, email, multiple selection, image selection, rich text, data association, reference, member, department, data ID, applicant, application time, update time , current process status

Text field: When the filtered content does not contain the text of all associated application fields, the condition is met. Member field: When the members of the filtered content do not contain members of all associated application fields, the condition is met. Date field: The time range of the filtered content does not contain associations. The date and time of the application field meets the condition. Time period field: When the time range in the filtered content is smaller than the time period of the associated application field, or the two only partially overlap, the condition is met.

subordinate

Members, departments, applicants

The condition is met when the members or departments in the associated application field are completely subordinate to the department of the filtered content

Not affiliated

Members, departments, applicants

The condition is met when the members or departments in the associated application field are not completely subordinate to the department of the filtered content.

Subordinate contains

department

The condition is met when the department for filtering content is completely subordinate to the department of the associated application field

Subordinates do not include

department

The conditions are met when the department for filtering content is not completely subordinate to the department for which the associated application field is associated.

more than the

Number, date, application time, update time, start and end time

Numeric field: When the value in the associated application field is greater than the entered value, the condition is met Date field: When the date of the associated application field is after the input date, the condition is met Start and end time field: When the start date of the associated application field is after the entered date, To meet the conditions

greater or equal to

Number, date, application time, update time, start and end time

Numeric field: When the value in the associated application field is greater than or equal to the entered value, the condition is met. Date field: When the date of the associated application field is on or after the input date, the condition is met. Start and end time field: The start date of the associated application field is within the entered value. After the date, the condition is met

less than

Number, date, application time, update time, start and end time

Numeric field: When the value in the associated application field is less than the entered value, the condition is met Date field: When the date of the associated application field is before the input date, the condition is met Start and end time field: When the end date of the associated application field is before the entered date ,To meet the conditions

less than or equal to

Number, date, application time, update time, start and end time

Numeric field: When the value in the associated application field is less than the entered value, the condition is met. Date field: When the date of the associated application field is on or before the input date, the condition is met. Start and end time field: The end date of the associated application field is the entered date. On or before the day, the condition is met

Dynamic Range

Date, application time, update time

Select a time period. When the date of the associated application field is within the time period, optional content is supported if the conditions are met: today, yesterday, this week, last week, this month, last month, this year, last year, last 7 days, recent 30 days, nearly 90 days

equal to any

Single line text, multi-line text, numbers, links, phone numbers, email addresses, rich text, positioning, numbering, data ID, single selection, drop-down selection, data association

Multiple filter values can be added. When the content of the filter field is equal to one of the filter values, the condition is met.

Not equal to any

Single line text, multi-line text, numbers, links, phone numbers, email addresses, rich text, positioning, numbering, data ID, single selection, drop-down selection, data association

You can add multiple filter values. When the content of the filter field is not equal to each filter value, the condition is met.

Detailed explanation of dynamic range optional content

Today : Today's 00:00 to today's 23:59
Yesterday : Yesterday's 00:00 to yesterday's 23:59
This week : Last week from Sunday to this Saturday
Last week : Last week from Sunday to last Saturday
This month : From the 1st of this month to the last day of this month . Last
month : From the 1st of the previous month to the last day of the previous month. This
year : from 1.1 to 12.31 this
year . Last year: from 1.1 to 12.31 last year.
The last seven days : check 7 days forward from the current date. Example: Today, 2022.5.5, calculate
the last 30 days starting from 2022.4.29 00:00 : check 30 days forward from the current date. Example: Today, 2022.5.5, calculate the last 60 days starting from 2022.4.6 00:00
: check 60 days forward from the current date. Example: Today 2022.5.5 starts from 2022.2.5 00:00

Enter filter content

Filter content: The reference basis for whether the data meets the filter conditions, which can be set to a custom or matching field. Different types of fields have different filtering contents. The filter content types corresponding to different types of dimension fields are shown in the table below.

  • Custom: Use directly entered data as filter content
  • Matching fields: Use data in the current application field as filter content

Field Type

Enterable filters

Text fields (single line text, multi-line text, link, email, single selection, drop-down selection, multiple selection, image selection, address, rich text, positioning, data association, reference, data ID, current process status)

text

Date fields (date, application time, update time)

date

Numeric fields (numbers, phone numbers, numbers)

numerical value

department

department

members, applicants

member

Start and end time fields

Start and end time

settings and conditions

Click the condition button to set multiple filter conditions

And conditions : Only data that meets all conditions at the same time will be filtered

settings or conditions

Click the or condition button to set multiple filter conditions

Or condition : data can be filtered if it meets one of the conditions

Copy filter

All existing filters can be copied. Click the copy button in the lower left corner to complete the operation

Paste filters

Copied filter conditions can be pasted. Click the paste button in the lower left corner to complete the operation

2.2.2 Advanced mode

Advanced mode : You can use formulas to filter target data. Enter the filter data window and click Advanced Mode to use formulas to perform filtering operations.

formula

For example, you can use the SUM function to calculate the sum of all values in a numeric field and filter the target data based on the sum of values.

3. Precautions

  • When the decimal places of the two numeric fields in the filter conditions are not the same, the system will automatically use 0 to complete the decimal places.
  • After using the "Paste Filter Conditions" function, all original filter condition settings will be replaced with the pasted filter conditions.
  • You cannot set both "Easy Mode" and "Advanced Mode" filter conditions in one filter condition.
  • Fields other than the "Reference" field need to be set to "Associate Existing Data" before the "Filter Conditions" function can be used.
  • Unable to paste when deleted apps are included in filter criteria
  • Filters cannot be copied and pasted to each other when the fields of the two filters are from different applications.
  • "Equal to any one" and "Not equal to any one" in the selection criteria do not support matching modes in Q-robot, data association and association reports

logical form

1 Introduction

1.1 Function introduction

You can decide whether to display certain fields in the form based on the options selected by the filler, which can improve the efficiency of filling out the form.

1.2 Usage scenarios

Suitable for scenarios where specific fields need to be shown or hidden based on field content. For example, when making a questionnaire, you can use the logical form function to display different questions according to the filler's choice, which can make the questionnaire structure more reasonable.

1.3 Effect display

As shown in the figure below, when registering, ask the filler how he or she wants to participate. Set the logical form so that select different participation methods and corresponding instructions will appear.


2. Setup steps

2.1 Function entrance

Select a "Select Type" field and select "Click Configure" under the logical form to configure the logical form function.

  • Selection type field: single selection, multiple selection, drop-down selection, picture selection

2.2 Function configuration steps

2.2.1 Add fields

Add fields to the form that need to be shown or hidden. Simply click on the target field on the left to complete the operation

2.2.2 Set display fields

Display fields : Fields that appear in a form when the filler selects an option. Click on the field where you need to configure the logical form, select "Click to configure", check the display fields corresponding to different options, and click OK to complete the operation.

3. Precautions

  • Only single selection, multiple selection, drop-down selection and picture selection fields can be configured with logical form functions
  • When a field is set as a display field for an option and the filler does not select the option, the field will automatically become invisible.

Option share

1 Introduction

1.1 Function introduction

You can set the number of times each option can be selected

1.2 Usage scenarios

Suitable for scenarios where it is necessary to limit the number of choices made by the filler. For example, when making an outpatient appointment system, you can use the option share function to limit the number of options for each appointment time period, which can better coordinate time.

1.3 Effect display

As shown in the figure below, using the option share function limits the number of choices for each course, ensuring that the number of students in each course is within a reasonable range

2. Setup steps

2.1 Function entrance

Select a "Select Type" field, check "Quota", and click to Configue to enter the option share configuration interface.

  • Selection type field: single selection, multiple selection, drop-down selection, picture selection

2.2 Function setting steps

Enter the option quota setting interface, enter the data, and click OK to complete the operation.

3. Precautions

  • Only single selection, multiple selection, drop-down selection and image selection fields can be configured with the option share function
  • When using the "Option Share" function, when the number filled in is a decimal, it will be rounded down. For example: when inputting 2.3, it will be treated as 2
  • After setting the option share, each time the option is selected, the option share is reduced by one , and the option with an option share of 0 cannot be selected.

Function introduction

Determine the maximum number of times an option can be selected.

Configurable option share field

  • choose
  • multiple choice
  • drop down selection

Application scenarios

  • Limit the number of selections
  • Select courses/select components...

Associate existing data

1 Function introduction

an advanced configuration item for some fields in the form . After selecting a field, you can directly call the data entered by other applications by configuring the associated application and associated fields. up to date Data to achieve cross-application data connection.

Note: When configuring the association of existing data, the sub-administrator must have the data permissions of the target application in order to associate it.

For example, when filling out the "job transfer application", enter the "employee ID", and the system will automatically associate the "employee name", "entry date" and "working years" in the "employee information".

2 Configuration method

I want to enter the "employee ID" in the application "job transfer application " and call the matching employee information in "employee information".

1. Select the [Single Line Text] field and modify the [Title] to "Employee Name";

2. Select the default content as [Relate existing data] and set: the associated application is "Employee Information" and the associated field is "Employee Name".

3. Set the filter conditions and return the latest values of the fields in the associated application that meet the conditions to the fields of the current application: When there is a value of "Employee ID" in "Employee Information", it will be the same as the "Employee ID" entered in "Job Transfer Application". Employee ID" are equal, and the "employee name" corresponding to the employee ID is returned.

Note: If there are multiple values that meet the condition, the system defaults to the latest value .

3 things to note

The field types currently supported by "Associate existing data" are summarized as follows. Special fields only support the correlation of data of the same type :

Supports configuring form fields that "associate existing data"

Corresponding to optional related fields

single line of text

Single line of text, date, email, mobile phone, number, link, member field

date

date

Mail

Mail

cell phone

cell phone

number

number

Single choice

Single selection, drop-down selection

drop down selection

Single selection, drop-down selection

multiple choice

multiple choice

Updating files

Updating files

Link

Link

member

member

department

department

sheet

sheet

table subfield

Depending on the table subfield type, the association rules are consistent (except for table fields)

2. When the form needs to be configured to associate with existing data, association rules need to be configured for each "subfield" of the form.

3. If there are multiple values that meet the condition, the system defaults to the latest value .


For example: There are three employees with the same name and surname in the employee information table, and their working years are 4 years, 3 years and 1 year respectively, and 1 year is the latest data.

If you enter the employee name, set the filter condition to "employee name" equal, and associate the employee's working years, the latest data associated is "1", which is not consistent with the actual situation; the employee ID is the unique identity of each employee. Binding employee ID to employee information can avoid such problems.

4. The difference between "Associate existing data" and "Data association" fields: Data association

Associate existing data

Data association

type

Configuration items for some form fields

form fields

Related scope

The latest data that meets certain conditions

All data in a certain field

Extend settings

-

Sorting, aggregation, custom buttons

Function

logical function

IF

IF (judgment condition, true value, false value)
function introduction :

Depending on whether the judgment condition is correct (true) or wrong (false), different values are returned.

illustrate :

Judgment conditions, true values, and false values are all required, otherwise the function cannot operate.

Function case :

Automatically score customer service. If the average score of service attitude and level of confusion is greater than or equal to 4, the customer service will be shown as excellent. Otherwise, the customer service will be shown as average.

If you want to have more choices when judging the results, you need to nest the IF function within the IF function.

For example, if the customer's comprehensive score is greater than or equal to 4.5, it indicates excellent customer service. A score between 3 and 4.5 indicates good customer service. A score below 3 indicates poor customer service.

IFS

IFS(judgment condition 1, truth value 1, judgment condition 2 (optional), truth value 2 (optional),...)

Function introduction :

Checks whether one or more conditions are met and returns the value that meets the first TRUE condition

illustrate :

1. Judgment condition 1, truth value 1, are required, otherwise the function cannot operate;

2. When judgment condition 1 is not met, judgment condition 2 will be entered. If judgment condition 1 is met, judgment condition 2 will not be entered;

3. The IFS function does not need to input false values. If all judgment conditions are not met, " " null value will be output as the default false value;

Function case :

To calculate the student performance grade, 90 points and above are "excellent", 75 points and above are "good", 60 points and above are "medium", and below 60 points are "poor", the formula is:

=IFS(Grade field>=90, “ Excellent ” , Grade field>=75, “Good”, Grade field>=60, “ Medium ” , Grade field<60, “ Poor ” )

Note: The judgment conditions are judged in order. If the order is reversed, the judgment condition in the first order will be followed.

Error case :

=IFS(Grade field>=75, “Good”, Grade field>=90, “ Excellent ” , Grade field>=60, “ Medium ” , Grade field<60, “ Poor ” )

if the value of the grade field is 90, then because the priority judgment meets the first judgment condition "grade field >= 75", the output of the formula is "good".

AND

AND( logical1, [logical2], …)

Function introduction :

If the logical value of any parameter is false, false is returned; only when the logical value of all parameters is true, true is returned.

illustrate :

logical: logical value, for example, the logical value of 2>1 is true.

Function case :

Only when both scores are above 90 points will it be evaluated as excellent, otherwise it will be evaluated as other.



OR

OR( logical1,[logical2], …)

Function introduction :

If the logical value of any parameter is true, it returns true; only when all logical parameter values are false, it returns false.

illustrate :

logical: logical value, for example, the logical value of 2>1 is true.

Function case :

If either of the two scores is 90 or above, it will be evaluated as excellent, otherwise it will be evaluated as other.

XOR

XOR( logical1,[logical2], …)

Function introduction :

Returns the XOR value of all parameters.

XOR means that if the two values are the same, false is returned; if the two values are different, true is returned.

illustrate :

logical: logical value, for example, the logical value of 2>1 is true

NOT

NOT( logical)

Function introduction :

Returns the inverse of the argument's logical value. The result of NOT(2>1) is false.

illustrate :

logical: logical value, for example, the logical value of 2>1 is true, and the logical value of 1>2 is false.

ISEMPTY

ISEMPTY( text )

Function introduction :

Determine whether the value is an empty string or an empty array. If it is a null value, returns true.

You can determine whether the field is filled in or not. Single selection, multiple selection, drop-down selection, picture selection, whether the member field has a value to select. Have the attachments been uploaded?

text function

CONCAT

CONCAT( text1,[text2], …)

Function introduction :

String concatenation function, concatenate all fields in the function

illustrate :

text: field or content

There must be at least one field or content, otherwise the function cannot operate. The fields or functions to be connected are separated by commas. If it is a string, it needs to be wrapped in quotes.

Function case :

The applicant answers the questions, hides the score for each item, counts the total score, and only feeds back the results.


MID

MID( text, startnum , numchars )

Function introduction :

Returns a specific number of characters in a string starting at the specified position, specified by the user

illustrate :

text: field or content

startnum : the specified position

numchars : specified number of characters

All fields are required, otherwise the function cannot operate.

Function example :

Get birthday information through ID card. Take the 8-digit number starting from the 7th digit . And connect them with "-".

LEFT

LEFT( text,[ num_chars ])

Function introduction :

Returns the specified number of characters starting from the first character from the left of a field

illustrate :

text: field or content

num_chars : The specified number of characters

All fields are required, otherwise the function cannot operate.

RIGHT

RIGHT( text , [ num_chars ] )

Function introduction :

Returns the specified number of characters starting from the first character from the right of a field

illustrate :

text: field or content

num_chars : The specified number of characters

All fields are required, otherwise the function cannot operate.

LEN

LEN( text)

Function introduction :

Returns the number of characters in a text string.

illustrate :

text: The field or string whose length you want to calculate, required.

UPPER

UPPER( text)

Function introduction :

Converts lowercase letters in a text string to uppercase.

illustrate :

text: text field or string, required.

LOWER

LOWER( text)

Function introduction :

Convert uppercase letters in a text string to lowercase.

illustrate :

text: text field or string, required.

REPLACE

REPLACE( oldtext , startnum , numchars , newtext )

Function introduction :

Replace part of the string with a different string based on the specified number of characters

illustrate :

oldtext : The field or content you want to replace

startnum : the specified position

numchars : specified number of characters

newtext : replaced field or content

All fields are required, otherwise the function cannot operate.

Function case :

the employee's personal employee number into the department's unified number to generate a unified identification number.

SEARCH

SEARCH( find text, within text , [ start_num ] )

Function introduction :

Finds the first field in the second field and returns the number of the starting position of the first field string, measured from the first character of the second field string. Returning 0 means not found.

illustrate :

findtext : The field or string to be found, required

withintext : The field or string being queried, required

[ start_num ]: REMOVED starting position of the query. If not filled in, the default is 1. Any integer less than 1 is counted as 1.

TEXT

TEXT( value,text_format )

Function introduction :

Convert field values into text or numbers in a specific format

illustrate :

value:field or content

text_format : Specific format, currently the following formats are provided:

1. Convert the "year, month, day, hour, minute, and second" of the date and time field into the specific format of "YYYY-MM-DD,HH mm ss" (it can also be executed without filling in the hour, minute, and second). value, text_format are required, otherwise the function cannot operate. Year, month, day, hour, minute and second correspond to YYYY, MM, DD, HH, mm, ss.

Function case :

2. Convert the date and time field into week format. 『EEE』

E represents the day of the week, and the result is 0-6, indicating Sunday-Saturday respectively.

EE means day of the week, for example: Sunday, Monday, Tuesday, etc.

EEE means day of the week, for example: Sunday, Monday, Tuesday, etc.

Function case:

JOIN

JOIN("join symbol", field/text)

Function introduction :

Allows users to customize connectors for multi-valued fields

illustrate :

Connection symbol: required. The content is customized by the customer. The specific effect is to replace the default connector when the current text is transmitted.

Field/Text: Required and at least one

Function case :

Customize the table subfield connection symbol transmitted by the webhook

Numeric functions

AVERAGE

AVERAGE( number1, [number2], …)

Function introduction :

Returns the average of all participating numbers

illustrate :

number: numeric field or numeric content

There must be at least one field or content, otherwise the function cannot operate.

Function case :

Automatically score customer service. If the average score of service attitude and level of confusion is greater than 4, it indicates excellent customer service. Otherwise, it indicates average.

COUNT

COUNT( value1, [value2], …)

Function introduction :

Returns the number of values (strings) in all participating fields

illustrate :

value: field

There must be at least one field or content, otherwise the function cannot operate.

Function case :

Count how many options were selected.

COUNTIF

COUNTIF( value1 , [value2] , …, criteria)

Count the number of parameters that meet the conditions. However, when the parameter types are different, the settings are different.

1. When the parameter is a number :

  • COUNTIF([1,2,3,4], ">2"), the result is 2
  • COUNTIF( [1,2,3,4], “!=2”), the result is 3
  • COUNTIF([1,2,3,4], ">=1"), the result is 4
  • COUNTIF(["a", "b", "c"], "d"), the result is 0

MAX

MAX( number1, number2, …) or MAX(date1, date2, …)

Function introduction :

Returns the maximum value among all participating numbers/dates

illustrate :

number: number field/number content

date: date field/date content

There must be at least one field or content, otherwise the function cannot operate.

Function case :

Calculate the maximum monthly turnover.



MIN

MIN( number1, number2, …) or MIN(date1, date2, …)

Function introduction :

Returns the minimum value among all participating numbers/dates, the usage is the same as MAX()

illustrate :

number: numeric field or numeric content

date: date field/date content

There must be at least one field or content, otherwise the function cannot operate.

ROUND

ROUND( number, num_digits )

Function introduction :

Rounds a number to a specified number of digits

illustrate :

number: numeric field or numeric content

num_digits : Number of reserved digits

All fields are required, otherwise the function cannot operate.

Function case :

Calculate monthly income from annual income to two decimal places.



INT

INT( number)

Function introduction :

Round numbers down

illustrate :

number: numeric field or numeric content

number is required, otherwise the function cannot operate.

Function case :


MOD

MOD( number,divisor )

Function introduction :

Returns the remainder after dividing two numbers

illustrate :

number: numeric field or numeric content

divisor: divisor

All fields are required, otherwise the function cannot operate.

Function case :

Calculate how much cake will be left if 100 cakes are divided equally among 13 people.

PRODUCT

PRODUCT( number1, [number2], …)

Function introduction :

Returns the product of the values in all participating fields

illustrate :

number: numeric field or numeric content

There must be at least one field or content, otherwise the function cannot operate.

Function case :

Calculate the total price based on the unit price and quantity.

SUM

SUM( number1, [number2], …)

Function introduction :

Returns the sum of the values in all participating fields

illustrate :

number : numeric field or numeric content

There must be at least one field or content, otherwise the function cannot operate.

Function case :

Calculate the total sales of a certain store in the first quarter.

SUMPRODUCT

SUMPRODUCT([array1], [array2 ],[ array3],...)

Function introduction :
In a given array, multiply the corresponding elements between the arrays and return the sum of the products

Note :
array: The number array
must have at least one array that is not null, otherwise the function cannot operate.
It is not required that the array parameters must have the same dimensions, that is, if the number of values in the array is different, the minimum value of the product is taken. For example, the sum of the products of {1,2,3,4}, {1,2}, and {1,2} is 9, that is, 1x1x1+2x2x2=9.

SUMIF

SUMIF([array1],"text", [array2(number)])

Function introduction :

Count the values in the table that meet the conditions and sum them up

illustrate :

array: array of numbers

There must be at least one field or content, otherwise the function cannot operate.

  • When there are null values in the field values that participate in the calculation of this function, an error may occur, so please use it with caution.

NUM

NUM( text)

Function introduction :

Returns the number in the text

illustrate :

You can get single lines of text, single selections, drop-down selections, and numbers in data-related fields.

RMBUPPER

RMBUPPER( number)

Function introduction :

Convert numbers to uppercase Chinese amounts.

For example: 35457.567

Conversion result: 35,000, 400, 50, 7, Yuan, 5,000, 60,000

ROUNDUP

ROUNDUP( number, num_digits )

Function introduction :

Keep the number to the specified number of digits, with the last digit rounded up.

illustrate :

number: numeric field or numeric content

num_digits : Number of reserved digits

All fields are required, otherwise the function cannot operate.

Function case :

Round the number to two decimal places, with the last digit rounded up.

ROUNDDOWN

ROUNDDOWN( number, num_digits )

Function introduction :

Keep the number to the specified number of digits, with the last digit rounded down.

illustrate :

number: numeric field or numeric content

num_digits : Number of reserved digits

All fields are required, otherwise the function cannot operate.

Function case :

Round the number to two decimal places, with the last digit rounded down.

POWER

POWER( number,number )

Function introduction :

Calculate the nth power of the number num, n can be a fraction or an integer

illustrate :

number: numeric field or numeric content

All fields are required, otherwise the function cannot operate.

Function case :

LN

LN( number)

Function introduction :

Calculates the natural logarithm of a specified number

illustrate :

number: numeric field or numeric content

number is required, otherwise the function cannot operate

Function case :

The first step is to set up two numeric fields. The second numeric field is named "natural logarithm". Calculate it through the formula and select the LN function and the first numeric field.

In the second step, after saving and publishing, when filling out the form, enter 10 in the first numeric field, and the second numeric field will automatically calculate the natural logarithm of 10.

SQRT

SQRT( number)

Function introduction :

Calculates the square root of a specified number

illustrate :

number: numeric field or numeric content

number is required, otherwise the function cannot operate.

Function case :

Time function

YEAR

YEAR( date)

Function introduction :

Returns the year in a date

illustrate :

date: date field, required

MONTH

MONTH( date)

Function introduction :

Returns the month in the date, the usage is the same as YEAR()

illustrate :

date: date field, required

DAY

DAY( date)

Function introduction :

Returns the day in the date, the usage is the same as YEAR()

illustrate :

date: date field, required

HOUR

HOUR( date)

Function introduction :

Returns the hour in the date, the usage is the same as YEAR()

illustrate :

date: date field, required

MINUTE

MINUTE( date)

Function introduction :

Returns the minute in the date, the usage is the same as YEAR()

illustrate :

date: date field, required

SECOND

SECOND( date)

Function introduction :

Returns the seconds in the date, the usage is the same as YEAR()

illustrate :

date: date field, required

DATE

DATE( year,month,day,hour,minute )

Function introduction :

Concatenate numbers into dates

illustrate :

year: numeric field or numeric content

month: numeric field or numeric content

day: numeric field or numeric content

hour: numeric field or numeric content

minute: numeric field or numeric content

All fields are required, otherwise the function cannot operate.

CURDATE

CURDATE( )

Function introduction :

Returns the current date, can be used in single-line text fields and date fields.

illustrate:

There is no need to fill in the content in the brackets, you can use it directly

Function case :

NOW

NOW( )

Function introduction :

Returns the current date and time , accurate to hour/minute/second. The usage is the same as CURDATE(). (The date field needs to check "Accurate to hour/minute/second" to display the precise time)

illustrate :

There is no need to fill in the content in the brackets, you can use it directly

DAYS

DAYS( end_timestamp , start_timestamp )

Function introduction :

Returns the number of days between two date fields. Negative values can be returned. For example, the difference between 2018/1/30 and 2018/1/28 is 2 days.

illustrate :

end_timestamp : required. End date.

start_timestamp : required. Start date.

DATEDELTA

DATEDELTA(date field, quantity, time unit)

Function introduction :

Add /subtract the specified number of days to the specified date and display the target date.

illustrate:

Date field: required. Initial date.

Quantity: Required. The number of days to be added or subtracted. A positive number is an increase, a negative number is a decrease.

Time unit: day-D, month-M, year-Y, hour-H, minute-MIN

  • The time unit needs to be enclosed in English double quotes, as shown in the figure.

NETWORKDAYS

NETWORKDAYS (date field 1, date field 2, "weekend", specified holiday 1, specified holiday 2...)

Function introduction :

Returns the number of working days between two dates.

Date field 1: start date

Date field 2: end date

weekend : Optional when no holiday is specified. Weekend string, used to specify weekend days. If not filled in, the weekend will be the rest day by default. Each character represents a day of the week (starting from Sunday), a total of seven characters, where 0 represents a working day and 1 represents a rest day. For example: 1100000 means Sunday and Monday are rest days.

Specify holidays: Optional, one or more dates to exclude from the working day calendar. For example: "2020-10-01"

illustrate :

If start_date is later than end_date , the return value will be negative and the quantity will be the number of all working days

Function case :

Single specified holiday: NETWORKDAYS (date 1, date 2, "0000011", "2020-10-01")

Multiple specified holidays: NETWORKDAYS (date 1, date 2, "0000011", "2020-10-01", "2020-10-02", "2020-10-03")

DATETOTIMESTAMP

DATETOTIMESTAMP(date)

Function introduction :

The date to timestamp function converts the date into a 13-digit millisecond timestamp , for example: 1596078632694.

illustrate :

data : date field, required.

Date formats are year month day, year month day hour and minute, year month day hour minute and second. The first two are uniformly filled with 0 in the higher precision date position .

For parameters with incorrect format, Invalid Value is returned uniformly.

TIMESTAMPTODATE

TIMESTAMPTODATE (timestamp)

Function introduction :

Timestamp to date function, timestamps are uniformly converted into [year-month-day hour:minute:second] format date string.

illustrate:

Timestamp: text format, required.

Users can intercept it as needed when using it.

Need to be compatible with 10-digit and 13-digit timestamps.

For parameters with incorrect format, Invalid Value is returned uniformly.

Advanced functions

RDID

RDID( )

Function introduction :

Returns a random code, which is a string. Please use it in the text field.

illustrate :

There is no need to fill in the content in the brackets, you can use it directly

Function case :

RECNO

RECNO( )

Function introduction :

Accumulator, which continuously accumulates calculations based on the number of times the current form is opened, with a starting value of 1.

illustrate :

Can be used for automatic generation of serial numbers.

TEXTUSER

Function introduction :

Get the name or email address of the selected member in the address book

like:

TEXTUSER (member field, "name") gets the name of the selected member in the address book

TEXTUSER (member field, "email") gets the email address of the selected member

TEXTDEPT

Function introduction :

Get the name or ID of the selected department.

like:

TEXTDEPT (department field, "name") gets the name of the selected department

TEXTDEPT (department field, "id") gets the department ID of the selected department

GETUSERNAME

GETUSERNAME( )

Function introduction :

Get the current user's nickname

GETUSEREMAIL

GETUSEREMAIL( )

Function introduction :

Get the applicant's email

REGTEST

REGTEST(text field/text to be validated, regular expression rules, regular expression modifiers)

Function introduction :

According to the regular expression specified by the user, verify whether the text meets the conditions. If it does, it will return true. If it does not, it will return false. It can be used in conjunction with logical methods such as IF.

Note: \ in the regular expression needs to be escaped as \\
as shown in the figure below. ^[\u4r00-\u9fa5]{0,} needs to be filled in as ^[\\u4r00-\\u9fa5]{0,}

MD5

MD5 (encrypted content, encryption method)

Function introduction :

Encrypt inserted form fields and text according to the selected encryption method

illustrate :

Encrypt text with MD5, the number of encryption bits can be customized (16/32 bits)

Encrypted content: required, text, MD5 encryption will be performed directly according to the selected encryption method. If the inserted field is a multi-value field (member/department/upload file/multiple & image selection/table subfield), only the first value will be taken by default; if the inserted field is rich text or positioning, it will be taken directly without processing. text;

Encryption method: Optional, fill in 16/32, encrypt the encrypted content with 16/32-bit lowercase encryption, if not filled in, the default is 32

Function case :

Encrypt some fields in a piece of data using MD5 and use them as authentication parameters for third-party system connection.

TRIPLEDES

TRIPLEDES (content, key, vector, pattern, padding)

Function introduction:

Pass the encrypted content through TRIPLEDES, optionally encrypting it according to the specified encryption mode and padding

illustrate:

Content: required, text, the content length under NOPADDING padding must be a multiple of 8, and TRIPLEDES encryption is performed directly according to the key. If the inserted field is a multi-value field (member/department/upload file/multiple & image selection/table subfield), only the first value will be taken by default; if the inserted field is rich text or positioning, it will be taken directly without processing. Text (only supports ISO10126 padding)

Key: required, the key length must be a multiple of 8 digits

Vector: required, length must be 8 bits, offset vector is ignored in ECB mode

Mode: optional, optional range ECB, CBC, CTR, default value ECB, ECB mode does not include offset direction, CTR mode only supports NOPADDING

Fill: optional, optional range NOPADDING, Iso10126, default value NOPADDING

The byte array generated by the encryption result is converted into a string using base64 processing.

UNICODE ENCODE

UNICODE ENCODE (field/text)

Function introduction:

Encode field/text content using Unicode.

illustrate:

Field/Text: Required, Unicode-encoded content is to be used.

UNICODE DECODE

UNICODEDECODE (field/text)

Function introduction:

Decode the field/text content using Unicode.

illustrate:

Field/Text: Required, the content to be decoded using Unicode.

BASE64

BASE64(field/text)

Function introduction:

Base64 encode the field/text content.

illustrate:

Field /Text: Required, base64 encoded content is required.
Note : The text content does not support Chinese

logical function

Since this document will cover multiple functions, if you want to find out how to use a specific function, you can click to jump in the directory bar on the right.

1. IF

IF (judgment condition, true value, false value)

1.1 Introduction to functions

The IF function performs a logical comparison between a value and an expected value.

Depending on whether the judgment condition is correct (true) or wrong (false), different values are returned. If the judgment condition is correct, a true value is returned; if the judgment condition is wrong, a false value is returned.

1.2 Description

Judgment conditions, true values, and false values are all required, otherwise the function cannot operate.

1.3 Function case

If the average value of the service attitude and confusion level fields is greater than 4, the calculation result is excellent, otherwise, the calculation result is average.


2. IFS function

IFS(judgment condition 1, truth value 1, judgment condition 2, truth value 2,...)

2.1 Introduction to functions

Checks sequentially whether one or more conditions are met, returning the true value of the first condition that is met

2.2 Description

1. Judgment condition 1, truth value 1, are required, otherwise the function cannot operate;

2. When judgment condition 1 is not met, judgment condition 2 will be entered. If judgment condition 1 is met, judgment condition 2 will not be entered;

3. The IFS function does not need to input false values. If all judgment conditions are not met, a null value will be output as the default false value;

2.3 Function case

  • Case 1:

The above formula can be used to calculate student performance grades. A score of 90 and above is considered "excellent", a score of 75 and above is considered "good", a score of 60 and above is considered "medium", and a score below 60 is considered "poor".

  • Case 2

=IFS(Grade field>=90, “ Excellent ”, Grade field>=75, “Good”, Grade field>=60, “ Medium ” , Grade field<60, “ Poor ” )

if the value of the grade field is 90, then because the priority judgment meets the first judgment condition "grade field >= 75", the output of the formula is "good".

The judgment conditions are judged in order. If the order is reversed, the judgment condition in the first order will be followed. If you enter the following formula

3.AND _

AND( logic1, [logic2], …)

3.1 Introduction to functions

Logical function, "and".

Returns true only if the logical values of all parameters are true. Otherwise return false.

3.2 Description

logical: logical value, for example, the logical value of 2>1 is true.

3.3 Function case

Only when both scores are above 90 points will it be evaluated as excellent, otherwise it will be evaluated as other. Implementation methods and results:

4.OR _

OR( logical1,[logical2], …)

4.1 Introduction to functions

Logical function, "or".

If the logical value of any parameter is true, it returns true; only when all logical parameter values are false, it returns false.

4.2 Description

logical: logical value, for example, the logical value of 2>1 is true.

4.3 Function case

If either of the two scores is 90 or above, it will be evaluated as excellent, otherwise it will be evaluated as other.


5.XOR _

XOR( logical1,[logical2], …)

5.1 Introduction to functions

Returns the XOR value of the logical arguments.

If the logical values of the two expressions are the same (either true or false), false is returned; if the logical values of the two expressions are different, true is returned.

5.2 Description

logical: logical value, for example, the logical value of 2>1 is true

5.3 Function case

When number 1 and number 2 are not both less than or equal to 5, or not both greater than 5, the following formula returns true

If number 1=20 and number 2=3, then return true

If number 1=2 and number 2=3, then return false

If number 1=10 and number 2=50, return false

6. NOT

NOT( logical)

6.1 Introduction to functions

Returns the inverse of the logical value of the expression. true and false are inverse values of each other.

6.2 Description

logical: logical value, for example, the logical value of 2>1 is true, and the logical value of 1>2 is false.

6.3 Function case

The result of NOT(2>1) is false.

The result of NOT ("agree"! = "agree") is true.

7. ISEMPTY _

ISEMPTY( text )

7.1 Function introduction:

Determine whether the value is an empty string or an empty array. If it is a null value, returns true.

7.2 Description

You can determine whether the field is filled in or not. For example, single selection, multiple selection, drop-down selection, picture selection, whether the member field has a selected value; whether the attachment has been uploaded, etc.

Formula

1 Introduction

1.1 Function introduction

A formula is an calculation composed of operation rules and parameters. The result of the formula calculation can be used as an initial value to fill in the field to facilitate flexible processing of data.

1.2 Usage scenarios

Suitable for scenarios that require data processing. For example, when calculating the total order amount, you can use a formula to directly obtain the result of multiplying the unit price and sales volume to facilitate the statistics of total sales data.

1.3 Effect display

As shown in the figure below, using the SUM formula to calculate the sum of students' scores in Chinese, mathematics, and English and filling it in the fields can improve the efficiency of score entry.

2. Setup steps

2.1 Function entrance

Select an added field, click the drop-down triangle under "Default Content", select "Calculate by formula", click "Set Calculate by Formula" to set the formula

The fields that currently support the "calculate by formula" function are: single line text, multi-line text, numbers, links, dates, phone numbers, and email addresses.

2.2 Function configuration steps

2.2.1 Input parameters

Parameters : The data involved in the operation, which can be entered manually or selected from the currently applied fields. On the formula editing page, choose to click on the target field or enter data directly to complete the operation.

Fields that cannot be used as formula parameters are: description text, paragraph, quote, Q-Linker, text recognition and code block

2.2.2 Select operation rules

Operation rules : The correspondence between the data participating in the operation and the operation results. The operation method can be operators such as addition, subtraction, multiplication, and division or functions provided by the system. Click or manually enter the required function or operator to complete the operation

currently parameter types supported by the operators are as follows:

3. Precautions

  • When entering operators, functions, and symbols within functions, you need to use the English input method. At the same time, the parameters involved in the operation within the function must meet the usage specifications of the function. For example, when using the SUM function, the function name and symbols such as brackets and commas need to be entered in English. The function name needs to be in English capitals, and the parameters involved in the operation in the SUM function can only be numbers.
  • When entering text information as a parameter, you need to add a pair of English double quotes before and after the text information. After adding fields to the form, you need to click the Save button to select the newly added fields as parameters for formula calculations.
  • The calculation result of the formula needs to match the type of the field for which the "Calculate by formula" function is currently set. For example, you cannot use the CONCAT function to fill in merged text in a numeric field, but you can use the CONCAT function to fill in merged numbers.

How to use "formula" to generate "unique code"

In many scenarios, "number" and "serial number" are inseparable.

1. Basic incremental example

CONCAT("RN",RIGHT(CONCAT("000",RECNO()),4)). The results obtained are: RN0001, RN0002,…

1: The function of the " CONCAT " function is to connect the two strings "RN" (fixed text prefix) and " RIGHT(CONCAT("000",RECNO()),4) " .

2: The function of "RIGHT" function is to obtain the specified number of characters from the right in the string.

3: The function of the "RECNO" function is to cumulatively record the number of times the application has been opened by the applicant.

Through this, documents can be uniquely and non-duplicately numbered to prevent duplication of numbers caused by concurrency and other issues. Although the numbers may not be completely consecutive in this way, this should be the safest way in terms of "preventing duplication".

2. Add timestamp

Simple numbering may not completely avoid duplication, because the above 4-digit number can only generate 9999, and if it exceeds it, it will be repeated. Therefore, we often add a timestamp to the number and use the "CURDATE" function to retrieve the current date of filling in the form.

So we modify the formula to: CONCAT("RN",CURDATE(),RIGHT(CONCAT("000",RECNO()),4)).

The result is: RN2024-01-090024

3. Further advancement

In the above case, there is a date connector "-" in the number. Next, we use the date interception function to further optimize the number settings, such as:

CONCAT(“RN ”,YEAR (CURDATE()),MONTH(CURDATE()),DAY(CURDATE()),RIGHT(CONCAT(“000”,RECNO()),4))

The result is: RN2024190026

It may not be the most perfect solution, because the above 2018813 is August 13th. If it is December 13th, it will be displayed as 20181213, so the digits cannot be consistent, so we use the RIGHT and CONCAT functions again to extract them for the MONTH and DAY functions. The "month" and "day" are filled with zeros,

The formula is as follows:

CONCAT(“RN ”,YEAR (CURDATE()),RIGHT(CONCAT(“0”,MONTH(CURDATE())),2),RIGHT(CONCAT(“0”,DAY(CURDATE())),2) ,RIGHT(CONCAT(“000”,RECNO()),4))

The result is: RN20240109.

After the above steps, documents such as "Purchase Order" and "Order Order" can be perfectly numbered!

Tips: The content after the function must be enclosed with "()" , pay attention to the number of parentheses; the variables in the function are separated by "comma", and the functions in all formulas must use English half-width characters~

Verification conditions

Function introduction

In the options bar on the right side of the form design, single line text/multiline text can be set

  • Is it required?
  • Limit word count
  • Validation such as duplicate values is not allowed.

Application scenarios

According to actual form field needs

How to set up and apply

Under the configuration conditions on the right side of the relevant form, you can select the verification conditions

Note:

· If you select required fields, the submission form will not be submitted successfully if you do not fill in this field.

· If you choose not to allow duplicate values, the value of the same content in the background will be automatically verified when submitting the form. If there is the same content, a prompt will appear and the form cannot be submitted.

    • Under this option, English letters in the same case are considered equivalent. That is, when you have entered the uppercase letter A and then enter the lowercase letter a, you will be prompted that duplicate values are not allowed.

· If you choose to limit the word count, the content word count will be limited when submitting the form.

Other field verification

· Email: Email verification, needs to match the email style

    • Example: " support@anffy.com "

· Mobile phone: Mobile phone verification, must be 11 digits

    • Example: "13112341234"

· Link: link verification, needs to comply with the link style

    • Example: " www.anffy.com "

· Number: Special check for numeric fields, "whether decimals are allowed"

    • Example: "100.1"

Node verification

We often encounter such problems and need to perform further format control and numerical judgment on the filled-in content. Through the node verification function, the submission node can be judged for different nodes. Only data that meets certain conditions can be submitted. The setting method is similar to the formula. For details, please see:

You must have Author or Collection Owner permission to create Guru Cards. Contact your team's Guru admins to use this template.