フォーラムへの返信
-
投稿者投稿
-
fujita参加者
saho様
SOQLはSQLと同じ用に、必要な情報をSalesforceのDBから取得するために書きます。
項目の呼び出しは、ご認識の通りAPI参照名で行います。(標準オブジェクトはそのまま、カスタムオブジェクトの後ろには”__c”が必要)
カンマの後ろには半角スペースが必要です。
「帳票上でグルーピング」は例えば日付などでデータをグルーピングして、日付順にデータを出力し、日付ごとの合計値を出すことができます。
グルーピングを使用する場合にはデータを日付順にソートしておいてください、という意味です。SOQLの書き方につきましては、Salesforceさんの公式リファレンスが分かりやすいかと思います。
http://resources.docs.salesforce.com/198/0/ja-jp/sfdc/pdf/salesforce_soql_sosl.pdfReportsConnectでのSOQLの書き方は、マニュアルと同じく「資料ページ」の
使い方ブログや、サンプルダウンロードなどからご参照ください。
基本的には
「SELECT 項目API参照名, 項目API参照名, 項目API参照名 FROM オブジェクトAPI
参照名」という形になります。
Fromの後ろに書いたオブジェクト以外のオブジェクト(参照関係のある)からデータを取得したい場合には「Profile.UserType」というように、オブジェクト.項目名と書いてください。
標準オブジェクトの項目を呼び出す場合にはオブジェクトの後ろにリレーションを現す”__r”を付けて「Test__r.test__c」という形になります。どんなSOQLが書きたいか分かれば、もう少し解説できるかと思います。
差し支えなければ、詳細をご記入ください。また、帳票の開発がお急ぎの場合には(有料にはなってしまいますが)
こちらで開発を承っております。
https://www.reportsconnect.com/reportsmake.html
併せてご検討ください。
よろしくお願いします。fujita参加者carmina様
通貨で表示したい場合には、データが数値型である必要がございます。
ReportsConnectではデータは全てString型で受け取ります。
StringにPatternのCurrencyは適用できないので、TextFieldExpressionを
次のように書き直してください。
new Integer($F{金額})
(BigDecimalクラスを使いたいときはnew BigDecimal($F{金額})と書きます)よろしくお願いします。
fujita参加者renton様
絞り込み条件を反映させるにはクエリーの設定を変更する必要がございます。
下記ページを参考になさってください。
http://kptech.cocolog-nifty.com/blog/2013/11/reports-connect.html
こちらの「④印刷ボタン押下時の処理」にある通り、
現在表示している一覧の条件に対応するクエリーを取得して指定することで、
絞り込み条件を反映することが出来ます。fujita参加者renton様
ご認識の通りReset Type :Reportです。
質問は他のユーザ様にも利がありますし、私の勉強にもなります。
こちらこそ、いつもありがとうございます。fujita参加者renton様
すみません、一つ追記させてください。
Reset Type :Pageですと、合計値はページ毎にリセットされます。
全体の合計値、グループ毎の合計値など、必要に応じて
変更してください。fujita参加者renton様
ご認識の通り、variablesを使用します。
下記の方法を試してみてください。Variablesを追加し、プロパティを設定します。
項目 :変更後の値
———————-
Name :金額合計
Variable Class :java.math.BigDecimal
Calculation :Sum
Reset Type :Page
Variable Expression :new BigDecimal($F{金額})なお、kintoneのアプリのデータが空の可能性がある場合
そのデータをnewをしたり、メソッド(substringなど)を使おうとすると
エラーがでます。
エラー回避には、Variable Expressionを次のように書き換えます。
$F{金額}!=”null”&&$F{金額}.length()>0?new BigDecimal($F{金額}):0よろしくお願いします。
fujita参加者renton様
ご質問、ありがとうございます。
詳しいことが判らないと確実なことが言えないのですが
グループを作成していますか?
データ1行毎ではなく、グループ毎に出力されているのであれば
Group Headerのプロパティ「Start on a new page」に
チェックが入っているのではないかと思います。
https://sites.google.com/site/japanjasperserverusergroup/documents/create_report_by_ireport/groupband/startonanewpageこれが原因で無いとしますと、Detailバンド、もしくは他のバンドの
高さ(Band height)が高いために、2行以上のデータが
入らないことが考えられます。
余分なバンドを消して、高さ調節をしてみてください。これも違うようでしたら、お手数ですが
もう少し詳しい状況をお知らせください。fujita参加者renton様
Titleは最初のページにのみ、出力されます。
全てのページに出力したい場合には「Page Header」をお使いください。fujita参加者kintoneやsalesforceで日時・日付型の項目を使用すると、時間が9時間ずれ、フォーマットが「2016-12-27T07:26:00Z」といった形になります。
●kintoneについて
kintoneから渡ってくる日付、日時のフォーマットのままでは使えないので
以下のように渡ってきたデータについてる”Z”を取り、”.000+0000″を付け足す。
new SimpleDateFormat(“yyyy/MM/dd HH:mm”).format(new
SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss.SSSZ”).parse($F{日時}.substring(0,19)+”.000+0000″))※不具合がでる可能性あり。★SimpleDateFormatを使う時の注意を読んでからご利用ください
fujita参加者mozibake様
ご質問ありがとうございます。
1画像の置き換えが出来ていれば、同じように2つ目も設定をすれば出るはずです。
もう少し状況を詳しく書いていただきますと、事象が分かるかと思います。
よろしくお願いします。fujita参加者mozibake様
回答が遅くなりまして申し訳ありません。
事象を確認いたしました。フォントの設定を、全て下記のように設定してみてください。
Font name : IPAexゴシック
PDF Font name : HeiseiKakuGo-W5
PDF Encoding :チェック有・ UniJIS-UCS2-H (Japanese)
フォントの設定場所は下記4つです
・Label format/Legend Font/Subtitle Font/Title Fontfujita参加者takanashi様
Last Page FooterとSummaryを合わせて1Pにするのはいかがでしょうか。
また、Page Headerですが、1P目のみの表示でよろしいのでしたら、内容を全てTitleに移して、Page Headerを消してしまう手もございます。
お試しください。fujita参加者takanashi様
一番簡単な方法は、Last Page Footerを一ページ分のサイズに広げ、出力したい情報を記入することです。
この際、最終ページにはPage Headerを出力したくない場合には、Page HeaderのPrint When Expressionに$V{PAGE_NUMBER} = 1(一ページのみ出力する)などを記入する必要があります。
fujita参加者a.suzukiさま
もう一つ、確認していただきたいのですが
ReportInspectorのウィンドウの一番上、帳票名を選択した時の
プロパティで、Languageが「Javascript」になっていないでしょうか。
もしなっていたら「Groovy」または「Java」を選択してください。よろしくお願いします。
fujita参加者a.suzukiさま
回答が遅くなりました。
式はそのままで、一度こちらを試してみてください。
Expression Class:java.lang.String
Pattern:Currency、Decimal Places:0よろしくお願いします。
-
投稿者投稿