2015年3月22日日曜日

ハートビート 3/22

久々の更新です。
が、中身はありません。

近況というか、生きているというか、次の更新はどうするつもりかなど現時点の状況シェアということで。。


iDempiereいじりたいです。
しかし現時点全く時間がとれません。というより寝る時間だけは何とか確保できている状態に陥りました。

ありがたくも突然いただいたお仕事、まんまとはまりました(笑)

先月 Open Source ERP group のミーティングに初めて参加させていただいたのですが、早速今月は不参加。

皆様。失礼をお許しください。


来月は行けるかな?行きたいな。

状況見えるまでまだ時間がかかりそうです。

iDempiereのブログの再開も、もちっと時間かかりそうです。
でも続けるつもりですので、再開したらよろしくおねがしいます。

2015年2月22日日曜日

突然ですが

考えても見ればiDempiereに興味を持ってから6ヶ月あまり、

日々iDempiereについて書き綴ってきました。
もちっとまとめて書くべきなのですが、まずは思いついたこと、経験したこと、調べたことを記録する目的のためブログという形をとらせていただきました。

平文で時間軸も前後して読みにくい点多々あるかと思います。
いつかHPという形でまとめなおしたいと思います。

いきなり変な書き出しになってしまいましたが、ここらでちょっとペースダウンとなります。(やめるわけではありません)

iDempiereに時間をめいっぱいつかってきたのですが、本業の方で急遽プロジェクトに参加することになり、明日から久々にプロジェクトワークです。

もともとiDempiereにのめり込んだ理由なのですが、過去の経験でERPを必要とするクライアントは多いものの、ERPの導入の敷居の高さが大きな障害になると感じていたことがあります。

大手を否定する気もありませんし、対立する気もありません。しかしプリセールスの言葉に踊らされて使いもしないライセンスに数億円を無駄にしてしまうクライアントを少なからず目撃してきました。

かといって、大手と契約できる体力のあるクライアントは責任の所在がはっきりできないオープンのERPに手を出すとは思わないのですが、、

逆にもっともっとIT化の体力に限界がある会社様も多いとおもっています。
そういったお店や小規模の企業の方が気軽にチャレンジすることに協力できる環境があればと思っています。
この思いを実現するのに、iDempiereなどオープンソースのERPをどのように導入するのか、どのように活用するのか、使えるのか使えないのかを知りたいと思っています。

これからはプロジェクトワークに参加しつつ、だれでもERPを利用できる環境を作り出すチャレンジをしていきたいと思っています。

たいした投稿は出来ていませんが、そんな思いで継続していきたいと思いますのでお時間あればこれからもたまには訪問いただければ幸いです。



2015年2月19日木曜日

idempiere 2.1 日本語化 & クライアント作成

iDempiere 2.1も Compiere Distribution Lab 殿の日本語ファイルにて日本語化しました。

といっても前回 2.0 で行った方法そのままです。
iDempiere 日本語化ふたたび (Compiere Distribution Lab版)

特に設定画面も2.0から変わることなく、日本語化完了です。

2.1 にて新たに追加されたテーブルに関して、追加して日本語する余地があると思われるのですが気がついたら記述していきます。(suffix が _trl のテーブル群)


つづいて新規にクライアントを作成してみました。

参照:「iDempiere でクライアントを新規作成してみた

基本的には前回の投稿と同じなのですが、
2.1には追加の項目があります。簡単にまとめると下の表の通りです。


必須Column Name2.02.1項目名(CDL)初期値設定値(変更)
*Client nameclientBaba Denshi
Org key組織キー
*Organization Name組織名orgHQ
*Administrative User NameclientAdmin
Administrative User Email
*Normal User NameclientUser
Normal User Email
*Currency通貨USDJP
*CountryUnited StatesJapan
Region地域(都道府県)東京都
City Name
City市(マスタ定義)
ZIP郵便番号162
Address 1住所1高田馬場
BP AccountingTRUE
Product AccountingTRUE
Project Accounting
Campaign Accounting
Sales Region Accounting
Activity Accounting
Use Default COATRUE
*Chart of Account File
Phone電話番号
2nd Phone電話番号2
Fax
Email AddressEメール
Tax ID納税者番号
ちなみに項目名日本語に CDLとありますが、Compiere Distribution Lab 殿の日本語訳を記述してあると捉えてください。

