子リレーションを含んだ帳票

ホーム 掲示板 ReportsConnect for Salesforce 子リレーションを含んだ帳票

このトピックは 2 発言者 で 5 件の返信 、  Q 10 年と 3 ヶ月 前 に最終更新されました。

6投稿中1~6 6件表示
  • 作成者
    投稿
  • #54

    Q
    参加者

    旧掲示板からの転載です。

    いつもお世話になっております。
    現在、無償版で学習を進めているのですが、商談-商談商品、などのように小リレーションを含んだ場合の帳票開発についてご教示下さい。

    商談商品がない場合のでも商談の帳票を出力する必要が有るため、サンプルのようにOppotunityLineItemをSOQLのFROMに指定することができません。
    そのため、FromにOppotunityを指定し、小リレーションを利用して商談商品の情報を取得しているのですが、帳票タブから「データの確認」ボタンを押下したところ、CSVデータソースが2つに分かれており、この2つをどのようにiReportで使用すればよいのかわかりません。

    初歩的な質問で申し訳ございませんが、ご教示のほどよろしくお願い致します。

    #55

    sweetie
    参加者

    サブクエリを使った帳票作成ですと、下記の記事が参考になるかと存じます

    Reports Connect for Salesforce:Subreportで複合的な帳票を作成

    http://kptech.cocolog-nifty.com/blog/2012/11/reports-conne-2.html

    #56

    Q
    参加者

    ご教示頂きありがとうございます。
    一つの帳票ではなく、複数帳票を組み合わせる形にするんですね。

    迅速なご対応感謝いたします。
    誠にありがとうございました。

    #57

    Q
    参加者

    追加で質問をさせて下さい。

    サブクエリの結果件数が0件の場合、
    「new JRBeanCollectionDataSource($F{XXXX})」の部分で、$F{XXXX}がnullになるためエラーが発生してしまいます。
    回避方法を探したのですがわかりませんでした。

    お手数をお掛けいたしますが、エラーの回避方法についてご教示頂けますでしょうか。
    よろしくお願い致します。

    #58

    sweetie
    参加者

    SubReportをどう扱うかで若干変わりますが、以下の方法で解決する可能性があります。
    お試し下さい。

    ケース1.サブクエリの結果がnullの際、SubReport自体を非表示にする場合
    1.サブクエリを格納するFieldのClassをjava.lang.Objectにする。
    2.SubReportのPrint When Expressionを以下のように
    $F{XXXX}!=null&&!$F{XXXX}.equals(“null”)
    3.SubReportのData Source Expressionを以下のように
    new JRBeanCollectionDataSource((Collection)$F{XXXX})

    ケース2.サブクエリの結果がnullの際、SubReportに空データを渡す場合。
    1.サブクエリを格納するFieldのClassをjava.lang.Objectにする。
    2.SubReportのData Source Expressionを以下のように
    $F{XXXX}!=null&&!$F{XXXX}.equals(“null”)?new JRBeanCollectionDataSource((Collection)$F{XXXX}):null

    #59

    Q
    参加者

    ご教示頂いた内容で実装することで、期待していた帳票を出力することが出来ました。

    非常に助かりました。ありがとうございます。

6投稿中1~6 6件表示

このトピックに返信するためにはログインしなければなりません。