フィールドのアクション->数字フィールド
FAQ - アクションスクリプト
1.入力フォームの数字フィールドに、レコード番号が1から自動で入力されるように設定するには、どうすればよいですか?
自動付番をスクリプトで設定することができます。
入力フォーム(Zoho Creator Issue List)の数字フィールド(No)に対して、既に登録されたレコードの数字フィールドの最大データよりも、1大きい値を表示するように設定を行います。
手順は次のとおりです。
編集モードの「スクリプト」タブで、対象のフォームを開きます。
まず、登録レコードのうちの数字フィールド(No)の最大値を定義します。
フォームの読込時に、「Set variable」構文を追加し、
と、maxNo という最大値を定義し、0で初期化します。
次に、登録レコードのうちの数字フィールドの最大値を、登録データから探し出すプログラムを用意します。
特定のフォームに関連したデータの集合を繰り返すためには、 「for each record 」を利用します。
(この構文の詳細は、「Deluge 文>制御フロー>フォーム内の各レコードの繰り返し- for each record in form」)
for each issueid in <フォーム名> { if (issueid.No > maxNo) { maxNo = issueid.No; } } |
ここでは、issueid という変数を定義します。これが、対象フィールド(No)の登録レコード値を表します。
対象フィールド(No)の登録レコード値の集合(issueid.No)を、最大値(MaxNo)と順に比較していき、最終的に、maxNo に全てのNoフィールドの登録値のうちの最大値が代入されるような繰り返しを設定しました。
最後に、対象フィールドに、登録データの最大値よりも1だけ大きい値を表示します。
※また、各レコードには、Zohoサービス定義のID(17桁の数字)情報も保存されています。これをビューにて表示することも可能です。
詳細は、チュートリアルをご参照ください。