#はじめに
1行目から蛇足になるのですが、JPiereのタグが無かったので念のために書いておくと、JPiereはiDempiereを日本の商習慣に対応させたモノらしいです。詳しくはJPiereのHPをご覧ください。
私がやったこととしましては、iReportで既存帳票の細々とした修正をしたり、JPiereでサンプルデータを入れてみたり、帳票を出して見たり、ということです。
今回、iReportではSQLによりデータを取得しています。
iReportもiDempiereも触るのが初めてでしたので、作業をしていると所々で不明点が出てきました。
ですが、検索しても解決方法は出てきませんでした。
そこで、書いておかないと私がすぐに忘れてしまうため、実際にやってみて分からなかったこと、分かりにくかったことを、今、覚えているだけ書いていきたいと思います。
また、作業をするにあたり参考にした投稿はこちらの二つです。
#iReportで困ったところ
iReportで行った修正としては、フィールドの内容変更、位置の変更です。
-
iReportでは、どこにどのような内容を載せるのかという範囲が定まっており、項目はこれを超えて配置すると怒られます。なのですが、一旦配置したものをカーソルキーで移動させたり、プロパティを弄ったりすると怒られません。(なぜかは不明)
できればしないべきですが、帳票の見た目的にどうしてもそこでなければならない時に使用せざるを得ませんでした。 -
しっかり表示できる範囲を指定しているのに、表示されない場合がありました。結果としてはSQLが違うだけでした。表示ができるはずなのに出来ないときは、SQLを疑ってみてもいいのかもしれないと思いました。動的データはDBから取ってきているため、SQL文がおかしいと表示がされなくなったりします。
- この時にSQLを見ていなくて、結構悩みました……。
-
下線などの記号を入れたい場合(文字に下線を引きたい場合とかではなく、ただそこに線を表示したい時)はStaticTextで入れることができます。ただ、表示範囲を狭くしすぎると表示がおかしくなるため、適度に余裕を持たせて置かないとダメかもしれません。
- 書いている時に気が付きましたが、Lineを使っても良かった……? >>修正なので考えないことにします。
-
TextField、StaticTextの一つの範囲の中に複数のデータを入れることが可能です。その際は、文字列連結のように、+演算子で繋げていきます。
これは複数のフィールドを重ねた時に表示がおかしくなったりする場合に有効です。注意としては、それらのプロパティが共通になるということです。 -
修正したモノがそのまま表示されるわけではないことに注意したい。「結構間を空けたし、きっと出力した時も空いてくれるだろう!」なんていう考えで修正すると全然空いてなくて絶望したりする。きっとJasperレポートの気分次第。小まめに確認しようと思いました。
#JPiereで困ったところ
JPiereはiDempiereで検索しても、JPiereで検索しても、まともに参考になるサイトが見つからなかったので特に大変でした。バグっぽいものがあったり、iDempiereと全然違う箇所があったりするので、深く考えずに触ったほうがいいかもしれないと感じました。
-
基本的に不明点としてあったのは、どこにどの項目があるのか分からないという点です。これについては、検索をかけて出てこなければ諦めて項目を追いかけるしかありませんでした。子タブをズームしていくと見つかるパターンが多かったように思います。
-
帳票には流れがあるため、何かの帳票を元にして、帳票を作成することができます。この時に、元となる帳票が完成になっていないといけない場合や、特定の値が入っていないといけない場合があったりします。元にして作成するときは、その帳票には何が必要になるのかというところを理解しなくてはいけないようです。
- つまるところ、帳票がどのような流れで作られていくべきなのかを理解していれば困ることもなかった。
-
時にJPiereは分かりづらい項目がありました。例えば、「取引先担当者」と「取引先担当者(ユーザー)」です。これらは一見同じようですが、別物と見てもいいかもしれません。例えば、受注伝票を作成しているのであれば、取引先担当者はすぐ近くの項目ですが、確認したい項目は取引先担当者(ユーザー)にあり、それは取引先の子タブだったということがありました。
-
私が行っていたJasperファイルのアップロードは、レポートとプロセスから差し替えたい帳票を探すところから始まりました。差し替えたいファイルを見つけたら、添付ファイル(クリップのようなマークのところ)から差し替える以前のJasperレポートを削除してからアップロードします。こうしないと、ファイル名が同じでも2つファイルが出来てしまっておかしくなるみたいです。
-
DBのカラムがどこに使用されているのか確認する時の手順は、Systemユーザでログインした後、テーブルとカラム>DBテーブル名称等で検索>子タブのカラムにズーム>見たいカラムを選べば、子タブに使用しているフィールドというものが存在しています。
#おわりに
以上が私が作業をしてみて困ったところです。まとめる力が足りずにだらだらと書くだけになってしまって申し訳ないです。さらに、振り返ると単純に仕様を理解していないだけの気もします。とはいえ、実際分かりにくかった(参考に出来るものが無かった)ことは確かだと思います。もう少し商業(?)に詳しければ迷わないのかもしれないと思いました。
あと、iReportのパレットやらなんやらの諸々の表示がめちゃくちゃ小さいのは結局直りませんでした。