ヘルプ

ようこそ!

このフォーラムはOdooに興味がある方はどなたでも参加いただけます。Odooに関する質問を投稿したり、質問に回答したりすることができます。

0

アプリ同士の連携について

現在、Odooアプリで

Contracts Management - Recurring

https://www.odoo.com/apps/modules/11.0/contract/

Sales commissions

https://www.odoo.com/apps/modules/11.0/sale_commission/

を用いて、継続契約による請求と、販売に対する手数料の仕組みを構築しております。

上記2つを連動し継続契約に対して、手数料を発生させたいのですが追加モジュールで連動することは可能なのでしょうか?

イメージとして「Contracts Management - Recurring」にて契約を作成する際に、販売エージェントを選択し、

請求書を作成する際は、エージェント情報を引き継ぐ。

これにより「Sales commissions」でも代理店への手数料計算ができるようにしたいと思っています。

また、「Sales commissions」で仕入れ先請求書を作成できるのですがその際に、


 [object with reference: currency_id - currency.id]

というエラーになりますが、どこから確認すればよいでしょうか?    

アバター
破棄
1 回答
0
Best Answer
上記2つを連動し継続契約に対して、手数料を発生させたいのですが追加モジュールで連動することは可能なのでしょうか?
イメージとして「Contracts Management - Recurring」にて契約を作成する際に、販売エージェントを選択し、
請求書を作成する際は、エージェント情報を引き継ぐ。
これにより「Sales commissions」でも代理店への手数料計算ができるようにしたいと思っています。

モジュールの詳細確認していませんが、これらOCAモジュールにかぶせて追加モジュールを作成してロジック調整することは可能なはずです。


また、「Sales commissions」で仕入れ先請求書を作成できるのですがその際に、
 [object with reference: currency_id - currency.id]
というエラーになりますが、どこから確認すればよいでしょうか?   

デバグしてみないとよくわかりませんが、

https://github.com/odoo/odoo/blob/e5c8071484c883bf78478a39ef2120bcd8f2442d/addons/account/models/account_invoice.py#L694

あたりが怪しいと思いました。

_onchange_journal_id() メソッドはこちら(↓)で呼ばれています。

https://github.com/OCA/commission/blob/821a1cadf4245a2c9eab0a3a1dd3756ff18b43ac/sale_commission/models/settlement.py#L85

2 コメント
アバター
破棄
アバター
江口和志
-

モジュールの詳細確認していませんが、これらOCAモジュールにかぶせて追加モジュールを作成してロジック調整することは可能なはずです

→まずは基本のモジュール作成から勉強してみます。

こういうものの参考ページとかないですかね?

_onchange_journal_id() メソッドはこちら(↓)で呼ばれています。

→ここが怪しいんですね。

currency_id = fields.Many2one(

comodel_name='res.currency', readonly=True,

default=_default_currency)

で定義されたモデルが、

<group>

<field name="company_id" groups="base.group_multi_company"/>

<field name="date_to"/>

<field name="currency_id" invisible="1"/>

<field name="agent_type" invisible="1"/>

</group>

ここで非表示で利用されていたので、表示するようにしたところ、「JP」と表示はされていたので、まったく見当もついてませんでした。

アバター
江口和志
-

2018-11-09 00:19:24,067 8625 ERROR test odoo.sql_db: bad query: b'INSERT INTO "account_invoice" ("id", "state", "date_invoice", "date_due", "reference_type", "move_name", "partner_bank_id", "user_id", "account_id", "currency_id", "team_id", "fiscal_position_id", "partner_id", "company_id", "partner_shipping_id", "access_token", "journal_id", "reconciled", "payment_term_id", "comment", "sent", "type", "create_uid", "write_uid", "create_date", "write_date") VALUES(nextval(\'account_invoice_id_seq\'), \'draft\', NULL, NULL, \'none\', NULL, NULL, 1, 37, NULL, 1, NULL, 10, 1, NULL, \'e1b511bd-cc96-4bea-a361-7e78ec81c0b0\', 2, false, NULL, NULL, false, \'in_invoice\', 1, 1, (now() at time zone \'UTC\'), (now() at time zone \'UTC\')) RETURNING id'

ERROR: null value in column "currency_id" violates not-null constraint

DETAIL: Failing row contains (47, null, null, in_invoice, e1b511bd-cc96-4bea-a361-7e78ec81c0b0, null, null, null, null, none, null, draft, f, null, null, 10, null, null, 37, null, null, null, null, null, null, null, null, 2, 1, f, null, null, null, null, 1, null, null, null, null, null, 1, 2018-11-09 00:19:24.030405, 1, 2018-11-09 00:19:24.030405, 1, null, null, null, null, null, null, null, null).

どうやらDBに登録する際にcurrency_id が引用できていないようです。

ただ、どこにどう記載するのかがわかりません。