フォーラムへの返信
-
投稿者投稿
-
sweetie参加者
rentonさん、こんにちは。
上記記事の④印刷ボタン押下時の処理( function goPrint() )の頭で、条件を判断するロジックをJavascriptで書けば可能です、
なお、kintoneのレコードの内容を確認するにはkintoneのjavascript APIの資料(例えば以下のページ)
https://cybozudev.zendesk.com/hc/ja/articles/201942014-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E8%A9%B3%E7%B4%B0%E6%83%85%E5%A0%B1%E5%8F%96%E5%BE%97
等を参照してください。sweetie参加者失礼しました。Salesforce版の件と勘違いしました。
結論としてはkintone版では複数のファイルを1回の処理で作成する機能は現在のところありません。
(少々トリッキーですがPDFファイルを添付させる方法を応用して処理から戻った画面からjavascriptで自動的に次のファイル作成処理を起動するような事をすれば可能かもしれませんが。
なお、PDFファイルを添付させる方法に関しては以下を参照してください。
http://kptech.cocolog-nifty.com/blog/2013/11/reports-conne-4.html
)現在のところ上記機能はありませんが、複数のPDFファイルをバッチ的に作成する機能に関しては、現在検討中です。
可能になれば、HP上で公開いたします。
よろしくお願いします。sweetie参加者作成する2つの帳票を1PDFファイルにまとめるのであれば、
以下の記事の方法で可能です。
http://kptech.cocolog-nifty.com/blog/2013/01/reports-conne-1.html複数のPDFファイルを1アクションで作成する場合は、
ログインユーザー固定化オプションを使用する事で認証処理をバイパスさせれば可能です。以下の記事を参考にしてください。
http://kptech.cocolog-nifty.com/blog/2014/01/reports-connect.htmlsweetie参加者↑の記事の解答にあるように、ReportsConnectControllerのsetAttachmentsメソッドで使用したい画像のAttachmentオブジェクトを指定できます。
プログラムで、該当の画像のAttachmentを読み込めるのであればこの方法で可能と思います。
なお、蛇足ですが、この解答のケースではファイル名をパラメータで渡してiReport側でImageExpression:$P{gazou}
として使っていますが
iReport側では固定の名前にしておいて
setAttachmentsで渡すAttachmentのnameをプログラムでその名前を指定すれば、パラメータで渡す必要も無いように思えます。sweetie参加者現在のところ、複数の添付フィールドからの画像を使用して印刷することは出来ません。
複数に分類されたフィールドに添付された画像を使用するのであれば、
少々お手数ですが、別途、印刷用の添付フィールドを設けて、印刷の前処理として対象の画像をそちらに添付したあと印刷処理を行えば可能ではないでしょうか。sweetie参加者エラーメッセージの意味は、該当する帳票オブジェクトにjrxmlファイルが添付されていないという意味なので、通常PCの違いで起こるエラーではありません。
エラーが起こる場合とOKの場合で帳票が同じかを確認してみてはいかがでしょうか。
PC環境の違いでエラーが出る原因としては、ブラウザーのプラグインでReportsconnectと相性の悪いものがあってエラーになるケースはあるようです。
プラグインをすべて除去して試す方法も考えられます。
sweetie参加者ご不便をおかけして申し訳ありません。
今朝方のサーバー障害によるものと思われます。
すでに復旧済みです。障害の内容に関しては以下を御覧ください。
sweetie参加者こちらの資料にありますように
http://kptech.cocolog-nifty.com/blog/2013/11/reports-connect.html
javascriptでkpsrc.rcparms.kps_qlにクエリーを設定することで、対象レコードを選択することができます。
例えばレコード番号1.2.3の3件を対象にしたければ
kpsrc.rcparms.kps_q = ‘レコード番号 in (1,2,3)’;という具合に。
クエリに関してはkintoneのマニュアルのこちらあたりを参照にしてください
https://cybozudev.zendesk.com/hc/ja/articles/202331474-%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%8F%96%E5%BE%97-GET-これで読んだレコードに対して1レコード1ページが印刷される帳票を作れば出来ます。
sweetie参加者humanさん、こんいちは。
送っていただいたjrxmlにデータを用意してこちらで確認しましたが、エラーは確認できませんでした。
1回しか確認されていないという事からも、このエラーはアプリケーションが起因しているものではないと思われます。
原因は先に挙げた
・サーバーがそのタイミングでなんらかの事情で使用できないという場合では無いかと思われます。
herokuの場合、環境の都合上?任意のタイミングでサーバーがリスタートされる場合があります。
その場合、数十秒サーバーが使用出来なくなるため、そのタイミングにはまってしまうと、上記エラーが発生する場合があります。
その際は、(数十秒時間をおいて)ご面倒ですが再度出力処理を行ってください。
この仕様は環境側で行われるため、アプリケーション側でコントロール出来ないもので。恐れ入りますが、よろしくお願いします。
sweetie参加者humanさん、こんにちは。
ご指摘のエラーは、Reportsconnectが稼働しているherokuというクラウド環境が出しているエラーメッセージで、通常のアプリケーションの処理のエラーでなく、その外側でエラーを検出した場合に出るものです。
例えば以下のような場合に出ます
・処理がループ等でherokuの制限時間(1処理30秒)を超えた
・サーバーがそのタイミングでなんらかの事情で使用できない等
で、質問ですが
1.この処理は、同じ処理を行うと毎回でるエラーでしょうか?
(環境上の理由で一時的に出ることは考えられます)2.開始から30秒以上たって出る感じでしょうか
->この場合ループが考えられますが、以前あったケースでは最初から必ずページ替えが発生してしまうような帳票の作りになっていてループするというケース等何れにせよ、このエラーの場合、ユーザー画面側にはスタックトレース等が出ないのでサーバー側のログを確認する必要があるのですが、
もし、可能であれば使用してるjrxmlファイルを以下のメールアドレス宛に送っていただければ、こちらで再現して確認します。
sweetie参加者enomotoさん、こんにちは
通常Reportsconnectでは、oAuth2.0の認証で、使用しているユーザーの権限のもとで実行されます。
コミュニティで使用するユーザーが、出力する帳票作成に必要なオブジェクトへのアクセス権限およびAPI使用権限がある必要があります。なお、ReportsConnect のログインユーザー固定化オプションを使用するれば、ログインユーザーと別のユーザーの権限でReportsConnectを実行することができるので、環境による制限なく使用できると思います。
ログインユーザー固定化オプションに関しては以下の記事を参考にしてください。
http://kptech.cocolog-nifty.com/blog/2014/01/reports-connect.htmlsweetie参加者中国系の名前ということでは知識がありませんが、Reportsconnectで使用しているIPAmj明朝フォントに関してはこちらのページに文字上のリンク等があります。
http://mojikiban.ipa.go.jp/1300.htmlsweetie参加者Kuboさん
ご連絡ありがとうございました。
参考になります。sweetie参加者Kuboさん
もし、差し障りなければ今後のために、影響したと思われる、停止したChromeブラウザの拡張の名前を教えていただければと思いますが、いかがでしょう?sweetie参加者P.S.
Chromeで右クリックで検証を選択するとConsoleが出ますが、そこにエラーメッセージ等がでますので、参考になるかもしれません。 -
投稿者投稿