フォーラムへの返信
-
投稿者投稿
-
tazumi参加者
ありがとうございます。
「代理ログインでは出力できていないけど、正しくログインすれば出力できるから問題なし。」
で決着させました。tazumi参加者この件について、解決しました。ありがとうございました。
解決について記述しておきます。ご提案いただいたとおり、帳票出力用のワークオブジェクトを作成してみたのですが、
・Apexでワークオブジェクトにinsert処理をし、その流れのままReportsConnect呼びだし
とすると、「commitしてないからダメ」というエラーで落ちてしまいます。そこで、対処として以下のようにしました。
・Visualforceを2つ用意。ボタン押下時のApex呼び出し用(※1)とコミット後に再度Apex呼び出し用(※2) 。Aoexコントローラは同一のものを指定。
・ボタン押下で※1よりApex起動。Apexコントローラには変数としてユーザIDとボタン押下の時間を結合したもの(※key)を保持。ワークオブジェクトに書き込み。その際※keyもワークオブジェクトに書き込んでおく。returnとして※2を返す。commitされる。
・※2のinitでApexコントローラがつづけて起動される。このとき※key変数はクリアされていないので、ReportsConnectのワークオブジェクトを取得するSOQLのWhereパラメータに※keyを指定する。分かりづらいかもしれませんが、以上となります。
とっても助かりました。ありがとうございました。tazumi参加者ありがとうございます。試して実行できることを確認しました。
tazumi参加者この件について、「複数の帳票をひとつのPDFにまとめて出力」の機能を使用する場合はどのようにすればよいでしょうか?
まとめ側のReportsConnectControllerにsetAttachments()、パラメータにファイル名を渡してみたら、「HTTP ERROR 500」でFileNotFoundExceptionとなってしまいます。
なお、まとめずに単票のReportsConnectControllerにsetAttachments()をつけ、パラメータにファイル名を渡した場合はうまく出力されました。
tazumi参加者回答ありがとうございます。
とりあえず、印刷用オブジェクトに書き込む方針で見当します。tazumi参加者回答ありがとうございます。
ユーザオブジェクトにはメモ&添付ができないので、「担当者」のようなカスタムオブジェクトを作ってそこに添付ファイルを貼り付けることで対処します。
tazumi参加者ありがとうございます。
2の方式で実装してみたところ、意図した動きとなりました。
とっても助かりました。tazumi参加者自己レスです。
縦書き文字を画像化し、貼り付けることで対応しました。
SOQLから値をとって表示する縦書き表示する場合はまだ未解決ですが、
自身の課題はstatic textの項目だったので、暫定でこれで進めていきたいと思います。ありがとうございました。
tazumi参加者tazumi参加者ありがとうございます。
その記事は以前見ていたのですが、最後の「ユーザーの環境に依存されない」のところを見落としていました。
すいませんでした。 -
投稿者投稿