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
- 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 |
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
· 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: