フィールドのアクション - データ更新時(On update)
解説
フィールド値が修正された時にアクションを実行したい場合には、フィールドに対して、データの更新時(on update)スクリプトを利用します。
データの更新時(on update)アクションは、変更されたデータがデータベースに保存された後に実行されます。
|
注意:
- データの更新時(on update)アクションは、フィールド固有です。
- アクションは、変更がデータベースに保存された後に実行されます。
|
構文
on update { // specify deluge code to be executed }
|
使用例① - フリー スクリプトを利用する場合
フィードバックアプリケーションフォーム を例にご紹介します。
下記のサンプルでは、フィードバックのステータスが「Closed」に変更されたときに、報告者へメールが送信されるように設定しています。
form Feedback_Form { displayname = "Feedback Form" Your_Email_Address ( displayname = "Your Email Address" type = email )
Feedback_Category ( displayname = "Feedback Category" type = picklist values = {"Feature Request", "Suggestion For Improvement", "Bug Report", "Usability"} )
Comments ( type = textarea on update { if (input.Status == "Closed") { sendmail ( To : input.Your_Email_Address Subject : "The feedback you had sent has been incorporated in zohocreator" Message : "The details are as below" + "Category " + input.Feedback_Category + "" + "Comments " + input.Comments ) } } )
Status ( type = picklist values = {"Open", "In-Progress", "Closed"} )
on add { on success { sendmail ( To : input.Your_Email_Address Subject : "Your request has been registered with us" Message : input.Feedback_Category + input.Comments ) success message "Email sent to" + " " + input.Your_Email_Address; } }
} }
|
使用例② - スクリプトビルダーを利用する場合
スクリプトビルダーを利用して、上記のサンプル に Deluge コードを追加します。
フィードバックアプリケーションフォーム内で、status
フィールドの値が、"Closed"に更新されたとき、メール送信(sendmail)関数が呼び出され、送信者にメールが送信されます。
1. データ更新時(On Update)フィールドアクションの追加: Send_Feedback フォーム内の status フィールドが変更されたときに、アクションを追加するには
a. スクリプトエディターの左上に表示されたフォームのリストから、Send_Feedback フォームを選択します。
b. 下図のように、フィールドのアクション -> status -> データ更新時(On Update)を選択します。
2. If <条件> 文の追加
a. If 制御フロー文をドラッグ&ドロップで、スクリプトエディタのテキストエリアに追加します。詳細は、Deluge 文->制御フロー->条件文(If, else if, else) をご参照ください。
b. Edit(編集) をクリックして、If 条件 を入力します。
o
c. If 文の編集ダイアログが、表示されます。ここで、If 条件を設定します。
-
Input
fields(入力フィールド)のリストから Status フィールドをクリックします。
input.status というテキストが、テキストエリアに追加されます。
-
== (イコール)演算子を選択し、Status フィールドの値を "Closed" に指定します。
-
完了 をクリックして、If 条件をスクリプトエディタに追加します。

3. メールの送信(Sendmail): ここで、If 条件が満たされたときに実行する If 文 を追加しなければなりません。
このサンプルでは、status の値が"Closed" のとき、コメントの送信者にメールが送信されます。
a. メール送信昨日を追加するには、ドラッグ&ドロップで編集エリアに、 その他の機能 ->
メール送信(Sendmail)を追加します。
Edit(編集)ボタンをクリックして、フォームメール送信(Sendmail)のための From、To、Subject、 Message などのデータを指定します。
b. 編集ダイアログでは、各フィールドにデフォルト値を表示しています。
このデフォルト値を編集するには、各フィールドの右横にあるアイコン
をクリックして、必要な値を入力してください。
完了 をクリックして、スクリプトエディタに設定したスクリプトを追加します。

c. メール送信(sendmail)がスクリプトエディタに追加されました。
スクリプトの保存 をクリックして、変更を更新します。

d. 完全なスクリプトを表示するには、フォームの定義 -> アクションあり(With
Action)を選択するか、または、フリー スクリプト を選択してください。
下図のように、データ更新時(on update)スクリプトがフォームの定義に追加されました。
