概要
イベントをDayBackの「リソース」に関連付けることができます。人、機材、場所、あるいはこれらを組み合わせたものなど、スケジュールを管理する必要のあるものは何でもリソースになります。イベントを、複数のリソースに関連付けすることも可能です。
リソースは、カレンダーの「リソース」表示に列(columns)として表示されます。この画面で、イベントを「あるリソース」から「別のリソース」にドラッグすることでスケジュールを調整できます。
- 一度に7個のリソースを表示するように設定しています
- 大きいモニターで16個のリソースを表示するように設定しています
- 3日間にわたって7個のリソースを表示する、複数日のリソース表示です
自分のリソースをカレンダーに表示するには、どのようにしますか?
リソースは、カレンダーを開く度に、常に「Load Resources」スクリプトで読み込まれます。
このスクリプトは「Resources」という名前の値一覧を参照し、このリストの内容を使用可能なリソースのリストとして使います。この名前の値一覧が見つからない場合は、「hard coded list follows」(ハードコードされたリストは以下の通り)のコメントの後にある「変数を設定 ()」ステップでハードコードされたリストを使用します。サンプルのリソースに設定されているように、この計算式にリソースを入力して使用することもできます。
カレンダーには、ハードコードされたリスト通りの順番、または値一覧の順番に表示されることに注意してください。
カレンダーを自分のファイルに統合して構築する際には、自分のイベントのテーブル中のフィールドが、「Source No 1」レイアウトの「リソース」タブ上にもともとある「リソース」にすでに割り当てられている必要があります。このレイアウト上で、自分のイベントのテーブルから任意のフィールドを選んで、自分の「リソース」にすることができます。スタッフのメンバー、備品の一部、部屋など、自分のイベントテーブルに含まれるフィールドであれば何でも使用できます。
リソースの短縮表記(短縮名)を追加する
リソースの列をたくさん表示しようとする場合は、短縮したリソース名を表示するとよいでしょう。これを「Resource Short Names(リソースの短縮名)」と呼びます。「Load Resources」スクリプトで、短縮名を追加したり編集したりできます。「$$sc_ResourceShortNames」変数を編集して、短縮名をリターンで区切ったリストを含めるだけです。リストの順番が重要で、リソースのリストと同じ順番になっている必要があることに注意してください。
リソースの値一覧を変更する
値一覧を変更したら、「Upon Opening」スクリプトを実行することで変更が反映されます。
大量のリソースを管理する
非常に多くのリソースを管理する場合は、リソースを複数の別々の値一覧に分ける事をおすすめします。この操作についての詳しい説明は こちらの動画をご覧ください(英語)。
この動画は、リソースのスケジューリング全般について理解するための概要としても有用です。
Resource Scheduling in FileMaker Calendar
<div class="player-unavailable"><h1 class="message">エラーが発生しました。</h1><div class="submessage"><a href="http://www.youtube.com/watch?v=AmUrKedqOLo" target="_blank">www.youtube.com</a> での動画の視聴をお試しください。また、お使いのブラウザで JavaScript が無効になっている場合は有効にしてください。</div></div>
https://www.youtube.com/watch?v=AmUrKedqOLo
同様のテクニックについて、役に立つ記事を掲載しています:Custom sidebars for DayBack calendar
複数の日にわたるリソースのスケジューリング
アプリ内アップデートでDayBackに追加された機能で、複数の日にわたるリソースの列をいっぺんに見渡すことができます。業務の負荷のバランスをとるためにとても役立つ機能です。簡単なデモをご覧ください。
New: Multi-Day Resource Scheduling in DayBack
<div class="player-unavailable"><h1 class="message">エラーが発生しました。</h1><div class="submessage"><a href="http://www.youtube.com/watch?v=EVObC3oTU5M" target="_blank">www.youtube.com</a> での動画の視聴をお試しください。また、お使いのブラウザで JavaScript が無効になっている場合は有効にしてください。</div></div>
https://www.youtube.com/watch?v=EVObC3oTU5M
リソース「なし」の列をデフォルトで使いたい場合は、自分のDayBackに追加します。「『なし』の列」を参照してください。
1つのイベントに対して複数のリソース
イベントに対してリソースを選択する時にShift クリックして、イベントと複数のリソースを関連づけます。リソースのフィールドには、関連づけた複数のリソースはリターン区切りのリストとして書き込まれます。
スケジュール画面であるリソースの列から別のところへイベントをドラッグできます。ドラッグすると、もともとイベントのあったリソースから新しいリソースへと変更されます。イベントのその他のリソースには影響はありません。
リソースとして使いたいテーブルがある場合はどうすればいいですか?
問題ありません。カレンダーは「$$sc_ResourceList」変数からリソースを判断するので、自分のテーブルからリソースの名前とともにこの変数を生成するだけです。おそらく、自分の全リソースに対してリレーションシップが設定されているレイアウトから「List()」関数を用いるのがもっとも簡単でしょう。
この方法を使って自分のリソースを「$$sc_ResourceList」変数に割り当てたい場合は、「Load Resources」スクリプトを編集して割り当てます。そして、以下のような記述を含めます。
レイアウト切り替え [ 自分の全リソースに対してリレーションシップが設定されているレイアウト ]
変数を設定 [$$sc_ResourceList ; List ( リレーションシップ::リソース名 ) ]
レイアウト切り替え [ 元のレイアウト ]「List()」を使う代わりに、リソースのレコードをループさせることもできます。どちらにしても、リソースを「$$sc_ResourceList」と同じ順番に表示させる際には、リレーションシップをソートするか(リストを使う場合)、リソースのレコードをソートする(ループを使う場合)ことに注意してください。
SQL文で「$sc_ResourceList」変数を生成することもできます。この方法のメリットのひとつは、現在のレイアウトから離れる必要がないということです。もうひとつのメリットは、SQL文にソート順を含めることができるということです。SQLクエリに不慣れな方は、クエリを書く参考として弊社のSQLエクスプローラ(無償です)をご自由にお使いください。
リソース名の代わりにIDを使ってリソースとイベントをリンクしている場合はどうすればいいですか?
DayBackにはリソースの名前が必要ですが、IDを使っている場合にも「Create Edit Delete Event..」スクリプトを変更して、DayBackがイベントを編集する時にリソースのIDを自分のフィールド(名前に基づいて見つけます)に追加することができます。自分のファイルと統合したら、このスクリプトで使われている抽象的な記述を保持しておく必要はないことに注意してください(つまり、「フィールドを名前で設定」する必要はありません)。どのフィールドがリソースのIDのために使われているかが分かっているので、そのフィールドを設定すればいいのです。
シンプルな例を以下に掲載します:
ただし、特定のソースを扱う時にこのフィールドを設定するだけなら、「If」で「フィールドを設定」をまとめてもいいかもしれません。
「リソース」に割り当てられているフィールドを、たとえば「スタッフ」フィールドなど、別のフィールドに変更できますか?
はい、できます。そのためには、以下の3か所を変更します:
- DayBackが変更をFileMakerに書き込む時に「Source No X 」のレイアウトを使用します。そのため、このレイアウトの「リソース」タブをクリックし、「リソース」に割り当てられているフィールドをスタッフのフィールドに変更します。
- DayBackがイベントをカレンダーに表示する時、イベントのテーブルの「DBk_WebViewerSource」フィールドから読み出しています。計算式の「Let」の部分で、リソースにどのフィールドを割り当てるかを設定しています。そこで、リソースの行を「sc_resource = Staff ;」と変更します。
- DayBackのフィルタにも、リソースとして使われているのはどのフィールドかを設定する必要があります。そこで「Load Calendar Settings - On Startup...」スクリプトの編集ウインドウを開き、「Maps filters to fields」(フィルタをフィールドに割り当てる)のコメントを見つけます。「SampleEvents::Resource」の参照を「SampleEvents::Staff」と変更します。
- これで完成です。変更を反映させるために「Upon Opening」スクリプトを実行する必要があることを忘れないでください。また「Resources」の値一覧も、スタッフの一覧を返すように変更するとよいでしょう。
予定外のイベント
通常、日付のあるイベントのみがDayBackに表示されますが、リソースのないイベントはnone列に表示されます。これは、リソースに割り当てることができるまでイベントを保持するのに最適な場所です。
しかし、「日付のない」イベントを表示して、正しい場所にドラッグするまで現在の日付に表示することもできます。 日付のないイベントを含めることは簡単な修正であり、そしてあなたはここにビデオ、例のコードと指示を見つけるでしょう
原文:Resources|https://www.seedcode.com/pmwiki/index.php?n=DayBackForFileMaker.Resources
コメント
0件のコメント
サインインしてコメントを残してください。