第40話 カスタムAppへの機能追加

エヌ・ケイ・カスタマイズの泉です。

今回は、前回まで開発していた「タスク管理」のカスタムAppに、ファイルを添付できる機能を追加したいと思います。

「タスク管理」の業務フローを考えたとき、タスクの実行によって、何かしらのアウトプットが発生することが予想できます。
電話対応では対応履歴、客先訪問であれば訪問履歴、打ち合わせであれば議事録。

これらは、「タスク」テーブルに「アウトプット」とか「結果」とかいったフィールドを用意することで、対応できそうです。
しかし、アウトプットが「打ち合わせ資料」や「見積資料」、「お客様受領資料」などファイルだった場合、どうでしょう?
そのファイルが1つであれば、オブジェクトタイプの「添付ファイル」フィールドを用意すればよいですが、ファイルが複数でその数が特定できない場合はどうでしょう?
フィールドオプション「データの格納」の[最大繰り返し数]を、10や20とある程度大きくとることもできますが、設定値以上の事象が発生した場合、都度、修正しなくてはいけません。。。

そこで、「リレーションシップ」を利用して、添付ファイルを別テーブルで管理します。

テーブルとリレーションシップの作成

それでは、ささっと「添付ファイル」テーブルの作成、リレーションシップを設定しましょう♪

(1) Macユーザーは「Shift + command + d」キー同時押しで、[データベースの管理]ダイアログを開き、「テーブル」タブをクリック。

(2) [テーブル名]に 添付ファイル と入力して、「作成」ボタンをクリック。

(3) 「フィルド」タブに移動して、下図の通りフィルドを追加。

(4) 「リレーションシップ」タブに移動して、「添付ファイル」のTO(テーブルオカレンス)が出来ていることを確認。

(5) 「タスク管理」TOとの間にリレーションシップを作成するためのTOを、以下の手順で作成。

  1. ダイアログ左下の[テーブルを追加]アイコンをクリック。
  2. [テーブルを指定]ウィンドウが開くので、[データソース:]は現在のファイルのままで、
    下の枠から「添付ファイル」を選択。
  3. [名前]を「タスク添付ファイル」と変更して[OK]ボタンをクリック。

(6) リレーションシップの準備ができたので、以下のフィールで2つのTOをつなげる。
タスク管理TO:主キー
タスク添付ファイルTO:タスク外部キー

(7) 「タスク詳細」レイアウトから「添付ファイル」テーブルにレコードを作成できるように設定。

  1. 「タスク管理」TO と「タスク添付ファイル」TO を繋いでいる線の真ん中にある
    □に=のマークをダブルクリックすると、[リレーションシップ編集]ダイアログが表示されます。
  2. 「タスク添付ファイル」TO 側の
    「このリレーションシップを使用して、このテーブルでのレコードの作成を許可」
    を オン にします。

(8) [リレーションシップ編集] ダイアログの「OK」ボタンをクリック、[データベースの管理] ダイアログの「OK」ボタンをクリック。作業終了。

レイアウトへの配置

前述で作成した「添付ファイル」を「タスク詳細」レイアウトに配置しましょう♪

(1) Macユーザーは、「command + L」キー同時押しでレイアウトモードに画面切り替え、「タスク詳細」レイアウトを表示。

(2) 左パネルで、「フィールド」タブをクリックし、以下の設定を行います。

  • 現在のテーブル → 「タスク添付ファイル」を選択
  • フィールド配置 → 縦
  • ラベル → 上
  • コントロールスタイル → 編集ボックス

(3) 次の2つのフィールドを選択し、マウスでレイアウト上にドラッグ&ドロップ

  • 「添付ファイル」
  • 「説明」

(4) レイアウトを保存して、Macユーザーは「command + B」キー同時押しでブラウズモードへ切り替え、作業内容を確認。作業終了。

最後に

テーブル作成〜レイアウトへの配置までを、一気に行いました。手慣れたものです♪
想定していなかった機能(テーブル)の追加が必要になった場合、

  • 最低限必要なフィールド
  • フィールドタイプ、オプション
  • 他のTOとのリレーションシップ

を考慮して作業しましょう。

ところで、、、
このままでは、最初に言っていた『添付ファイルが複数の場合』に対応できていません!!
ということで、次回は添付ファイルを複数登録できるよう、レイアウトを修正していきます。

Follow me!