ホーム › フォーラム › ReportsConnect for Salesforce › Apexトリガで、レコード変更を契機に該当レコードに帳票を保存したい
-
投稿者投稿
-
2019年8月5日 12:30 PM #584
mirami
参加者Apexトリガの作成は完了しており、希望条件で発火するようになっています。
ApexトリガからReportsConnectControllerを動かすメソッドを呼び出し、タイトルにある通りの動きを実現させたいと思っていますが、うまくいきません。ご助言いただけますと幸いです。
※そもそもAPEXトリガから希望の動作をさせることは不可能なのでしょうか??ソース
public class Print_receipt { @future(callout=true) public static void Print_receipt( string ID ) { kpsr.ReportsConnectController rc; rc = new kpsr.ReportsConnectController(); rc.setReportId('テスト'); rc.getParms().put('condition','where id = \'' + ID + '\''); rc.setFilename('XXXXXXX'); rc.setReturnUrl('/servlet/servlet.FileDownload'); rc.goPrint(); system.debug('◆' + rc.goUrl); } }なお、帳票オブジェクトの「テスト」には以下の設定が入っています。
SELECT 【必要カラム達】 FROM 【テーブル】 :condition
idパラメーターのオブジェクトに添付 オンデバッグ用のrc.goUrlで取得できたURLにアクセスすると、
印刷が始まり、希望のPDFをDLすることはできました。
ただ、求める動きとしては、ID指定したレコードに添付ファイルをつけることです。
以下のURLを参考に作ったのですが、うまくいかず・・・。
http://kptech.cocolog-nifty.com/blog/2013/01/reports-connect.html2019年8月7日 1:14 PM #585fujita
参加者miramiさん、こんにちは。
Apexトリガから希望の動作をするには「ユーザ固定化オプション」が必要になります。
※「ユーザ固定化オプション」は有料オプション(月額5千円)になります。
https://www.reportsconnect.com/kotei.html
オプションにお申込いただきますと、下記の方法で実現可能です。「ログインユーザーを固定化する」「UIを使用しない」にチェックをつけ、
「固定化ユーザ名」と「固定化ユーザーパスワード」を入力ください。
この際、ユーザーパスワードにはパスワードの末尾にセキュリティトークンを追加したものを入力ください。
(セキュリティトークンの取得方法は以下のSalesforceのHELPをご参照ください)
https://help.salesforce.com/articleView?id=user_security_token.htm&type=5また、Print_receipt()メソッド内のrc.goPrint()の行の前に、
rc.setParentId(ID);という一文を追加してください。
こちらは、添付ファイルの親オブジェクトのIDを指定するメソッドになります。2019年8月7日 4:24 PM #586mirami
参加者fujita様
ご回答ありがとうございます!
内容理解いたしました。固定化オプションの申し込みを検討することといたします!
当トピックはクローズとします。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。