私はOdooのaccount.account
モデルを初めて使っています。コードでaccount.moveを作成する - Odoo v8
Odoo v8でaccount.move
を作成する方法のいくつかの例がありますか? (新API)例えば
は、私はこれらのモデルを持っているとします
class model1(models.Model):
field1 = fields.Float(string="Field 3")
field2 = fields.Float(string="Field 3")
field3 = fields.Float(string="Field 3", compute="compute")
partner_journal = fields.Many2one('account.account', string="Journal")
state = fields.Selection([
('draft','Draft'),
('awaitingraw','Awaiting raw materials'),
('work_in_progress','Print in Progress'),
('delivered','Delivered'),
('cancel','Cancel'),
], string="State")
csheet = fields.One2many('model2', 'sheets', string="Sheets")
@api.depends('field1','field2','field3')
def compute(self):
if self.field1 or self.field2:
self.field3 = self.field1 + self.field2
class model2(models.Model):
field4 = fields.Float(string="Field 4")
field5 = fields.Float(string="Field 5")
field6 = fields.Float(string="Field 6")
sheets = fields.Many2one('model1', string="Sheets")
model2
から、私はfield3
が何であれジャーナルにcredit
する必要があります必要がある、のは言わせて、ジャーナルにaccount.move
を作成する必要がありますpartner_journal
フィールドで選択されています。
すると、私はこのような何かを試してみた:しかし、それは明らかにしないの作品
@api.multi
@api.depends('field1', 'field2', 'field3', 'state', 'csheet')
def accounting_scenarios(self):
for record in self:
if not len(record.partner_journal):
raise Warning('Please Enter Journal !')
if record.state in ('awaitingraw'):
record.partner_journal.debit = record.csheets.field4
を、私たちはaccount.move
を作成し、この方法でする必要があるので、私がしようとしていたことはpartner_journal
に直接書き込むことでしたdebit
フィールドには、field4
数量です。
したがって、動作させるにはaccount.move
を作成する必要があります。
例やアイデアはありますか?
コールは後に必要なすべての引数を渡した後、あなたのDBにこのデータを書き込むための書き込みメソッドを呼び出して、あなたのモジュールからモデルaccount.moveのメソッドを作成します。 –