Salesforce 版 MultiDatePick のはじめに
インストールし、セットアップウィザードで設定を作成して、Lightning ページか画面フロー (Screen Flow) にカレンダーを配置します。
どの MultiDatePick コンポーネントを使えばよいですか?
要件に合う最もシンプルなものから始めましょう。3 つとも 1 つのパッケージに含まれ、すべての機能を使えます。
| 必要なこと | Date | Date Time | Booking |
|---|---|---|---|
| 複数の日付、範囲、繰り返しパターン | ✓ | ✓ | ✓ |
| 状況の色分け、ホバー表示、編集モード | ✓ | ✓ | ✓ |
| 時間枠グリッドと競合の検出 | - | ✓ | ✓ |
| リソース、空き状況、定員、営業時間 | - | - | ✓ |
1AppExchange から MultiDatePick をインストールする
1 つの管理パッケージに、3 つのコンポーネント、セットアップウィザード、フローアクションが含まれています。
| インストール | AppExchange のリスト (公開時) で Get It Now をクリックします。管理者のみ、全ユーザー、または特定のプロファイルを対象にインストールします。 |
| 確認 | [設定] の [インストール済みパッケージ] に MultiDatePick が表示されます。Lightning App Builder または Flow Builder で MultiDatePick を検索すると、Dates、Dates & Times、Resource Booking が表示されます。 |
| 使い方を学ぶ | パッケージにはガイド付きのフローが含まれています: Intro to MultiDatePick と、Dates、Date Time、Booking それぞれの Deep Dive フローです。セットアップウィザードから起動できます。 |
2MultiDatePick の権限セットを割り当てる
インストールしただけでは、誰にもアクセス権は付与されません。[設定] の [権限セット] で、次のいずれかを割り当ててください。
| 権限セット | 割り当てる相手 |
|---|---|
| MultiDatePick - Setup | 設定を作成する 1〜2 名の管理者。セットアップウィザードを含みます。 |
| MultiDatePick - User | カレンダーを使うすべてのユーザー。ウィザードは含みません。 |
| MultiDatePick - All Access | 設定の作成と利用の両方を行う管理者。 |
自社のオブジェクトの権限は別です。ユーザーには、設定で使うオブジェクトと項目への参照・作成のアクセス権も必要です。足りないものがあれば、カレンダーが該当する項目やオブジェクトを具体的に表示します。
3Salesforce のセットアップウィザードで設定を作成する
アプリケーションランチャーから MultiDatePick セットアップウィザードを開きます。オブジェクトと項目はすべてドロップダウンで選べ、操作に合わせてライブプレビューが更新されます。
- 名前と種別
- オブジェクトと項目
- 時刻項目
- 状況と表示
- 確認と保存
保存した設定は再利用できます。ページやフローに必要なのは設定名だけです。[既存の設定] タブで設定を [複製] してバリエーションを作ったり、別の組織用に JSON として [エクスポート] したりできます。
または Config Library からすぐに使える設定をインポートする
Config Library のカードで [セットアップウィザード用にコピー] をクリックし、ウィザードの [インポート] タブに貼り付けて、デプロイします。
- セットアップウィザード用にコピー
- [インポート] タブ
- 項目を対応付ける
- デプロイ
組織のオブジェクト名が違う場合は?スマートな項目マッピングが、JSON に書かれているのに組織にないオブジェクトや項目を一覧表示し、自社のものを選べるドロップダウンを用意します。選んだら [適用してデプロイ] をクリックします。すべて一致していれば、この手順は省略されます。
4Salesforce のレコードページにカレンダーを追加する
Lightning App Builder で MultiDatePick コンポーネントをページにドラッグし、Config Name を入力して保存します。上のインポートのデモも、まさにこの操作で終わります。
| ページ | 設定するもの |
|---|---|
| レコードページ | Config Name。ページのレコードが自動的に親になります。 |
| アプリケーション・ホーム・Experience ページ | Config Name に加えて、日付を紐付けるレコードを Static Parent Record Id に指定します。 |
Load Existing Dates をオンにすると、保存済みの日付が表示されます。保存はレコードを追加するだけで、既存のレコードを削除することはありません。
アプリケーション・ホーム・Experience ページ: Static Parent Record Id を設定
これらのページには自身のレコードがないため、どのレコードに保存するかをコンポーネントに指定します。
詳しい手順と活用例: アプリケーション・ホーム・Experience ページ。
5画面フローに MultiDatePick を追加する
Flow Builder で画面を開き、MultiDatePick を検索してコンポーネントをドラッグし、Config Name を設定します。
チェックボックスは設定から読み込まれます。Config Name を設定すれば、Flow Builder でチェックボックスに触れる必要はありません。フロー専用のもの (Required、Show Inline、Output Date Ranges as JSON) は、自分でオンにしない限りオフのままです。
フローが受け取るもの
| コンポーネント | 使う出力 |
|---|---|
| Booking | レコードは自分で保存します。bookingSuccessCount と bookingConflictDates を参照します。 |
| Date | selectedDates。範囲の場合は selectedDateRangesJson。 |
| Date Time | selectedDatesWithTimesJson。 |
JSON からレコードを作成するには、Parse Date Entries from JSON アクションを追加し、その出力をループして、エントリごとに 1 件ずつレコードを作成します。すべてクリック操作だけです。詳細はすべて画面フローガイドにあります。
初回の実行でつまずいたら
新しく設定したときに最もよく起きる 4 つのケースです。それぞれの解決方法はトラブルシューティングのページに詳しく載っています。
| 症状 | 解決策 |
|---|---|
| 保存ボタンがない | Static Parent Record Id を設定します。詳細 |
| フローがウィザードの設定を無視する | Config Name をウィザードで保存したとおりに正確に入力します。詳細 |
| Booking に「設定が必要です」と表示される | Config Name に Booking の設定を指定します。詳細 |
| 「データを読み込めませんでした」という赤いバナー | グレーのボックスを読んでください。原因となる項目やアクセス権が表示されています。詳細 |
設定に関するよくある質問
管理者が最初に抱く疑問に簡潔にお答えします。
MultiDatePick の設定に Apex や開発者は必要ですか?
いいえ。パッケージをインストールし、ドロップダウンからオブジェクトと項目を選んでセットアップウィザードで設定を作成し、コンポーネントをページやフロー画面に配置するだけです。Apex は不要です。
どの MultiDatePick 権限セットを割り当てればよいですか?
設定を作成する管理者には MultiDatePick - Setup、カレンダーを使うだけのユーザーには MultiDatePick - User、両方を行う管理者には MultiDatePick - All Access を割り当てます。ユーザーには、自社のオブジェクトと項目へのアクセス権も必要です。
アプリケーションページやホームページのカレンダーに保存ボタンが表示されないのはなぜですか?
アプリケーションページ、ホームページ、Experience ページには、そのページ自体のレコードがありません。Static Parent Record Id に日付を紐付けるレコードを設定すると、保存ボタンが表示されます。
Flow Builder ですべてのチェックボックスを設定する必要がありますか?
いいえ。Config Name にセットアップウィザードで保存した設定を指定すれば、チェックボックスの設定はすべて設定から読み込まれます。Config Name を使わずにプロパティを手動で設定する場合だけ、チェックボックスを自分で設定します。
MultiDatePick の設定を別の Salesforce 組織に移せますか?
はい。[既存の設定] タブからエクスポートし、移行先の組織の [インポート] タブに JSON を貼り付けます。オブジェクト名や項目名が異なる場合も、スマートな項目マッピングで対応付けられます。
設定でお困りですか?
設定に関するご質問、機能のご要望、どのコンポーネントが合うかわからない場合など、お気軽にご連絡ください。