2.1で追加された項目に"User Default COA" というチェックがあり、今回選択してみます。
(以前は "AccountUS.csv"を指定したところです。)

OKを押すとしばし処理中となり、処理完了のメッセージが表示されます。

ここまでは SuperUser で作業しますが、一度ログアウトすると今作成した Baba Denshi で、Admin やら User で接続出来る様になります。



2015年2月17日火曜日

PuTTY 接続の継続

たいした話ではありませんが、、、

VNCや pgAdmin を使用するとき PuTTY にて SSH接続をしています。
このときちょっと触らないでいると、接続がきれてしまっていました。

作業上集中して、なにかをしているのであればあまり気にならないのですが、特に最近 pgAdminで接続しているときなど、他の作業している時に思い出したようにデータの中を確認することが多くなってきました。

というわけで、PuTTY 接続を継続する設定。


Connection から Sending of null packets to keep session active で、60秒おきくらいでサーバーに「活きてますよ−」と信号を送るようにします。(ハートビート)

これで pgAdminは開きっぱなしで置いておけるかな?


iDempiere 2.0 から 2.1 、追加テーブル名

iDempiere 2.0 と 2.1 のテーブルの差について確認してみました。
と言っても、項目や制約、インデックスではなく単純に含まれるテーブルレベルの比較です。



基本 trl テーブルの追加が多いようです。(Translatedの略、多言語の対応用のファイルのようですね。)
また、2.0 に存在したテーブルはすべて2.1に含まれています。(一つ一つの定義は未確認です)


ちなみに c_order テーブルの Column は同じでした。(項目名レベルですが、、)

これだけの情報では「だからなんだ」って事は言えないのですが、、
一応情報共有ということで、、、

_trl テーブルについては下記参照ください。
http://www.adempiere.com/Application_Dictionary
  • Translated – to define translations for a column – in this case you need to define a table and a tab with the same name as the original table and the suffix (_Trl), and create the table with the same key as the parent, language column and the translated columns


追記:
興味本位でいくつかのテーブルをピックアップしてDMLをdiffして確認してみました。

C_BPartner
C_Order
AD_ROLE
これらはまったく同一

AD_USER
は制約等若干追加がありました。

やっぱりだからなんだって事はないのですが、、一応。

2015年2月16日月曜日

idempiere 2.1 初期セットアップ&起動

idempiere 2.1 初期セットアップをします。

私は楽して VNC でサーバーでGUIを起動してここで実行

ターミナルで
/usr/local/bin/idempiere/2.1/idempiere-server/ にて setup.sh を起動すると設定&チェックダイアログが表示されます。

ここで Database Server の Database Name を新規作成した idempiere2.1と変更してみます。




Test してみるとWeb Port 8080でエラー発生。
これは iDempiere2.0が起動している状態だったため、バッティングしてしまっていました。




で、2.0 を kill -15 して、、から再度Test 今度はオールグリーンです。これでセーブして。。 



これまでは2.0だけだったので、サーバー起動時にidempiereの起動まで行っていましたが、一時解除して、手動で 2.0/2.1の起動をするようにしてみます。

このあたりの設定は以前の投稿をご参照ください。

# chkconfig --del idempiere_server_start.sh

最後に起動の確認をしてみます。

# cd /usr/local/bin/idempiere/2.1/idempiere-server
# ./idempiere-server.sh

起動ログがあれこれでて、、、うまくいっているかも。

いつものように Webにて接続してみます。
おおっ、いつもと違う画面だ。

これでしたか、YoutubeなどでRed1さんのデモでよく出てくる画面は、、

画面真ん中の画面にあるiDempiereのサインをクリックすると、、
おおっ、見慣れた画面だ。
(ふと思うと、どうあっても「おおっ」なのね、今時の若者が何でも「やばいっ」っていうことに眉をひそめるほど感情豊かじゃないのね、自分も。。。)


とりあえず SuperUserで、、
でもClientは2.0の時に設定したものは選択出来ませぬ。(当然ですが)

2.1が無事に起動できましたようです。


予想通りデータベース名は 「iDempiereしばり」ではなく、初期設定で指定すればOKでした。(考えてみれば当然ですが、、ネット上では固定の例が多かったのでそのままにしていました。)



現時点当然まっさらな状態です。
次は日本語化が 2.0 と同じ作業でどこまでいけるか確認してきたいと思います。

