フォーラムへの返信
-
投稿者投稿
-
ino参加者
pdfの保存先の話でしょうか。ReportsConnectアプリ内の「添付先」の項目を変更すれば保存先が変わるため特定のアプリの複数の箇所にpdfを保存できます。毎回の変更が手間であればReportsConnectアプリに設定の違う2レコードを予め保存してください。
(http://www.reportsconnect.com/dw/manual_kt.pdf 3-2)同じアプリから複数のデザインで帳票出力したいという内容でしたら、ReportsConnectに2レコード作成し、それぞれの「添付ファイル」のjrxmlファイルを変更してください。
ino参加者setAttachmentsメソッドを追加してもだめでしょうか?
Apexクラスから画像を添付する時に使うメソッドです。
固定の画像を出すのではなく画像を動的に変えたい場合などに使用します。
サンプルコードです。前提知識(パラメータを渡す)
●salesforce側
rc = new kpsr.ReportsConnectController();
rc.getParms().put(‘Biko’,’備考欄に表示されます’);
●iReport側
“Biko”という名前でパラメータを新規作成することで
“備考欄に表示されます”という文字を取得でき、帳票に表示できる。
(値がなかった場合”null”と表示されるのでWhenBlanknullにチェック推奨)サンプルコード
●salesforce側
rc = new kpsr.ReportsConnectController();
//画像が添付してあるレコードのIDを指定
Id gID = ‘a0iN0000000puzV’;
List<Attachment> atts = [select name, body, BodyLength from attachment where parentId = :gID];
//画像情報をReportsConnectのsetAttachmentに渡す 1Mbまで。複数の画像OK
rc.setAttachments(atts);
String gazouName = ‘承認印.png’;
//第一引数に好きな文字を、第二引数にattsで添付した中で表示させたい画像名を指定
rc.getParms().put(‘gazou’,gazouName);●iReport側
“gazou”という名前で新しくパラメータを作る
パレットからImageを挿入し、ImageExpression:$P{gazou}
on error type:Blank(エラーが出たとき何も表示しない)
を設定する。→gazouNameで指定した画像名の画像が帳票で表示される。
setAttachmentsを使うときの注意
・帳票を連結するとき(詳しくはhttp://kptech.cocolog-nifty.com/blog/2013/01/reports-conne-1.html)に使用するパラメータの画像の名前に
画像名の前に『../』を足す必要がある。
(setAttachmentsを使っている場合)
例
rc.getParms().put(‘TantoSign’,’../担当サイン.png’);ino参加者salesforceのreportsconnectはJava6で動いています。
ino参加者西暦がうまく変換されない場合や曜日が変換されない場合、SimpleDateFormatの第二引数に「Locale.US」を書いてください。
サンプルコードを書いておきます。
(パターンで出力フォーマットを指定してください)
new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss.SSSZ”,Locale.US).parse($F{日時}.substring(0,19)+”.000+0000″)(パターンが使えないので1行目で出力フォーマットを設定してください)
new SimpleDateFormat(“yyyy/MM/dd HH:mmEEEEE”,Locale.JAPAN)
.format(
new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss.SSSZ”,Locale.US).parse($F{日時}.substring(0,19)+”.000+0000″)
)ino参加者1.
Last page footer, page fooger, column footer , group footersなどのいくつかのバンドは
高さが拡張しないようです。Stretch With Overflow自体が無効になる訳ではないので、バンドの高さを予め大きめに作っておけばその中での改行は行うことができます。(ほとんど動的改行にはなっていませんが)2.
Report Inspector(デフォルトでは画面左部に表示されている)の自分で作った帳票名をクリック
→プロパティの「Summary with Page Header and Footer」にチェックをつける事でSummaryでページがまたがった場合にもページヘッダーとフッターが表示されます。(参考)
ストレッチオーバーフローチェック時に拡張について
http://community.jaspersoft.com/questions/530929/issue-stretch-overflow
ヘッダー・フッターをサマリーバンドに出す
http://stackoverflow.com/questions/3966947/jasper-report-header-not-printed-on-summary-pageino参加者ご報告ありがとうございます。
スペースのアクセス権限で引っかかってたのですね。気がつきませんでした。
また何かありましたらご相談ください。ino参加者ソースコードを追ってみましたがReportsConnectの印刷ボタンを特定のアプリに組み込んでいる場合,
(参考:http://kptech.cocolog-nifty.com/blog/2013/11/reports-connect.html)
そのアプリを表示した時、組み込んだjavascriptに書いた「アプリID」と「帳票名」をRESTAPIで検索する仕組みになっています。
RESTAPIでの呼び出しが失敗すると「ReportsConnectレコードが読めません!:(エラー内容)」と表示されます。したがって、今回は「ReportsConnectを使用するアプリ」に添付されたjavascriptに書いてあるアプリID(=ReportsConnectアプリ)、または帳票名(のレコード)に対して該当ユーザが何らかのアクセス制御がかかっている可能性が高いです。
アクセス権を一旦一度広げてみるなどしていまいちどご確認いただけたらと思います。
ino参加者エラーメッセージが「レコードが読めません」なのでレコードのアクセス権限の方が
怪しいですね。データのアプリIDで指定したアプリのレコードのアクセス権限も合わせてご確認ください。
https://help.cybozu.com/ja/k/user/record_rights.htmlino参加者こちらで試してみたところ
ReportsConnectアプリ内の「ログイン」と「パスワード」の項目には「データのアプリID」で指定したアプリの閲覧権限を持っているユーザのログインIDとパスパードを指定する必要があるようです。ReportsConnectアプリではなく出力対象のアプリに対しての権限も確認してみてください。
(アプリのアクセス権の設定)
https://help.cybozu.com/ja/k/user/app_rights.htmlino参加者1.ですが正しくは
1.iReportのReport Inspector(デフォルトでは画面左部に- 表示されている
)の
- レポート名
を右クリック
でした。失礼しました
ino参加者1.iReportのReport Inspector(デフォルトでは画面左部に)を右クリック
2.Add Report Groupでグループを作成
3.2で追加されたGroupHeaderをクリックし、表示されるプロパティのStart on a new Pageにチェックを入れるで、2で指定したグループごとに改ページされると思うのですがいかがでしょうか。
ino参加者HPからダウンロードできるzipファイルも修正しました。
ino参加者お手数おかけしました。
テンプレートを書き出し直しましたので、この投稿に新しいテンプレートを添付します。
とりあえずこちらでお試しください。HPも来週新しいファイルに更新します。
Attachments:
You must be logged in to view attached files.ino参加者組み込みフォントを使用すればフォントが統一するかと思われます。
ReportsConnectでは、IPAexゴシックフォント、IPAmjフォントに対応してますので
こちらをお試しください。フォントの導入の仕方はこちらのブログに載っています。
http://kptech.cocolog-nifty.com/blog/2012/11/reports-conne-1.htmlino参加者一連のデータの流れとしては
1.KintoneのデータをReportsConnectでCSVファイルとして出力する(データの確認ボタン)
2.iReportでcsvファイルを読み込みデータのレイアウトの情報などを付加しjxmlファイルとして出力する
3.ReportsConnectForKintoneにjxmlファイルを添付する
4.ReportsConnectで、kintoneのデータとjxmlファイルを読み込んでをPDFとして出力する。(印刷テストボタン)という流れになっています。
よって、ReportsConnectに直接csvファイルでデータを渡すということはありません。 -
投稿者投稿