Fóruns: 開発 (Thread #29674)

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

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

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

Responder a #58282×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

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を作って処理を書きます。
Responder a #58282

Responder a #58377×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login

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("_", "");

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

Responder a #61470×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Login