その次はある程度インポートベースの初期設定かな?いやいや、一旦2.0 に戻って入力画面の間引きによるシンプル化か?微妙です。。。




iDempiere 2.1 ダウンロード& 新DB作成

まず iDempiere 2.1をダウンロードします。

クライアント側でダウンロードしてからサーバーにアップロードするのは面倒なので、サーバーで直接インターネットからダウンロードしてしまいます。(本番環境では??ですが、検証なので楽してしまいます)

一応簡単に私のやり方を残しておきます。
1:AWS上 の CentOSを起動
2:クライアント(Windows)から PuTTY をトンネルして VCNでサーバーに接続
3:サーバーで Firefox から インターネットで SourceForge を開く
4:SourceForgeからidempiereServer.gtk.linux.x86_64.zipをダウンロード




次はサーバー内の所定の位置へ展開ですが、その前に前回(2.0)インストール時の後始末から、、、
以前/usr/local/bin/idempiere 直下に zipファイルを置き、ここで展開するという変なことをしていたので、旧zipファイルは 2.0 にしまっといて、、、

# cd /usr/local/bin/idempiere
# ls
2.0
idempiereServer.gtk.linux.x86_64.zip
# mv idempiereServer.gtk.linux.x86_64 2.0
今回は 2.1ディレクトリを作成してからここに格納することにします。

# pwd
# /usr/local/bin/idempiere
# mkdir 2.1
# cd 2.1
# mv /home/maginger/Downloads/idempiereServer.gtk.linux.x86_64 .
# unzip idempiereServer.gtk.linux.x86_64
展開ログ省略
# ls
idempiereServer.gtk.linux.x86_64       <---展開されたディレクトリ
idempiereServer.gtk.linux.x86_64.zip

このまま 2.0のデータスキーマに接続できるか試したい衝動に駆られますが、何が起きるかわからないので、ここはグッとこらえてPostgreSQLのスキーマー作りに移ります。

iDempiere2.0 のデータベース(DB名 idempiere) を残したまま 新たなデータベースを追加します。(DB名 idempiere2.0)


# su - postgres
-bash-4.1$ createdb --template=template0 -E UNICODE -O adempiere -U adempiere idempiere2.1
-bash-4.1$ psql
psql (9.3.5)
Type "help" for help.
postgres=# \l
                                    List of databases
     Name     |   Owner   | Encoding |   Collate   |    Ctype    |   Access priv
ileges   
--------------+-----------+----------+-------------+-------------+--------------
---------
 idempiere    | adempiere | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 idempiere2.0 | adempiere | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres     | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0    | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres  
 template1    | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres  
(5 rows)

新しいDBは作成できましたが、現時点当然中身は何もありません。最近入れたpgadminで見てみます。




これまで使っていた DB idempiere (赤枠)にはテーブル始め様々なオブジェクトが存在しています。
これに今回追加した DB idempiere2.1 (青枠)はすかすかであることがわかります。


次はDB idempiere2.1(青枠に idempiere2.1 のスキーマをロードしてみます。)
とおもったら、ちょっと失敗発見。

さきほど/usr/local/bin/idempiere/2.1 で dempiereServer.gtk.linux.x86_64.zip を展開したものだから idempiere-server ディレクトリ構成が想定とずれていました。

誤り:/usr/local/bin/idempiere/2.1/dempiereServer.gtk.linux.x86_64/idempiere-server
というわけで余計なディレクトリは省きます。
想定:/usr/local/bin/idempiere/2.1/idempiere-server
修正しておきます。

修正後、idempiere のダンプファイルを生成します。



# pwd
/usr/local/bin/idempiere/2.1/idempiere-server
jar xvf data/seed/Adempiere_pg.jar
ここから処理にちと時間がかかり、処理の途中でターミナル接続しているとセッションが切れてしまうため、VNCで接続している環境で処理を流します。

# psql -d idempiere -U adempiere -f Adempiere_pg.dmp


と前回の経験を活かして工夫したつもりでしたが、あっという間に終わりました。
これはAWS インスタンスを拡張したからだと思われます。

で、ダンプファイル展開後のスキーマを再度確認してみます。


pdadmin で見てみると、 idempiere2.1 にもテーブル等生成されていることがわかります。
ちなみにテーブル数は idempiere2.0 は 816、 idempiere2.1 は840 と増えていることがわかります。

ここまではだいたい予想通り、次はidempiere2.1の初期設定&起動をやってみます。
何がおこることやら。。


