a!pickerFieldRecords( label, labelPosition, instructions, helpTooltip, placeholder, maxSelections, recordType, filters, value, saveInto, required, requiredMessage, readOnly, disabled, validations, validationGroup, accessibilityText, showWhen, showRecordLinks )
Displays an autocompleting input for the selection of one or more records, filtered by a single record type. Suggestions and picker tokens use the title of the record.
Name | Keyword | Types | Description |
---|---|---|---|
Label |
|
Text |
Text to display as the field label. |
Label Position |
|
Text |
Determines where the label appears. Valid values:
|
Instructions |
|
Text |
Supplemental text about this field. |
Help Tooltip |
|
Text |
Displays a help icon with the specified text as a tooltip. The tooltip displays a maximum of 500 characters. The help icon does not show when the label position is |
Placeholder |
|
Text |
Text to display in the field when it is empty. Does not show if the field is read only. |
Maximum Selections |
|
Number (Integer) |
Maximum number of allowed selections. Once this number is reached, further selections are blocked until a selection is removed. |
Record Type |
|
RecordType |
Required, singular. Filters picker to select records of this type. |
Filters |
|
Any Type |
A single logical expression or a list of query filters can be provided to apply additional filters to the record set. Queries inherit the default filters defined on the referenced record type. Service-backed record types can only be filtered using a logical expression if data sync is enabled. |
Display Value |
|
Any Type |
Array of currently selected records. This will be either a List of Text or a List of Number (Integer), depending on the recordType selected. |
Save Input To |
|
List of Save |
One or more variables that are updated with the array of selected records when the user selects or removes a record. Use a!save() to save a modified or alternative value to a variable. |
Required |
|
Boolean |
Determines if a value is required to submit the form. Default: false. |
Required Message |
|
Text |
Custom message to display when the field's value is required and not provided. |
Read-only |
|
Boolean |
Determines if the field should display as not editable. Default: false. |
Disabled |
|
Boolean |
Determines if the field should display as potentially editable but grayed out. Default: false. |
Validations |
|
List of Text String |
Validation errors to display below the field when the value is not null. |
Validation Group |
|
Text |
When present, the requiredness of the field is only evaluated when a button in the same validation group is pressed. The value for this parameter cannot contain spaces. For example, |
Accessibility Text |
|
Text |
Additional text to be announced by screen readers. Used only for accessibility; produces no visible change. |
Visibility |
|
Boolean |
Determines whether the component is displayed on the interface. When set to false, the component is hidden and is not evaluated. Default: true. |
Show Record Links |
|
Boolean |
Determines whether selected records display links to their summary views. Default: true. |
[Not Available]
token is displayed for any invalid identifiers in the selected records array.Interface components that use a record type as the data source are known as records-powered components.
Records-powered components can display a maximum of 5,000 rows. As a best practice, you should not display all 5,000 rows in a component since it may impact performance.
If you want to use a record picker with a service-backed record type, it should work as expected, without the need to change your record definition. But, in case something is not working as desired, here are a few notes on how the record picker works and how you can tweak your record design to optimize for a record picker.
If this picker does not meet your needs, use a custom picker.
Record type object references are specific to each environment. If you copy and paste these examples into an interface, they will not evaluate. Use them as a reference only.
1
2
3
4
5
6
7
8
9
10
11
12
a!localVariables(
local!storedRecord,
a!pickerFieldRecords(
label: "Choose an Employee Record",
/* For the "recordType" parameter below, replace the record type reference (recordType!Employee)
* with a valid record type reference in your environment.
*/
recordType: recordType!Employee,
value: local!storedRecord,
saveInto: local!storedRecord
)
)
Displays the following:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
a!localVariables(
local!storedRecord,
a!pickerFieldRecords(
label: "Choose an Employee Record",
/* For the "recordType" parameter below, replace the record type reference (recordType!Employee)
* with a valid record type reference in your environment.
*/
recordType: recordType!Employee,
filters: a!queryLogicalExpression(
operator: "AND",
filters: {
a!queryFilter(
field: recordType!Employee.fields.department,
operator: "=",
value: "Engineering"
),
a!queryFilter(
field: recordType!Employee.fields.startDate,
operator: ">",
value: date(2022, 1, 1)
)
}
),
value: local!storedRecord,
saveInto: local!storedRecord
)
)
Displays the following:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
a!localVariables(
local!storedRecord,
a!pickerFieldRecords(
label: "Choose a Case Priority",
/* For the "recordType" parameter below, replace the record type reference (recordType!Priority)
* with a valid record type reference in your environment.
*/
recordType: recordType!Priority,
value: local!storedRecord,
saveInto: local!storedRecord,
/* Since the Priority record type only contains reference data (the different case priority levels),
* we can hide the record links to prevent users from navigating to their summary views.
*/
showRecordLinks: false,
)
)
Displays the following:
Feature | Compatibility | Note |
---|---|---|
Portals | Incompatible | |
Offline Mobile | Incompatible | |
Sync-Time Custom Record Fields | Incompatible | |
Real-Time Custom Record Fields | Incompatible | Custom record fields that evaluate in real time must be configured using one or more Custom Field functions. |
Process Reports | Incompatible | Cannot be used to configure a process report. |
Process Events | Incompatible | Cannot be used to configure a process event node, such as a start event or timer event. |
There are older versions of this interface component. You can identify older versions by looking at the name to see if there is a version suffix. If you are using an old version, be sure to refer to the corresponding documentation from the list below.
Old Versions | Reason for Update |
---|---|
a!pickerFieldRecords_20r2 | Supports updated record types that use record type field references. |
a!pickerFieldRecords_22r1 | Updated the filters parameter so it can now accept a single logical expression or a list of query filters to determine which records appear in the picker |
To learn more about how Appian handles this kind of versioning, see the Function and Component Versions page.
Record Picker Component