Reading Time: 1 minutes


これまでに、Zoho Creator に対するユーザからのご要望で多くいただいていたものに、サブフォーム機能に関するものがあります。
サブフォームは、開発チームとしても優先度の高い課題であり、近い将来、エンハンスを予定しています。
現在においての代替策として、Deluge スクリプトを利用して、サブフォーム(メインフォーム内でサブフォームへアクセス可能な)機能を実現したサンプルアプリケーションをご紹介したいと思います。 

会議管理アプリケーション

Meeting Tracker application(会議管理アプリケーション) は、次の入力フォームから構成されています。:

1. 会議の追加 – マスターフォームでは、下記のように、各会議に関するデータを登録します。

2. 会議への参加者の追加 –  サブフォームでは、各会議への参加者を登録します。このサブフォームは、下図のように、(参加者の追加)ボタンを選択することで、 「Meetings(会議ビュー)」から実行することができます。

  • 各会議への参加者詳細は、下図のように、 (参加者の表示)ボタンを選択することによって、表示することができます。



会議ビューを、下部に組み込んでいます。「Add Attendance(参加者の追加)」ボタンのクリックで参加者詳細を追加したり、「View Attendance(参加者の表示)」ボタンのクリックで参加者詳細を確認したりと、どうぞ実際に試してみてください。




「参加者の追加」と「参加者の表示」のカスタムアクションボタンの設定手順

会議ビュー内での 「Add Attendance(参加者の追加)」「View Attendance(参加者の表示)」のカスタムボタンの作成方法をご紹介します。これら2つのボタンは、カスタムアクションボタンと呼びます。「カスタムアクション」は、Zoho Creator ビューに組み込まれた機能で、これにより、ユーザはビュー内で選択したレコードに対して、特定のユーザ定義の 関数 を実行することができます。


のアプリケーションでは、「Add Attendence(参加者の追加)」カスタムアクションによって、「Add Meeting
Attendence Form(会議参加者の追加用フォーム)」を表示する関数が実行されます。同様に、「View
Attendance(参加者の表示)」カスタムアクションは、Attendance view(参加者ビュー)」を表示する関数を実行します。


a. 関数の定義:

1. 編集モードの スクリプト -> 関数 タブ を選択し、新規ボタンを選択して、新規関数を定義します。

2. 関数
ダイアログにて、関数名、ネームスペースと、関数に渡される返却型、要素を入力します。このサンプルでは、「addattendance」という関数を定
義し、ビュー内の選択したレコードに対して「Add
Attendance(参加者の追加)」フォームを表示する関数を定義します。それにより、返却型は void と指定し、レコード id が要素として関数に渡されます。

3. 完了 をクリックして関数を追加します。

4. スクリプトタブに戻り、スクリプトエディタにて、Open URL のDeluge タスクをドラッグ&ドロップ操作で、エディタエリアに追加します。OpenUrl タスクは、指定したURLへフォームをリダイレクトします。アプリケーションに与えられた URL 文字列を入力します。URL 文字列は、下記のように設定されます。

(((((“http://creator.zoho.com/”;;;;; + zoho.adminuser) + “/”) + zoho.appname) + “/form-embed/Add_Meeting_Attendance/meetingid=”) + input.id) + “”,

– Add_Meeting_Attendance  – 表示するフォーム名
– meetingid  – Add_Meeting_Attendance フォーム内のフィールド名
– input.idid は関数の要素で、選択した レコード ID の値を渡し、meetingid 内で更新します。

5. スクリプトの保存 をクリックし、変更を反映します。

 

    b. 「addattendance」関数を会議ビューのカスタムアクションとして設定する

1. ビュー -> 会議ビュー を選択し、左の作業ウィンドウから カスタムアクション をクリックします。
2. アクション名、アクションの表示タイプ、設定する関数を指定します。
3. 完了 をクリックして、変更を反映します。


上記の設定により、会議ビュー内の各レコードに対して、「Add Attendance(参加者の追加)」カスタムアクションを追加することができました。ボタンをクリックすると、選択した会議に対して「Add Meeting Attendance form(会議参加者の追加用フォーム)」が表示されます。

(各会議への参加者を表示するための View Attandance(参加者の表示) カスタムアクションの設定方法も、以下と同様の手順です。)

このアプリケーションに追加された関数とスクリプトを確認には、下記の手順を行ってください。

  • 画面右上にある 追加アクション -> アプリケーションのコピー リンクを選択して、アプリケーションを複製します。アプリケーションは、ご自身のアカウントに複製され、あなたのホーム画面で「Copy of Meeting Tracker(会議管理アプリケーションのコピー)」として確認することができます。
  • アプリケーションの編集 ボタンを選択し、 スクリプト -> 関数 タブ をクリックし、アプリケーションに追加された関数を表示します。
  • スクリプト -> フォーム タブ を選択して、ドロップダウンボックスから、「Add Meeting Attendance from(会議参加者の追加用フォーム)」を選択します。このフォームには、Pick Meeting リストボックス内で選択された会議名を表示するために、レコードの追加時 -> 読込時 スクリプトが追加されています。

関連ヘルプのリンク(英語):

Help Doc -> Deluge Reference -> Functions and Custom Action
Help Doc -> Deluge Reference -> Open URL



■Zoho Creator サービスページ:http://zoho.jp/service/zoho-creator.html

なお、このブログは、本社(AdventNet Inc.)のZohoブログを翻訳・加筆したものです。
元の
記事(2009年2月10日投稿)はこちら(翻訳:清水)

  1. 上田

    4番の手順の箇所でURLに日本語の引数を渡すようにすると、ポップアップウィンドウで表示した際に当該項目が文字化けしてしまいますが、これの回避方法はございますでしょうか