Home / ... / Deluge 文 / データアクセス / レコードの取得 - Fetch Records

レコードの取得 - Fetch Records


Deluge 文>データアクセス>レコードの取得(Fetch Records)



解説

フォームは、Zoho Creator 内にデータを有する構造体です。
フォームデータは、リレーショナルデータベースに保存され、
Deluge スクリプトは、これらのデータへのアクセスのために、集合変数 と呼ばれる簡単な wrapper (プログラムの返り値を別のプログラムに渡すためのプログラム)を提供します。

データベース内へのフォームデータの保存前に実行される、送信時(on submit) スクリプトとは違い、 完了時(on success)とユーザ入力時(on user input) アクションは、保存されたデータ上で実行されます。
データへのアクセスには、集合変数が必要になります。集合変数は、別フォームからの取得(参照)した1つ以上のレコードを持ちます。

今、送信/保存 されたフィールド値へアクセスするには、Deluge スクリプトが、自動的に input と呼ばれる変数を初期化し、完了時(on success)とユーザ入力時(on user input)関数に渡します。
今、送信/保存 されているフィールド値にアクセスするには、渡された
'input' 変数を利用する必要があります。

 

構文

<フォーム変数> = <フォーム名>[基準];

ここで、

  • フォーム変数- フォームデータを含する、集合変数の名前

  • フォーム名 - 参照データを持つフォームの名前

  • 基準の式- 値を導く、基準式

 

使用例① - フリー スクリプトを利用する場合

ここでは、問題管理アプリケーション というサンプルアプリケーションをご紹介します。別フォームからのデータが、取得・利用される様子を示しています。
このアプリには、2つのフォームがあります。

  • フォーム team_member には、順に、名前とメールアドレスという2つのフィールドがあります。

form team_member
{
name
(
type = text
)
mailid
(
type = email
)
}
  • 2つ目のフォーム post_issue には、id、issue_title、description、submitted_by、submitted_date、priority、assigned_to、status というフィールドがあります。

form post_issue
{
id
(
type = number
)
issue_title description
(
type = textarea
)

submitted_by

submitted_date
(
type = date
)
priority
(
type = radiobuttons
values = {v.high, high, medium, low}
)
assigned_to
(
type = picklist
values = team_member.name
)
status
(
type = radiobutton
values = {open, in progress, closed, suspended}
on user input
{
tm = team_member[name == input.assigned_to];
sendmail
[
To : tm.mailid
Subject : "status of the issue " + input.id + " modified to " + input.status
Message : input.description
]
}
)
}

issue (問題)のステータスが修正されると、イシューが割り振られているチームメンバーに、issue description (問題の内容)の書かれたメールが送信されます。

 

コードの説明

post_issue フォームには、issue (問題)の詳細があります。フィールドの1つは、team_member フォームからのチームメンバー名の参照です。
チームメンバーの
詳細は、team_member フォームにあります。

両フォーム間には参照フィールドがあり、
両フォームは関連しています
team_member フォームから、
post_issue フォームの assigned_to フィールドで入力されたメンバー名に対して、チームメンバーの詳細を取得(参照)することが可能です。


フォーム内のフィールドは、ビューにて列として参照されます。
input というキーワードに注意してください。
ビュー内のすべての列は、
input というキーワードを利用して、参照されなければなりません。
ここで、Deluge スクリプトが、自動で
'input' とよばれるビュー変数を初期化します。

 

tm = team_member [name == input.assigned_to];

 

ここでは、tm は、team_member ビューで、特定のissue (問題)が割り当てられたチームメンバーに対応するレコードを持ちます。

on user input
{
tm = team_member[name == input.assigned_to];
sendmail
[
To : tm.mailid
Subject : "status of the issue " + input.id + " modified to " + input.status
Message : input.description
]
}

 

ユーザは、tm ビューを利用したチームメンバーフォームに関する全データにアクセスできます。

tm.mailid - チームメンバーのメールアドレス
input.status -
issue (問題)のステータス
input.description -
issue (問題)の説明

 

注意: フォーム内のフィールドは、ビュー内で列として参照されます。
     ビュー内の全列は、input キーワードを利用して、参照されなければなりません。
Deluge スクリプトが、'input' と呼ばれるビュー変数を初期化します。



使用例② - スクリプトビルダーを利用する場合

詳細は、Deluge 文>データアクセス>レコードの更新(Update Records)>使用例② - スクリプトビルダーを利用する場合 をご参照下さい。

 


 


    Post a comment

    Your Name or E-mail ID (mandatory)

     

    Note: Your comment will be published after approval of the owner.




     RSS of this page