iDempiere 2.1 インストール&セットアップ チャレンジ

iDempiere が2.1になっているのは知っていました。
でもこのブログの検証作業を2.0で続けるのか2.1にするのかとても悩ましく。。。

検証を継続するための理想は。。

1: 2.0と 2.1の環境が併存させることができ、切り替えられればうれしい
2: 2.0 のデータスキーマを2.1 に移行できればうれしい

-----------後日記------------
1:環境の共存は出来ました。(起動するバージョンを手動で選択する)
2:SQLレベルでのデータの移行はスキーマが微妙に異なっているためリスクが高いと思われます。やるなら素直に画面からインポートすべきと思われます。
---------------------------------

2.0環境のプログラム群はサーバー上ここにある。
/usr/local/bin/idempiere/2.0/idenpiere-server

じゃ、2.0環境はここに置けばいいだろう。普通に考えて

/usr/local/bin/idempiere/2.1/idenpiere-server

しかし PostgreSQLは?

前回2.0環境構築時に下記のようにしてスキーマを展開。(DB名 idempiere)
# psql -d idempiere -U adempiere -f Adempiere_pg.dmp

このあたりの前回の設定は下記投稿をご参照ください。

AWS EC2 CentOS6.5 に もう一度はじめからPostgreSQL9.3 を インストールしてみた
iDempiere のデータスキーマを PostgreSQL へロードする

DB名を変えればなんとかなる気もするが、、このときDB名は「固定」として扱ったため、変更するとその他設定の調整も必要となると思われる。
現時点は
iDempiere初期設定時にDatabase Server の Database Name を変更すればいいのじゃないか?と、安直に予想。

このあたりの前回の設定は下記投稿をご参照ください。
iDempiere の設定をしてみた。

大きな不安は 日本語勘定科目(COA)のインポートやCompere Distribution Lab殿の日本語環境のインポートまでできるものか?

今後順に試していきたいと思います。
(どこまでできるかな?)


2015年2月4日水曜日

iDempiere:遅ればせながら pgAdmin 設定してみた


これまで iDempiereのデータベースを見るのに直接SQLを叩いていたわけですが、、やはり決して効率が良いとは言えませんでした。

ちょいと内部コードを調べるくらいは苦になりませんでしたが、まずテーブル名確認してから、コラム名調べて、ものによってクライアントや諸条件を WHERE したりするとそれなりに時間を消費するわけで、、

むか〜し、 ORACLE使った時シェアウェアで GUIのDB操作ツールを利用したので、その良さは知っておりました。(もっともっと昔はそんな良い物もなくSQLを打つしかなかったので、驚きました。。)
最近iDempiereの内部コードを確認する機会も増えたこともあり、とうとう PostgreSQLの Adminツールインストールしてみました。

MAC版のもあるのですが、今回 Windows の Putty の SSL を利用するため、王道の WIndows版です。

