ホーム › フォーラム › ReportsConnect for Kintone › レコード番号を帳票へ反映する方法。
-
投稿者投稿
-
2014年3月24日 10:28 AM #82
komatsu
参加者先日は、早速のご回答ありがとうございました!
またご質問です。
タイトルのとおり「レコード番号を帳票へ反映」したいのですが、私が試した限り出来ませんでした。
どうすれば実現できるか、教えて頂けませんでしょうか。また、数値の表示で、1000単位ごとに「,」を入れたいので、添付のように設定したのですが上手く反映されません。
こちらはiReportの設定の問題かと思いますが、もしわかりましたら、教えて頂けると助かります。どうぞよろしくお願いします。
Attachments:
You must be logged in to view attached files.2014年3月24日 2:51 PM #84ino
参加者1.調べてみましたがレコード番号を直接帳票へ出力する方法は見つかりませんでした。
間接的な対処方にしかなりませんが、新たなフィールドを作成し、レコード作成時(編集時)にレコード番号と同じ値を打ち込んでいけばReportsConnectでの出力は可能です。
以下のjavascriptはレコード編集時に自動的にレコード番号を他のフィールドにコピーするコードです。
(function () {
“use strict”;
kintone.events.on(‘app.record.edit.submit’, function (event) {
var recordId= kintone.app.record.getId();
event.record[‘○○○○’][‘value’] = recordId; //○○にはコピー先のフィールドコードを書く
return event;
});})();
javascript使用法
-エディターに上記のプログラムをコピーし、ファイル名を”sample.js” 、文字コードを「UTF-8」にして保存します(ファイル名は任意)
-準備したアプリの設定画面で、保存したファイルを読み込みます
-アプリの設定を完了し、レコード一覧を表示しますしかし残念ながら上記のコードは仕様上、新規レコード作成時にはレコード番号がコピーされません。
新規レコード作成時に自動的に採番を行うサンプルプログラムが公式サイトにあるので必要であればこちらもご参考にしてみてください。
https://developers.cybozu.com/ja/tutorial/sample4.html2.Patternで数値として出力したいのであれば対応するフィールドのクラスも数値を扱えるクラスでなければなりません。
デフォルトでは数値を扱うことのできないStringクラスが指定されているので「,」を入れたいフィールドのTextFieldExpressionを次のように書き換えれば解決するかと思います。
new Double($F{XXXX})
但しこれだとフィールドのデータが空だった場合エラーが出てしまうので、以下のような書き方の方が望ましいです。
$F{XXXX}!=”null”&&$F{XXXX}.length()>0?new Double($F{XXXX}):””2014年3月24日 4:57 PM #85ino
参加者1.レコード番号に関してですが、現在ReportsConnectを修正してレコード番号が出力されるように修正いたしました。
お手数掛けて申し訳ありませんでした。既に作成してしまった帳票にレコード番号を追加したい場合は、改めてReportsConnectからcsvファイルを出力して読み直して頂くか、jxmlファイルにレコード番号フィールドの追加をお願いします。
2014年3月24日 11:42 PM #86komatsu
参加者ありがとうございました!
教えて頂いたとおりにすれば、出来ました!
-
投稿者投稿
- このトピックに返信するにはログインが必要です。