getQuestionValue( )
指定された項目パスの単一の質問値を返します。項目パスはパス全体であり、visitId、formId、および itemIdの値を含む必要があります。この関数は、繰返しフォームとフラット・フォームの両方で質問から値をフェッチします。
「すべての訪問」は、変数定義では使用できません。1つの関数コールで繰返しフォーム・インスタンスから複数の値をフェッチする場合は、getRFValues( )関数を使用します。
ノート:
このルールは訪問開始日項目をサポートしていません。
これは集計関数であり、ターゲットが繰返しフォーム上にある場合は、各フォーム・インスタンスに対してルールが実行されます。
構文
getQuestionValue('ruleVariable', eventInstanceNumber, formInstanceNumber, repeatFormNumber)
パラメータ
- ruleVariable
-
変数(ルール・エディタから)。
- eventInstanceNumber
-
イベント インスタンス番号/サイクル インスタンス番号(オプション)。繰り返さない訪問を参照するには、空の文字列を渡します。
- formInstanceNumber
-
フォーム・インスタンス番号(オプション)。繰り返さないフォームを参照するには、空の文字列を渡します。
- repeatFormNumber
-
フォーム番号(オプション)を繰り返して、2つのセクション・フォームのアイテムを参照します。
ノート:
オプションのパラメータがない場合、インスタンス番号の現在の値が使用されます。
戻り値
質問値。値がない場合はnull。
-
日付:変数が部分的な日付である場合、または変数が完全な日付である場合、返される変数値はC1Dateオブジェクトになります。
ノート:
日付アイテムを使用する場合は、nullチェックを含める必要があります。詳細は、例を参照してください。
-
オプションのパラメータが指定されていない場合、イベント インスタンス番号とフォーム インスタンス番号はルール ターゲット コンテキストから取得されます。
-
変数が選択コントロール(チェックボックス、ラジオまたはドロップダウン)の場合、返される変数値はJSON形式の文字列です(
"[{\"value\":\"3\",\"label\":\"TestLabel\"}]"
)。これは、JSON.parse
またはヘルパー・ファンクションparseChoice
を使用して解析できます。parseChoice(result))
JSON.parse(result))
例3-95 2セクション・フォームでのgetQuestionValueの使用
2セクション形式の表の行内の項目にgetQuestionValueを使用するには、構文は次のとおりです。
getQuestionValue('ruleVariable', eventInstanceNumber, repeatNumber, formInstanceNumber)
// Get a value from an item in a flat form
return (getQuestionValue('text1');
// Get a value from an item in repeating form instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', '', 1);
// Get a value from a flat form in unscheduled visit instance #1
// Pass an empty string to eventInstance
return (getQuestionValue('text1', 1, '');
// Get a date value from a flat form
var res = getQuestionValue('dt1');
if(res !== null) {
return res.getFullYear();
} else {
// do nothing
return;
}
//In a 2-section form, get a value from Form 2, Table Row 3:
return getQuestionValue('v2', '', 3, 2);
親トピック: 複数の訪問スケジュールおよび循環訪問機能