【SVF for Salesforce】一般ユーザで帳票が出力できないときの対処法

はじめに

導入支援の案件でSVF for Salesforceを使用してSalesforce上から帳票出力する処理を実装しましたが、
リリース間際で、とある問題が発生して対応に窮したので記事にしました。

正常系で実現したかった内容は以下の通りです。

帳票側の開発も完了し、いざ実際の業務ユーザで帳票を出力したところ、エラーが発生してしまったのでその対処法ついて記載します。

SVFのセットアップガイドに従って構築したつもりでしたが、ガイド内の参考情報など、読み飛ばしてしまいそうな箇所についても設定が必要だったので(案件によると思いますが)、同じようにエラーで困っている方がいらっしゃればと思い、記事化しました。

発生した事象とその対応

SVF側の実装も完了し、Salesforceの開発用アカウント(システム管理者)では印刷ボタンを押すと、帳票がプレビュー表示できていました。
いざ実際の業務ユーザでSalesforceでログインして帳票を出力してみたのですが…

発生事象1 アクセス権がない

以下のエラーが発生しました

アクセス権がありません
アクセス権がないため要求を実行できません。データの所有者、またはシステム管理者にお問い合わせください。 詳細は、「「アクセス権がありません」エラー」を参照してください。

アクセス権がないとのことで、調べてみるとSVFCloudの管理ガイドに以下のページがありました。

Visualforce ページへのアクセス権を付与する

Salesforceのプロファイルまたは権限セットでSVFの印刷ボタンとなるLightning Experience用ボタンのVisualforce ページへのアクセスが必要とのこと。
確認すると確かに業務ユーザのプロファイルにはアクセス権が設定されていなかったので、管理ガイドの記述に従って権限を付与ました。

発生事象2 アプリケーションへのアクセス件がない

そして再度帳票を出力したところ、今度は別のエラーが発生…

Canvas アプリケーション [svfcloud_preview] の表示中にエラーが発生しました。
アプリケーション [svfcloud_preview] を表示する権限がありません。このアプリケーションへのアクセス権を付与するようにシステム管理者に依頼してください。

アプリケーションへのアクセス権も不足しているとのこと。
SVFのセットアップガイドにアプリケーションについての記載があったので、そちらを確認したところ…

※以下、SVFのセットアップガイド 第2章 インストール後の初期設定より抜粋

7.でシステム管理者プロファイルにはアプリケーションの割り当てをする記述がありますが、参考情報として以下の記述を発見。

システム管理者以外のユーザが帳票出力する場合、セットアップの際に、接続アプリケーションの設定が必要だったようです。

業務ユーザのプロファイルにもセットアップガイドの記述に従って設定を行い再度帳票を出力。

無事、業務ユーザでも帳票を出力することができました。

おわりに

手順書に従ってSVF for Salesforceを導入を進めたつもりでしたが、設定時に以下の点は気を付けておいた方がよさそうです

初期設定時に必要なこと

システム管理者だけでなく、帳票を出力するユーザ(プロファイル)も接続アプリケーションにいれておく。
(発生事象2より)

セットアップマニュアルにはシステム管理者に対してアプリケーションの割り当てをするよう記載がありますが、実際に帳票出力する際は管理者以外のユーザが出力することが多いと思うので設定を忘れないように。。。

帳票印刷ボタン追加時に必要なこと

印刷ボタンを追加した場合は、帳票を出力するユーザ(プロファイル・権限セット)に該当のVisualforce ページへのアクセス権を付与する。
(発生事象1より)

こちらはSVFCloud管理ガイドにも記載がありました。一般ユーザーがリストビューに配置された印刷ボタン・詳細ページに配置されたドロップダウンボタンからプレビュー画面を表示する場合に必要なようです。

導入時の初期設定時だけでなく、今後ボタンを追加する度にも設定が必要というところがポイントだと思います。ボタンを追加することなんて頻繁にあるものではないと思いますが、だからこそアクセス権の設定を忘れないように気を付けないといけませんね。