0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FileMakerで工事契約情報を管理する(3)

Posted at

目的

新着確認機能の作成。
現在勤務する会社では、工事を契約すると報告書を紙で回覧しています。ファイルメーカーを使用すればデータを共有することができ紙の回覧をなくすことができます。
しかし、回覧をなくすと、いつ新規契約があったかが分からないという人たちが出てくると思われます。そこで今回は新規で契約した情報がわかるようにします。

環境

windows10(windows7からのアップグレード)
FileMaker 16 pro

サンプルファイル

0.前提条件

新規に金額工期情報が登録された場合のみ対応しています。
*情報が変更された場合には対応していません。

作成手順

1.ユーザー、テーブル、フィールドの作成

1-1.ユーザーの作成

自分が作成したレコードは新着確認の必要がないのでそのためユーザーを必要な数だけ作成します。
下記のように2つユーザーを作成します。
名前:admin、パスワード:admin
名前:user1、 パスワード:user1

1-2.契約新着確認テーブル作成

ユーザーが契約情報を確認したかを保存するテーブル作成します。フィールドは画像の通りです。
1.PNG

1-3.新着確認レイアウトを作成する。

オカレンスは「TO_01a1_工事台帳_契約新着確認情報」

1-4.金額工期情報テーブルにg_ユーザー名フィールドを追加

1-5.ユーティリティテーブルにg_is_layout_enter_契約情報一覧フィールドを追加

初回起動時に契約情報一覧を表示した場合には、自分以外が作成したレコードの未確認情報だけを表示したいので条件分岐のためのフラグとして使用します。

2.オカレンスの追加

2-1.契約新着確認オカレンスの作成とリレーション設定

画像のように設定します。

2.PNG

3.PNG

3.スクリプトの作成

3-1.initializeを編集

上記で追加したg_ユーザー名フィールドにアカウント名を設定します。
また、g_is_layout_enter_契約情報一覧フィールドを初期化します。

3-2.契約情報一覧_詳細表示スクリプトを追加する。

詳細はファイル確認お願いします。

3-3.LayoutTriggerスクリプトを追加する。

詳細はファイル確認お願いします。

4.レイアウト編集

4-1.新着情報かわかるように目印を配置する。

非表示の条件として下記のように設定します。

TO_01a_工事台帳_金額工期_金額工期情報::g_ユーザー名 = TO_01a1_工事台帳_契約新着確認情報::作成者 or
TO_01a_工事台帳_金額工期_金額工期情報::g_ユーザー名 = TO_01a_工事台帳_金額工期_金額工期情報::作成者

5.全体の流れ

詳細はファイルを見た方が分かりやすいと思いますので、動作の流れをざっくりまとめます。

1.起動時にアカウント名をグローバルフィールドに保存
2.契約情報一覧を初めて表示する際に、自分が新着確認したレコード以外 かつ 自分が作成したレコード以外を検索して未確認情報のみを表示する。
3.契約情報一覧から未確認情報をクリックすると、新着情報テーブルにアカウント名と金額工期情報IDを登録して新着確認をし、工事の詳細を表示する。
*契約情報一覧から工事の詳細を表示したレコードのみを対象として処理を行っているので、詳細表示した状態でレコード送りしても新着確認はされません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?