2025/01/02

作ってみよう:#15)スマート名刺管理 - アプリの器を準備

Nomad モバイル対応の前に、まずは通常のノーツアプリとして作成します。

機能は順次作成するので、今回はアプリの大枠を作成します。すべての手順や設定を書くと長くなるので、機能的に影響のない部分やデザイン的な部分は割愛しています。ご了承ください。


アプリケーションの作成

サーバ上に新規で空のアプリケーションを作成します。

ACL の画面を開いて [Admin] ロールを定義し、自分自身に [Admin] ロールを付与します。


名刺管理フォームの作成

まずは、メインの名刺管理フォームを作成します。

フォーム名 01.名刺管理
別名 fNameCard
ウィンドウ
タイトル
@If(@IsNewDoc; "新規作成"; Name + " 様")

作成するフィールドは次の通りです。


◇ 管理者([Admin] ロール)セクション

フォームにセクションを作成して、その中に管理用のフィールドを作成します。

項目 フィールド名 種類 補足
ステータス Status テキスト 編集可能 0 = 下書き(初期値)
3 = AI 問い合わせ完了

セクションの非表示式で [Admin] ロールを持っている人のみ表示させます。

!(
   @IsMember("[Admin]"; @UserRoles)
)

また、セクションは初期状態を閉じておきましょう。

これだけでロールを持たないユーザには、セクション丸ごと非表示にできます。複数のフィールドをまとめて非表示にできるので、メンテナンス性が上がり、見せたくないフィールドが見えてしまうバグが削減できます。


◇ [登録情報]タブ

タブ形式の表の 1 行目です。

項目 フィールド名 種類 補足
名刺交換日 ExchangeDate 日付 編集可能
メモ Memo テキスト
会社名 CompanyName_Full
法人格なし CompanyName
カナ CompanyName_Kn
氏名 Name
カナ Name_Kn
英字 Name_En
所属 Dept
役職・肩書 Role
郵便番号 Zip
住所 Address
電話番号 Tel
携帯番号 Mobile
Fax番号 Fax
メール eMail
URL URL

なお、このタブは Status が 3 以上の時だけ表示するように設定します。

xStatus := @TextToNumber(Status);
xStatus := @If(@IsError(xStatus); 0; xStatus);
!(xStatus >= 3)


◇ [名刺画像]タブ

項目 フィールド名 種類 補足
Body リッチテキスト
ライト
編集可能 写真、画像


◇ アクションボタン

フォームのアクションボタンは次の通りです。

ボタン名 Click 補足
閉じる @Command([FileCloseWindow])
編集 @Command([EditDocument]) 編集時非表示
保存 @Command([FileSave]) 読み込み時非表示


ビューの作成

次にビューを作成します。

ビュー名 00.下書き
別名 vDraft
選択式 SELECT Form = "fNameCard"


◇ 列

仮のビューなので、列は 1 列のみとします。

列名 列の値
最終更新日 シンプルアクション - 最終更新日


◇ アクションボタン

テストに使用するためのボタンを作成します。

ボタン名 Click 補足
閉じる @Command([FileCloseWindow])
新規作成 @Command([Compose]; "fNameCard")


フレームセットの準備

アプリとしての骨子となる、フレームセットと関連する設計要素を作成します。


◇ アウトライン

新規でアウトラインを作成し、先ほど作成したビューを指定したエントリを[管理]の下に配置します。

名前 olMain

[管理]エントリは、セクションの非表示式と同じ設定をして、[Admin] ロールを持っている人のみ表示させます。

!(
   @IsMember("[Admin]"; @UserRoles)
)


◇ メニューページ

新規でページを作成します。メニューから[作成]-[埋め込み設計要素]-[アウトライン]で、先ほどのアウトラインを呼び出します。

名前 pMenu_Main


埋め込みアウトラインのデザインは、お好みに合わせて設定してください。


◇ タイトルページ

フレームセットのタイトルに使用するページを追加します。

名前 pTitle

上図では、計算結果テキストを使って、@DbTitle でアプリケーション名を表示しています。なお、このページもアプリの機能には影響を与えないので、適当に設定してください。


◇ フレームセット

最後に、3 つにフレーム分けされたフレームセットを作成します。

名前 fsMain
タイトル @DbTitle

フレーム 名前 内容 補足
frmHeader pTitle ページ
frmMenu pMenu_Main ページ デフォルトターゲットは frmView
frmView 00.下書き ビュー


起動設定と確認

データベースのプロパティを開き、作成したフレームを初期表示するように設定します。

ここまでできたら、アプリをノーツで開き、動作確認します。フレームセットが表示され、[新規作成] ボタンでフォームが開けば OK です。


前回 作ってみよう 次回


0 件のコメント:

コメントを投稿