ListRFInstances( )
List all instance numbers for a repeating form. You can use this helper function in your rule expression to check for instances of a specific question value in a repeating form.
This is an aggregation function. The rule is run for each form instance in the case where the target is on a repeating form.
Syntax
ListRFInstances('variable',includeDeleted)
Parameters
Note:
It is allowed to reuse variables passed into this function elsewhere in the rule expression, however you must add the variable as a parameter using single quotes.Parameter | Required/Optional | Description |
---|---|---|
variable |
Required | Item variable to search, passed in using single quotes. |
includeDeleted |
Optional | Indicates whether deleted records are included in
the output:
|
Return value
An array of repeating form instance numbers.
Examples
Example 3-55 Check for variable existence
Consider the use case in which a rule is set up to fill in the current system date in Form 1, when Item 1 in Form 1 is Yes. This rule should be re-triggered whenever the value for Item 1 in Form 2 is either entered, updated, or cleared. Each time the rule runs, it should update the current system date in Form 1.To check if a value exists in Form 2, Item 1, use the following expression:
var form2dt1=ListRFInstances(form2dt1);
Example 3-56 Raise a query if AE form instance #3 does not exist
// Raise a query if AE form instance #3 does not exist
var arrAE = ListRFInstances('onDate', 0);
return (arrAE.indexOf(2) == -1)?false:true;
Note:
In this example,.indexOf(2)
equates to the third form instance as arrays start
at position zero.
Example 3-57 Raise a query if given form instance number does not exist, using variables
// Raise a query if current form instance number does not exist
var curInst = GetCurrentRFInstance();
var arrAE = ListRFInstances('onDate', 0);
return (arrAE.indexOf(curInst) == -1)?false:true;
Parent topic: Repeating form functions