sweetie

フォーラムへの返信

12件の投稿を表示中 - 106 - 117件目 (全117件中)
  • 投稿者
    投稿
  • sweetie
    参加者

    ReportsConnectControllerのgoReportメソッドの内部ではcalloutを行っていますので、Test時に、その先の処理をTestしたい場合は、Test実行中かどうかをコードの中で判断して、Test実行中の場合は、goReportメソッドを迂回するようにしてください。

    Test実行中かどうかを判断するには、Test.isRunningTest() で判断できます。

    返信先: kintoneとのデータの渡し方について #98
    sweetie
    参加者

    説明を補足しますが、
    CSVファイルは帳票開発ツールのiReportのインプットとして使うだけです。

    実際のPDFファイル作成時は、ReportsConnectのサーバーがRestAPIを使用してkintone環境からデータを読み取ります。

    sweetie
    参加者

    オブジェクトのカスタムボタンに指定するVisualforceおよびコントローラーは、そのオブジェクトタイプのstandardControllerのExntesionsになっている必要があります。
    具体的には、ブログの例ではOptunityのカスタムボタンなので、Visualforceが

    <apex:page standardController=”Opportunity” //←ここ
    extensions=”OpportunityPrint” action=”{!doPrintMt}”>
    </apex:page>

    となっているわけで、 standardController=のところに、該当のカスタムオブジェクトのタイプを指定しないと、そのVisualforceをカスタムボタンに指定できないと思います。

    この部分を確認してみてください。

    返信先: インストール時のエラーについて #88
    sweetie
    参加者

    インストールしようとしているリンクはReportsConnect for Salesforceの以下のページのダウンロードリンクでしょうか?

    http://www.reportsconnect.com/rc5.html

    このリンクでエラーになるようならば、Salesforce側の問題だと思われます。

    一時的にインストールがエラーになる現象は以前にも経験した事はあります。

    恐れ入りますが、Salesforceの窓口にお問い合わせください。

    sweetie
    参加者

    >しかしここで「コピー」という言葉が使われている通り、kintoneのルックアップはいわゆる完全なリレーションではなくて、
    >ルックアップ時にコピーするだけのものなので、その後一方の値が変わっても、他方の値は置いてきぼりなんですよね。

    これは、知りませんでした。しかし、マスタールックアップがきちんとできないというのは問題ですね。Kintoneはテーブル間Joinの機能がかなり弱いという印象です。
    なにしろ、ルックアップを使用した場合、REST APIからは前述のアプリAからアプリBのデータにアクセスできないどころか、アプリBの外部キーに相当するルックアップのフィールドではアプリA側のアプリIDすらわからないのでほとんどお手上げです。

    おっしゃるとおり、自前の外部キーを作って、それでアプリ間を関連付けるのは一つの方法だと思います。REST APIで読むとすると、複数回APIを発行すれば読めるでしょう。

    ただし、ReportsConnectで実現するには、そのJoinを表現するための自前のクエリーの文法を作るような事になってしまうでしょう。
    今のところ、標準のAPIの文法の範囲で、1回のクエリー文で読めるものをデータソースとするという方針はSalesforceの方も含めて変更する予定はありません。(残念ですが)
    Kintone側のAPIの進展を待ちたいと思います。

    また、その他の解決方法として、プログラムをある程度書く覚悟であれば、印刷に必要なデータ項目を揃えた印刷用のアプリを用意して、印刷時にあちこちのアプリからデータを読んでそこにセットしてやって、ReportsConnectにはその印刷用のアプリを読ませてやるという手はあると思います。ReportsConnect側のAPIで読み込む対象のアプリは自由に選択できるので。
    (Salesforce側でそういう方法で対処しているという例を聞いた事があります)

    sweetie
    参加者

    実は、ご指摘の機能が実現できないかTryしてみたのですが、
    このケースの場合、私の調べた限り、KintoneのアプリA側のデータから1対NのN件側のデータにREST APIでアクセスする方法がありません。
    したがって、アプリAを対象とした場合、ReportsConnectからB側のデータを出すことはできません。

    しかし、逆に1対NのN件側のアプリから1側のデータをアクセスするのはルックアップを経由して可能なはずです。
    このケースで帳票印刷するとすれば、アプリB側のルックアップからアプリA側の必要なフィールドをすべてルックアップのフィールドのコピーの機能を使用してB側で見られるようにしておけば、アプリBを対象とした帳票を作る事で実現できるとおもいますが、いかがでしょう?

    sweetie
    参加者

    ReportsConnect fo Kintoneの開発者のものです。

    まことに、おっしゃるとおり、1アプリから複数ボタンを配置するうまい方法がありませんでした。
    そこで、サーバーから提供しているJavascriptに少々機能を追加して、比較的簡単にそれが可能なようにしました。
    アプリ側の方は、従来のJavascriptに追加するボタンに関する部分を追記する事になりますが、技術ブログにその方法を記述しましたので、以下の記事を参考にしてください。
    http://kptech.cocolog-nifty.com/blog/2014/03/reports-conne-2.html

    なお、サーバーからロードされるJavascriptがブラウザーにキャッシュされていて更新されない場合がありますので、念のためにページをブラウザーで開いた状態でctl+F5キーを押してからお試しください。

    sweetie
    参加者

    こちらからエラーメッセージを確認することが出来なかったのですが、”Null”という文字列が渡っているのが原因かもしれません。その場合下記の方法で対処出来ます。
    ①.帳票オブジェクトの[Nullを空文字に置換]プロパティにチェックを入れる。
    ②.Expressionを以下の通りに
    $F{TXX__c}!=null&&$F{TXX__c}.length()>0?new Double($F{TXX__c}):””

    sweetie
    参加者

    nullと空文字どちらも対応する場合は下記の形で通るかと思います。
    $F{TXX__c}!=null&&$F{TXX__c}.length()>0?new Double($F{TXX__c}):0

    返信先: 子リレーションを含んだ帳票 #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

    返信先: 子リレーションを含んだ帳票 #55
    sweetie
    参加者

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

    Reports Connect for Salesforce:Subreportで複合的な帳票を作成
    http://kptech.cocolog-nifty.com/blog/2012/11/reports-conne-2.html

    sweetie
    参加者

    ReportsConnect 1.16よりログインユーザ固定化オプションが使用可能となりましたので、運用レポートを決まった時間に帳票にしてメール送付する等が現在では可能です。
    詳しくはこちらのページを参照してください。

12件の投稿を表示中 - 106 - 117件目 (全117件中)