フォーラムへの返信
-
投稿者投稿
-
sweetie参加者
HNagatomiさん、
恐れ入りますが、再度以下のURLからv1.23をインストールしてみてください。
https://login.salesforce.com/packaging/installPackage.apexp?p0=04tG0000000Mgl7
それで、うまくいかない帳票オブジェクトの画面で、「パラメーター」のテキストエリアに以下の文字列を入れてください
Kps_hostSafix=a
頭のKps_の一文字目は大文字です
これにより、login.salesforce.com方に必ずいくはずです。その状態で、「データの確認」ボタンを押してください。
サブウインドウに出て来る情報のうち、パラメータ一覧 のボックスのなかで、kpsdebug_hostに設定されている値を知らせてください。こんな感じで出ていると思います。↓
“kpsdebug_host”:”kpsr.na11.visual.force.com”
先ほどの投稿に「印刷画面になる正常ケースのURL:」
とありますが、正常にいく場合もあるのですか?sweetie参加者HNagatomi こんにちは
サーバーに渡しているホスト名が化けている可能性があるかもしれません。
クライアント側のプログラムを修正して、文字化けの予防措置をしたものを作成してみました。
恐れ入りますが、以下のURLからReportsconnectをインストールして試してみていただきたいのですが。https://login.salesforce.com/packaging/installPackage.apexp?p0=04tG0000000Mfnh
サンドボックスは以下のURLです
https://test.salesforce.com/packaging/installPackage.apexp?p0=04tG0000000Mfnh
sweetie参加者すみません、それと、印刷テストボタンでも同じ現象とのことですが、印刷ボタンを押すその画面のURLがどうなっているかを教えて下さい。
sweetie参加者度々、恐れいります。
本番環境およびsandboxで、以下を試していただきたいのですが、
①開発コンソールを開き、DebugメニューのOpen Execute Anonimous Windowを選択
②Enter Apex Codeのボックスに以下をいれて execを押す
system.debug(URL.getSalesforceBaseUrl().getHost());
③実行時のlogでdebugに何が返っているか確認する。つまり、各環境で、URL.getSalesforceBaseUrl().getHost() で何が返るのかを知りたいのです。
先ほどの投稿からするとこれが、それぞれ
nippon-neji.my.salesforce.comnippon-neji–sb1.cs6.my.salesforce.com
となっていると思われるのですが、それならば、上はlogin.salseforce、下はtest.salesforceと、言う風に正しく処理されるはずなのですが。
(ピリオドで分割して、最初または2個めに cs+数字 があればsandbox)
ちなみに、host名に — がふくまれているような事は無いですよね。
後、少々気になるのですが、先の投稿で
string baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
String sURL = baseUrl + ‘/apex/クラス名?引数1=’ + 引数値用変数;というcodeが書かれていますが、これは何を意味していますでしょうか?
- この返信は9年、 10ヶ月前にsweetieが編集しました。
sweetie参加者すみません、そのURLではなくて、通常のsalseforceのログイン後のURLを教えてください。
https://cs5.salesforce.com/home/home.jsp
↑このようなURLで、現在、ReportsconnectはこのサーバーURLを手がかりにサンドボックスかどうかを判断しているのです。
ちなみに上のURLは当方のSandboxで本番は
https://ap.salesforce.com/home/home.jsp
となっています。
sweetie参加者HNagatomiさん、失礼しました。
本番環境からでも、sand boxのログインになるのはおかしいですね。
reportsconnect側がsandbox環境だと判断してしまっている可能性があります。うまくいかないケースのsalesforceのURL(本番とsand box)を教えてください。
ちなみに、Salesforce 1 になってからうまくいかないということですが、
Salesforce 1になる、というのは何か設定を変えたということですか?sweetie参加者HNagatomiさん
子ウィンドウに渡すURLを作成する際のクラスのコードの部分は意味がよくわかりませんが、この処理はなにをしているのでしょうか。子ウィンドウに渡されるURLですが、これは正しいURLです
試しに、こちらでこのURLをブラウザーで呼び出すとsandboxのログイン画面となり、こちらで使用しているユーザーIDでログインするとoAuth2.0の認証プロセスが動いて、Reportsconnectの画面が出ます。(環境が正しくないのでエラー画面となりますが)このURLをブラウザーで呼び出してsandboxのユーザーでログインしてReportsconnectの画面になりませんか?
sweetie参加者HNagatomiさんこんにちは
Sandbox環境で実行して、https://test.salesforce.com/のログイン画面になるのは、そのブラウザーSandbox環境にログインしていないならば正しい動きです。試しにそのままログインしてみたらどうなるでしょうか?
Sandbox環境にログインしているのに、新たに開いたWindowでログイン画面が出るとすると、元の画面と開いた新Windowでセッションが共有されていないと思われます。
一部のIEのバージョンでそのような不具合があるという情報を聞いた事があります。
ブラウザーを変えて試してみてください。sweetie参加者takakura さん
サーバー側の実装を修正し、ゲストスペースでのファイル添付の際の画面遷移の不具合を修正しました。
お手数をお掛けしました。ご確認ください。
sweetie参加者サーバー上の実装を確認しますので、少々お待ちください。
sweetie参加者うまくいかないケースでは、
Javascriptの初期処理で、ユーザーID、パスワードが正しく取れていない可能性があると思います。Javascriptで印刷要求時の
kpsrc.gorcprint();
をcallした直後に以下のコードを追加して実行してみてください。
alert(“kpsrc:” + JSON.stringify(kpsrc));
kpsrcというのがパラメーターのオブジェクトです。これで、サーバーに渡すパラメーターが画面で確認できると思いますが、うまくいく時といかない時で違いが無いか確認して下さい。
特に、ユーザーID、パスワードの部分が正しく設定されているかを確認してください。なお、ここで表示される内容にはユーザーID、パスワードが含まれますので、このレスに貼り付けないようにお願いします。
sweetie参加者お使いの環境では、APIアクセスをサポートしていないようです。
恐れ入りますが、APIアクセスをサポートしない環境ではReportsconnectは使用できません。ライセンスに関する情報は、SalesforceのホームページまたはSalesforce社の方にご確認ください。
sweetie参加者Reportsconnectは、基本的にオープンソースのライブラリーを使用する方針で運営しております。
impactというフォントはMicrosoftのライセンスのもののようなので、恐れ入りますが、今のところ、追加する予定はありません。sweetie参加者Reportsconnectのサーバー上に組み込み用のFontとして、追加でInstallしているFontは
IPAmj明朝フォント
IPAexゴシックフォント
の2週類です。
(その他にyubinbcd.ttfというバーコードのフォントが入っています)
その他は組み込みで無いフォントということになりますが、
英字に関して言うと、こちらの資料によると、iTextにビルドインされている14種類のフォントをPDF Font nameに指定して、使用できると思われます。
http://www.tutorialspoint.com/jasper_reports/jasper_report_fonts.htm
その際の、PDF Encodingは、ディフォルトのCP1252で良いと思います。
ご指摘の通り、Font nameはPDFの方には影響を及ぼさないもののようです。sweetie参加者折り返して表示をする事は、該当フィールドのプロパティで Stretch With Overflow を指定することで可能です。
ただし、このオプションを使用するに際に以下の2点の注意点があります。
1.Stretch with Overflowで、縦方向にフィールドが拡大した際に、そのままだと真下にあるフィールドに出力が重なる場合があると思います。その場合の対処方法ですが、以下のページが参考になると思います。
http://community.jaspersoft.com/questions/530110/problem-stretch-overf
lowこれによると、対象のフィールドと、その下のフィールドのPosition TypeをFloatに設定する事によって、拡張分フィールドを下げることが出来るようです。
また、下の部分を行単位に下げたい場合は、行をframeで取り囲んで、そのframeのPosition TypeをFloatに設定する事によって可能と書いてあります。2.Stretch with Overflowを使用する際、拡大するべき文字数でもフィールドが拡大しないという事象が確認されています。
この場合は、IPAamj明朝フォントまたはIPAexゴシックフォントを使用する事で回避できます。
やり方は、こちらの記事を参考にしてください。http://kptech.cocolog-nifty.com/blog/2012/11/reports-conne-1.html
原因は、フォントの大きさの計算がJasperreportで正しくされていないようです。
こちらに、その件のQ/Aがありますが、結論は出ていない模様です。http://community.jaspersoft.com/questions/531750/problem-textfield-str
etch-overflow -
投稿者投稿