フォーラム: 開発 (スレッド #29674)

仕訳プロセスの開発方法について (2011-06-30 08:48 by cozy56 #58282)

ウィンドの構築および、プロセスの開発については、くぼっちさんが寄稿されたThink ITや本を見れば開発方法がわかりますが、仕訳プロセス開発方法については、どこを見ればわかるでしょうか?
(例えば、受取手形台帳ウィンドを開発する場合、仕訳の開発が必要不可欠となります。その仕訳を開発する場合の方法です)

知ってたら教えてください。
(ちなみに、開発するわけではなく、参考として伺っています)

メッセージ #58282 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: 仕訳プロセスの開発方法について (2011-07-04 02:54 by kubotti #58377)

仕訳の処理は以前少し調べました。

Javaクライアントの仕訳ボタンを押すと、
base/src/org/compiere/process/DocumentEngine.java
1213行目
postImmediate メソッド
が実行されて、

アプリケーションサーバーで
base/src/org/compiere/acct/Doc.java
541行目
post メソッド
が実行されています。

base/src/org/compiere/acct
にある、Doc_XXX.javaが、Docクラスを継承しているので、
各Doc_XXX.javaに書かれているcreateFactsメソッドで、
仕訳データを作成しているはずです。

なので、新しく仕訳処理を作る時は
base/src/org/compiere/acct
にDocクラスを継承したDoc_XXX.javaを作って処理を書きます。
#58282 への返信

メッセージ #58377 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする

RE: 仕訳プロセスの開発方法について (2012-01-04 11:41 by cozy56 #61470)

Doc_XXX.javaのXXX部分の名称方法は、
base/src/org/compiere/acct/Doc.javaの
310~318行目で

String tableName = MTable.getTableName(Env.getCtx(), AD_Table_ID);
String packageName = "org.compiere.acct";
String className = null;

int firstUnderscore = tableName.indexOf("_");
if (firstUnderscore == 1)
className = packageName + ".Doc_" + tableName.substring(2).replaceAll("_", "");
else
className = packageName + ".Doc_" + tableName.replaceAll("_", "");

となっているので、テーブル名依存っぽそう。
#58377 への返信

メッセージ #61470 への返信×

Wiki文法は使えません
ログインしていません。投稿を区別するために投稿者のニックネームをつけてください(ニックネームの一意性は保証されません。全く別の人も同じ名前を利用することが可能ですので本人であることの特定には利用できません。本人であることを保証したい場合にはログインして投稿を行なってください)。 ログインする