pgAdmin でググります。(http://www.pgadmin.org   とか)
いろいろなバージョンがありますが、このブログでは PostgreSQL は 9.3 を使っているので pgAdmin v1.18.0 released を選択することにします。
Windows 版を選択し、、、、
------------------
ウィンドゥ右の広告エリアに 050plus の広告が出ていますが、この作業の直前奥さんから「050 plus」ってなに?と質問されてググったので表示されています。どうでもいいことですが、、、
------------------

 と、ここまできて、また選択する バージョンを聞いてきます。。
が、 v1.18.0がありません。。。
ま、 v.1.18.1 でいいか。。。(今のところ不具合ありませんが、ちと気持ち悪いです)
 ダウンロード画面になりますので、 pgadmin3-1.18.1.zip を選択します。
あとはお約束のインストーラー
指示に従い進みます。










 インストールが完了すると起動できます。(当たり前ですが、、)
当然この時点ではまだ接続出来ないので、接続設定を開始します。


ここから pgAdmin ではなく、Putty の設定画面です。
AWS EC2 CentOS に SSH経由で VNC 接続してみる」にて設定した TuTTY の VNC用トンネルに pgAdmin 用トンネルを追加します。

Source Port はなんでもいいので 9002としました。
Destination は pgAdmin 用の 5432を指定します。指定後 Addボタンを押します。

以前も書きましたが、ここであわてて Openボタンを押してはいけません。
一度戻って Save します。その後 Openを押します。(そうしないと設定が記憶されず何度も作業をし直すことになります。)



で、 PuTTYでAWSに接続します。(ターミナルでパスワードも入力し、接続を完了します。)

接続後pgAdmin 側の設定に戻ります。
ファイル -> 新しいサーバーの追加
にて接続するDBを指定します。

ホストは localhost、
Port は先ほど指定したポート番号です。



接続するといきなり サーバー上の postgreSQLのインスタンスが見えます。

あまりにあっけなくて、ちょっと拍子抜けしましたが、、、気を取り直して、、

ためしに サーバー -> iDempiere -> データベース -> iDempiere -> スキーマ -> adempiere -> テーブル
を見てみましょう。

見たいテーブルを選択します。
選択後、表の様に見えるアイコンをクリックすると、そのテーブルの内容がポップアップで表示されます。

ちなみに一度開いてから特定の値で絞り込みたい場合(特定クライアントのデータのみ表示したい時など)、そのデータをクリックしたあと、右クリックをするとメニューダイアログが表示されます。ここで選択フィルターを指定すると、その値が含まれる行のみ抽出してくれます。( MS-Access などの  GUI DBツールを使ったことのある方にはおなじみの機能)



細かい使い方はこれから見てみますが、結構直感的に活用できると思います。

しかし、こんなものまでフリーで使えるなんて、すごい世の中ですね。

2015年1月30日金曜日

iDempiere レポート Report 作成 その2

前回の続きです。

今回はテンプレートをコピーして、修正してきます。
Menu -> System Admin -> General Rules -> Printing -> Print Format
から Order_Header のテンプレートを選択します。

Copy Record アイコンをクリックし、新しくプリントフォーマットを作ります。
Name は適当に変えて保存しておきます。(あとで再修正しますので、適当に、、)
この時点では子タブの中は空白なので驚かないでください。
一度保存したら、ギヤマークのプロセスアイコンをクリックし、 表示されるCopy/Create ボタンを押します。
プリントフォーマットの一覧が出てきますので、そこから先ほどと同様 Order_Header **TEMPLATE** を選択します。

この処理が完了すると、 Name も Order_Header **TEMPLATE** に戻ってしまっていますので、改めて Name を修正して保存します。

これらと同じ作業を Order_Line にも行い Header と Line を新たに作成しておきます。

現時点では Header は **TEMPLATE** のコピーなので、ここから呼び出される明細行はオリジナルのまま、つまり新しく作った Line のフォーマットをいくら修正しても反映されません。

新たに作成した Order_Header Minotta Film を修正して、 Order_Line Minotta Filmを呼び出すように加工します。

Order_Header Minotta Film を開き、子タブのFormat Itemから Order という名称の行を探します。
Included Print Format の指定を Order_Line Minotta Film に修正し保存します。

これであ Order_Header Minotta Film を呼び出せば、明細行も Order_Line Minotta Filmになりました。

次は Order の印刷を行う時、 Order_Header Minotta Film を呼び出すように指定します。
指定方法は前回あらかじめ記載したので省略します。

iDempiere レポート Report 作成 その1

表示する項目名など、始め「なにがなにやら」ですが、いろいろいじって試してみるしかないと思います。
書籍 ADEMPIERE 3.4 ERP SOLUTIONには、サンプルが記載されているので、書籍お持ちの方は「とっかかり」として言われるがままにやってみるのが良いかもしれません。

また、日本語環境で作業を行うと、より項目名がわかりやすく作業のイメージを掴みやすいかもしれません。

iDempiere 日本語化ふたたび (iDempiere Lab版)



iDempiere レポート Report 作成 その1

これまでレポートはよく分からなくて、手つかずで来てしまいました。

書籍 ADEMPIERE 3.4 ERP SOLUTION の中にレポート系の設定手順がありましたのでやってみます。

書籍には、レポートの書式の例も記載さているのですが、こういったデザインに関するものをなぞるのは憚られるため、iDempiere のレポートの構造とレポート作成の操作についてのみ私の理解を書こうと思います。

レポートの日本語問題ですが、前回の日本語化によりレポートでも日本語を表示できるようになったのはいいのですが、英語環境では相変わらずです。(これも設定すればいいのでしょうが、、)

というわけで、設定は英語環境で、レポートの確認は日本語環境で行います。
(住所などアルファベットで書けばいいのですが、、せっかく日本語化もしたことですし<-自分でもちょっと意味不明ですが、、)

まず以前やった Standard Order で送ったメール(標準のレポート)はこんな感じでした。

 修正したのはこんな感じです。まずiDempiere のレポートですが、下の画面を見てください。

Menu -> System Admin -> General Rules -> Printing -> Print Format
様々なレポートフォーマットがあるのがわかります。
色つきの枠が今回関係するところ(ヘッダー部分、明細(Line)も必要です)です。

緑枠はテンプレートです。これをコピーして修正して使います。
赤枠の Order Header Minotta Film が修正したものです。

青枠はこの Client 作成時に自動で作られたものです。標準ではこのレポート書式が使われます。
(始めからこの青枠の書式を修正すれば良いのかもしれませんが、今後複数のレポート書式を作り出せるようにテンプレートからコピーして新たな書式を作ってみることにします。)

複数の書式が存在するということは、どの書式を正ととするかの指定が必要ということです。これを指定するのは次の画面です。

1:Menu -> Performance Analysis -> Accounting Rules -> Document Type
多くの伝票が登録されています。今回はこの中から Standard Order を選択します。
画面下の方に Print Format を指定するフィールドがあります。
まずこの指定がチェックされます。
ここが空欄だった場合次にいきます。

2:Menu -> System Admin -> General Rules -> Printing -> Print Form   (Print Formatではありません)
このは System / Minotta Filem の2種類があります。(他のクライアントの定義は見えていないだけ)
Standard Order は、Order Print Format で指定されているプリント書式を使用します。
ここではすでに新規登録済みの Order_Header Minotta Film が指定されています。標準では Order Header **1000001** xxxxxとか表示されているはずです。

さて、新規にプリント書式を登録する前に、テンプレート開いて構造を確認してみます。
Menu -> System Admin -> General Rules -> Printing -> Print Format
先ほど青枠、赤枠、緑枠があった画面の緑枠の Order_Header **TEMPLATE**を開いた画面です。
子タブは3つあります。
Display Order (どの項目を表示するか、その順番はどうするか?)
Sort Order (まだ確認していませんが、複数出力するときの順番でしょうか?)
Format Item  (出力する項目をどのように表示するか?場所その他)

Display Order は左右で別のウィンドゥがあり、左側で出力する項目を選択(左右三角で指定)し、右側で出力の順番を指定(上下三角で移動)します。

下は Format Item です。
Display Order で指定されている順番に並んでいますので、修正したい項目を選択します。
下は Display Order を開いたところです。
様々な設定項目があります。
あれこれあって難しいのですが、私がいじったのは主に下の属性です。(Format Typeなどにより表示される項目が異なるので必ずしも出ているわけではないのですが)

  • Area
    • ヘッダー部分か、コンテンツか、フッターかを指定します。
  • Relative Position
    • 順番が前の項目からみて、相対的な出力場所指定をするのか、それとも絶対的な出力場所の指定をするのかを指定します。チェックを入れると相対的な指示となります。
    • 例えば、自社情報・顧客情報・ドキュメント情報などそれぞれのブロック的な表現をすることができます。
    • 処理は並び順で行われるため、例えば顧客情報の中で一番始めに出てくる顧客名はこのチェックははずして、 X position, Y positionで出力位置を指定します。
    • 敬称や住所などは顧客名に対して相対的な指定をすれば、あるまとまりを表現することができます。
  • Set NL Position
    • 上の Relative Position と合わせてブロック的な表現をするのに使います。
    • その項目を以降の項目の基準にするかどうかを指定します。つまり Relative Positionで絶対的な位置を指定し、この Set NL Positionでその位置を固定します。すると次の項目からは相対的な指定をすればまとまりを作ることができます。
  • Next Line
    • 相対的な表現の場合、次の行に折り返すかを指定します。
  • X Position / Y Position
    • 絶対的な表現の場合の出力位置をしていします。
  • X Space / Y Space
    • 相対的な表現の場合、例えば顧客名と敬称の間にちょっと間を開けるなど位置を調整します。
ちなみに Format Type が Image の場合、Image URL に JPG などの画像を格納したディレクトリを指定するのですが、その書式例は次の様になります。(場所の善し悪しはともかく。。あと CentoOS 側にてidempiereからアクセスできる必要があります。)

file:///home//idempiere//image//abcd.jpg

スラッシュは始め3つ、あとの区切り部分では2つずつです。

長くなってきたのでここで一度中断します。