Создание аккаунта.move по коду - Odoo v8

NeoVe спросил: 14 ноября 2017 в 06:24 в: python

Я новичок в модели account.account Odoo.

Интересно, есть ли какой-нибудь пример того, как создать account.move в Odoo v8? (Новый 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.field2class 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 мне нужно создать account.move в журнал, скажем, мне нужно field3 должно быть credit для любого журнала, выбранного в поле 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, чтобы заставить его работать.

Любой пример или идеи?

0 ответов