getQuestionValue( )

指定された項目パスの単一の質問値を返します。項目パスはパス全体であり、visitIdformId、および 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);