どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得

G-7
2014年11月26日 15:30-16:30
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
∼ FileMaker Drill Bookより
株式会社 DBPowers
代表取締役 有賀 啓之
有賀 啓之(あるが ひろゆき)
株式会社 DBPowers 代表取締役
FileMaker
FileMaker
FileMaker
FileMaker
FileMaker
Business Alliance Associate / Trainer
8.9.10.11.12.13 Certified Developer
Excellence Award winners for 2007
MadDog Award winner for 2010
Japan Excellence Award 2013 PR Driver of the Year
実践ビジネス活用テクニック(BNN)
FileMakerAPI for PHPコンプリートガイド(ASCII)
FileMaker Drill Book 実践編 初級
ドキュメント管理
FDB p345∼
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
このセッションで学べること
ファイル構造を決める思考方法∼ リレーションの構成・作成
スクリプトの作成手順
スクリプトトリガーの利用法
レコードの精度を上げる方法
変数の利用
意図しないレコード修正の制御
FDB-実践編(初級) 「ドキュメント管理」でのポイント
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
このセッションの進め方
FDB 実践編(初級)「ドキュメント管理」の頁進行に合わせて、本誌の
内容を補填する形で進めていきます。
お手元にFDBが有る方は参照可能です。
本誌上のサンプル画像等を利用します。
本誌に記載していない内容は★マークとともに補填コメントしています
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
ー最も重要な部分ー
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
管理したいドキュメントがある
そのドキュメントは作成元(相手がある)
それぞれのドキュメントには関連(関与)対象者が存在する
作成されるレコードが作成される単位を確認します(テーブルを作成)
➡
p343 ∼ 344
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
ファイル名と初期テーブル名を判別できるように
✴
➡
p343/図1
ファイル作成「ドキュメント管理」
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
ファイル名と初期テーブル名を判別できるように
ファイル名
テーブルオカレンス名
テーブル名
レイアウト名
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
ファイル名と初期テーブル名を判別できるように
レイアウト名
テーブルオカレンス名
レイアウト名
テーブルオカレンス名
ファイル名
テーブルオカレンス名
テーブルオカレンス名
テーブルオカレンス名
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
ファイル名と初期テーブル名を判別できるように
レイアウト名
テーブルオカレンス名
レイアウト名
テーブルオカレンス名
ファイル名
テーブルオカレンス名
テーブルオカレンス名
テーブルオカレンス名
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
ファイル名と初期テーブル名を判別できるように
それぞれのテーブルには最低限必要なフィールドは設定する
id/作成日時/修正日時:HouseKeepingField
➡
p343/図1
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
★
HouseKeepingField
★
あとになっても情報の整理が
つくようなフィールド群
ID、作成日時、変更日時
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
★
HouseKeepingField( あとになっても情報の整理がつくようなフィールド群: ID、作成日時、変更日時)
フィールドオプションを
利用して必要な情報の付
与を自動で実行
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
★
ID:レコード群の中から これ と
特定できる情報
★
★
★
★
ID:レコード群の中から これ と特定できる情報
> 処理対象のIDを持つ
> 処理対象のIDを持つレコードが保存されるテーブル
ドキュメント
送信元
宛先
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
★
★
★
ドキュメントテーブル:各ドキュメントの情報を格納(主たるidは特定のドキュメントを表示)
送信元 テーブル:送信元の情報を格納 (主たるidは送信元情報を表示)
宛先 テーブル:各宛先の情報を格納 (主たるidは宛先情報を表示)
★
★
レコードの作成、修正されるタイミングを確認
フィールドで作成するべきか、レコードで作成するべきかを確認
フィールドの数は(50∼100をひとつの目安に)
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
★
ドキュメントテーブル
ドキュメントレコード
★
宛先テーブル
宛先レコード
ID=atesaki1
ID=doc1
ID=doc2
ID=doc3
ID=atesaki2
ID=atesaki3
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ファイル構造を決める思考方法∼ リレーションの構成・作成
★
★
ドキュメントテーブル
宛先テーブル
宛先レコード
ID=atesaki1
ドキュメントレコード
ID=doc1
関連ID(外部キー)
宛先id
ID=doc2
ID=doc3
宛先id
宛先id
ID=atesaki2
ID=atesaki3
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
個々のドキュメントを管理するレイアウトを作成
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
個々のドキュメントを管理するレイアウトを作成。(p344∼)
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
個々のドキュメントを管理するレイアウトを作成。(p344∼)
★ どこの情報を表示するか
この情報(名前)はどこで
管理されているか
レイアウトはどこにある?
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
個々のドキュメントを管理するレイアウトを作成。(p344∼)
★ FileMaker は基本機能として、
レイアウトを使ってデータを扱う
レイアウトがどこにあるのか(リレ
ーションシップグラフ上)を意識す
ることは非常に大事
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
個々のドキュメントを管理するレイアウトを作成。(p344∼)
★ フィールドピッカーを利用することで、思考が中断されずに追加フィー
ルド定義、リレーション定義などが実施可能になっています(ver13)
ド
ピ
ッ
カ
ー
作成済みフィールドを選択して、レイアウト上の適切な場所に配置。
フ
ィ
ー
ル
✴
レイアウト間で統一感のある配置を実現したい
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
個々のドキュメントを管理するレイアウト(フォーム)を作成。(p344∼)
レイアウト間で統一感のある配置を実現。
ガイドを利用
共有ガイドを利用
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ドキュメントをリスト管理するレイアウト(リスト)を作成。(p344∼)
ドキュメントの宛先毎にまとめて表示
特定フィールド
毎にまとめて表示
=宛先毎にまとめて表示
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ドキュメントをリスト管理するレイアウト(リスト)を作成。(p344∼)
ドキュメントの宛先(特定フィールド)毎にまとめて表示
対象(特定)フィールド
を表示する部分(パート)
配置
パート を理解
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ドキュメントをリスト管理するレイアウト(リスト)を作成。(p344∼)
ドキュメントの宛先(特定フィールド)毎にまとめて表示
対象(特定)フィールドを
表示する部分(パート)
を配置
対象(特定)フィールド
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
ドキュメントをリスト管理するレイアウト(リスト)を作成。(p344∼)
ドキュメントの宛先(特定フィールド)毎にまとめて表示
対象(特定)フィールドを表示
する部分(パート)を配置
idに紐付いた先の情報を表示
(リレーション先)
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
リレーションを定義(p346∼)
紐付いた先の情報を表示管理
テーブル(宛先)に格納されている
社名を表示するように関係性を指定
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
リレーションを定義(p346∼)
紐付いた先の情報を表示管理
リンク(リレーション)先相手のID
を選択して、名称のみを表示
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
やりとりの履歴を管理する機能を追加
特定の対象(社特定の対象(社/者)との間
でのやりとりが確認できる機能
特定の対象
(レコード)
A社
ドキュメント-1
ドキュメント-2
ドキュメント-3
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
やりとりの履歴を管理する機能を追加
特定の対象(社/者/書類)との間でのやりと
り(関連レコード)履歴がレイアウト上で確
認できる機能
特定の対象
(レコード)
A社
ドキュメント-1
ドキュメント-2
ポータル
特定の対象
(レコード)
A社
ポータルオブジェクト
ドキュメント-1
ドキュメント-2
ドキュメント-3
ドキュメント-3
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
やりとりの履歴を管理する機能を追加
特定の対象(社/者/書類)との間でのやりと
り(関連レコード)履歴がレイアウト上で確
認できる機能
特定の対象
(レコード)
A社
ドキュメント-1
ドキュメント-2
ドキュメント-3
ポータル
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
やりとりの履歴を管理する機能を追加
特定の対象(社/者/書類)との間でのやりと
り(関連レコード)履歴がレイアウト上で確
認できる機能
特定の対象
(レコード)
ドキュメント-1
ドキュメント-2
ポータル
特定の対象
(レコード)
ドキュメント
ドキュメント-1
ドキュメント-2
ドキュメント
ドキュメント-3
A社に関連する
ドキュメント
ポータルオブジェクト
ドキュメント-3
A社に関連する
ドキュメント
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
やりとりの履歴を管理する機能を追加
特定の対象(社/者/書類)との間でのやりと
り(関連レコード)履歴がレイアウト上で確
認できる機能
特定の対象
(レコード)
ドキュメント-1
ドキュメント-2
ドキュメント
ドキュメント-3
A社に関連する
ドキュメント
ポータル
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
やりとりの履歴を管理する機能を追加
特定の対象(社/者/書類)との間でのやりと
り(関連レコード)履歴がレイアウト上で確
認できる機能
特定の対象
(レコード)
_id_宛先_fk
ドキュメント
ドキュメント-1
_id_宛先_fk
ドキュメント-2
_id_宛先_fk
ドキュメント-3
_id_宛先_fk
A社に関連する
ドキュメント
自己リレ­ション
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
やりとりの履歴を管理する機能を追加
特定の対象(社/者/書類)との間でのやりと
り(関連レコード)履歴がレイアウト上で確
認できる機能
特定の対象
(レコード)
_id_宛先_fk
ドキュメント­3
自己リレ­ション
ドキュメント-1
_id_宛先_fk
ドキュメント-2
_id_宛先_fk
ドキュメント-3
_id_宛先_fk
A社に関連する
ドキュメント
現在表示中
ポータル上の類似情報に区別
可能な情報を表示
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
やりとりの履歴を管理する機能を追加
特定の対象(社/者/書類)との間でのやりと
り(関連レコード)履歴がレイアウト上で確
認できる機能
特定の対象
(レコード)
_id_宛先_fk
ドキュメント­3
ドキュメント-1
_id_宛先_fk
ドキュメント-2
_id_宛先_fk
ドキュメント-3
_id_宛先_fk
A社に関連する
ドキュメント
現在表示中
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
スクリプト(作成・ボタン設定・引数)
ボタンに設定可能なオリジナルのスクリプトを記述する理由
: 様々なエラー処理を組み込んだり、将来の編集、改修時に効率的に再利用するため
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
スクリプト(作成・ボタン設定・引数)
ボタンに直接単機能のスクリプトステップを設定した場合
Good:
難易度は高くなく、設定も楽
Bad:
間違っておされてしまった場合に、その間違い
を修正するにはレコードを削除することになる
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
スクリプト(作成・ボタン設定・引数)
ボタンにオリジナルのスクリプトとしてを設定した場合
Good:
様々なエラー処理や、分岐処理など自分で追加できることになる
FDB >>
ボタンのクリックの有効性を確認するとともに
登録、削除といった処理をひとつのスクリプトで実現
将来の視認性を向上
Bad:
スクリプトを記述する、という作業が増える
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
スクリプト(作成・ボタン設定・引数)
ボタンにオリジナルのスクリプトとしてを設定した場合
関数[Get(スクリプト引数)]
と
変数[$]
を利用して、
分岐処理[if] [endif] を実行
(p349)
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
スクリプトトリガーを利用したデータの精度向上
件名フィールドの中に不本意に入ってし
まう「改行コード」を排除
//置き換えの関数を利用: Substitute ( テキスト ; 検索テキスト ; 置換テキスト )
//対象フィールド:件名
//対象テキスト:" "
//置換テキスト:""
Substitute ( ドキュメント::件名 ; " " ;"" )
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
スクリプトトリガーを利用したデータの精度向上
★ 精度向上処理をどのタイミングで実施するかは考える必要がある対象
フィールドへの入力作業のあとで精度向上処理:
処理の実施タイミング
フィールドオプションで実行
レコードコミット等で実行
などなど
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
不用意なレコード変更を制御する方法
FIleMakerの基本機能だけを利用して簡単なレコード保
護方法を実現してみる
step1 2種類の権限を用意
step2 保護モードの権限を作成
保護確認用フィールドの値で権限を制限
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
不用意なレコード変更を制御する方法
FIleMakerの基本機能だけを利用して簡単なレコード保
護方法を実現してみる
step3 保護モードのユーザーに保護権限を設定
step4 保護状態を変更できるスクリプトを作成
管理者権限で実行
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
✴
FDB-実践編(初級) 「ドキュメント管理」でのポイント
データの流れに注目する
名前のつけ方には注意する
スクリプトの作成手順:一筆書きで考える処理
スクリプトトリガーの利用法:事前にスクリプトを作成しておく
レコードの精度を上げる方法:実行場所がポイント
変数の利用:スクリプト引数などを挿入
意図しないレコード修正の制御:基本機能で実現
どんなドキュメントも FileMaker ソフトウェアで一元管理する方法を習得
This Session will have update .....