最終的にはこれと同じようなことを実現したい。
関連する資料を集める
- レポートを添付ファイルとしてメールに添付して送信する。メール送信用のクラスは他でも使えそう。
実装してみたら、動いた。
SENDING REPORT AS ATTACHMENT IN SALESFORCE
2.この方法は?
2つの方法が紹介されてます
Salesforce Report as attachment using Apex
- CSV Format
- Printable View Format<-- 1番目の方法と同じだった。
Send Salesforce Report as Attachment using Apex
- Send reports in Email body through Apex in Lightning
- How to send Reports via email to a group of users on an hourly basis
メールで送信されるレポートもきれいに埋め込むことができました。
レスポンシブルになっていますよ。
これなら見栄えもいいんで大丈夫でしょう。
ReportControllerというApexクラスを書きました。
制限事項など
Lightning Experience でのレポートへのユーザ、グループ、ロールの登録
- 各ユーザは最大 5 つのレポートの登録を設定できます。
- 登録の受信者はレポートの登録メールに表示されません。
- Platform ユーザの場合、システム管理者が登録を有効にする必要があります。
- ユーザ、グループ、またはロールをレポートに登録するには、レポートが含まれるフォルダをユーザ、グループ、またはロールと共有する必要があります。
+登録ごとに最大で 500 件の受信者がサポートされます。各受信者は単一のユーザ、ロール、ロール & 下位ロール、またはグループです。ロール、ロール & 下位ロール、およびグループはそれぞれ 500 を超えるユーザを含むことができますが、登録で送信されるメールの最大数は 500 件です。受信者のロール、ロール & 下位ロール、またはグループに 500 を超えるユーザが含まれる場合、一部のユーザは登録メールを受信しません。
登録に受信者として 500 を超えるユーザが含まれる場合、ユーザはロールよりも優先され、ロールはロール & 下位ロールよりも優先され、ロール & 下位ロールはグループよりも優先されます。登録でメールが送信されるたびに、メールを受信するロールとグループのユーザが再度選択されるため、登録メールが送信されるたびにユーザが異なる可能性があります。
たとえば、登録に 100 件の受信者が含まれるとします。その内訳は、98 件のユーザ、1 件のロール (500 件のユーザを含む)、1 件のグループ (400 件のユーザを含む) です。登録に関連付けられているユーザの総数は 998 です。登録メールが送信されると、ロール内の 98 件のユーザは登録メールを受信せず、グループ内の 400 件のユーザは誰もメールを受信しません。
- 各 Salesforce 組織は、特定の曜日の特定の時間 (月曜日の午前 9:00 など) に最大 500 件のダッシュボード登録と 500 件のレポート登録をスケジュールできます。
- Lightning Experience のレポート登録では、以下の機能はサポートされません。
- 履歴追跡レポート
- 結合レポート
- 条件付き強調表示 (条件付き強調表示を含むレポートを登録できますが、条件付き強調表示は登録メールに表示されません)。