フィールド名のリストと、それらのフィールド名とそれらに格納されている値で構成される別のセットを保持するsessionScope変数を作成しました。
allFieldNamesは、すべてのフィールド名を含むスコープ変数です。
allFieldNames
[0] T0Q1
[1] T0Q2
[2] T1Q1
[3] T2Q1
[4] T3Q1
[5] T4aQ1
[6] T5Q1
[7] T6Q1
[8] T7Q1
SS値
T0Q1他社との買収・購入・合併の一環として。
T0Q2はい
T1Q1強く同意する
T2Q1同意する
T3Q1私には専門家とリソースの広範なアクティブなネットワークがあります。
T4aQ1私は時々援助を必要とします
T5Q1これらのどれも。
T6Q1妥当な範囲で
T7Q1同意する
var questions = @List(sessionScope.allFieldNames);
for( i=1; i < sessionScope.ssTotalQuestions; i++ ) {
viewScope.put("x", @Subset(@Subset(questions,i),-1));
newDoc.appendItemValue(x, viewScope.x);
}
appendItemValueは必要に応じてフィールドを作成しますが、私が抱えている問題は、一致するスコープ変数の値を取得できないことです。問題の原因はコード内のviewScope.xであることはわかっていますが、現時点ではスコープ変数を識別して参照する方法を理解できません。
参考までに、これらのフィールド名を取得するためのバックエンドフォームはありません。このフォームはオンザフライで作成され、すべてのフィールドはこのルーチンを介してフォーム上に作成され、保存されます。