Das Compute-Feld (Saldo) in der account.report-Klasse hat Speicher = True Parm und es ist abhängig von accounts.accounts.entries.balance, sollte es sich ändern, wenn das Gleichgewicht der abhängigen Feld geändert, funktioniert es, wenn journal.entries manuell aufzeichnen, aber wenn es über die Funktion createjournal() erstellt wird, wird das Konto account.type und account.report nicht aktualisiert. irgendeine Lösung, um die Funktion get_balance zu triggern.Compute-Feld aktualisiert es nicht selbst odoo 8
@api.multi
def createjournal(self):
journal = self.env['journal.entries']
journal.sudo().create({'name': "new record"})
class JournalEntries(models.Model):
_name = 'journal.entries'
debit = fields.Float()
credit = fields.Float()
balance = fields.Float(compute="get_balance", store=True)
@api.depends('credit','debit')
def get_balance(self):
for x in self:
balance = x.debit - x.credit
x.balance = abs(balance)
class ErpAccount(models.Model):
_name = 'erp.account'
entries = fields.One2many('journal.entries','account')
balance = fields.Float(compute="get_balance")
debit = fields.Float(compute="get_debit")
credit = fields.Float(compute="get_credit")
@api.multi
@api.depends('debit','credit')
def get_balance(self):
for x in self:
balance = x.debit - x.credit
x.balance = abs(balance)
@api.multi
def get_debit(self):
for x in self:
x.debit = sum(line.debit for line in x.entries)
@api.multi
def get_credit(self):
for x in self:
x.credit = sum(line.credit for line in x.entries)
class AccountType(models.Model):
_name = 'account.type'
accounts = fields.One2many('erp.account','account_type')
balance = fields.Float(compute="get_balance")
debit = fields.Float(compute="get_debit")
credit = fields.Float(compute="get_credit")
@api.multi
@api.depends('accounts.entries.balance')
def get_balance(self):
for x in self:
x.balance = sum(line.balance for line in x.accounts)
@api.multi
def get_debit(self):
for x in self:
x.debit = sum(line.debit for line in x.accounts)
@api.multi
def get_credit(self):
for x in self:
x.credit = sum(line.credit for line in x.accounts)
class AccountReportName(models.Model):
_name = 'account.report'
types = fields.One2many('account.type','report_account')
balance = fields.Float(compute="get_balance", store=True)
debit = fields.Float(compute="get_debit")
credit = fields.Float(compute="get_credit")
@api.multi
@api.depends('types.accounts.entries.balance')
def get_balance(self):
for x in self:
x.balance = sum(line.balance for line in x.types)
@api.multi
def get_debit(self):
for x in self:
x.debit = sum(line.debit for line in x.types)
@api.multi
def get_credit(self):
for x in self:
x.credit = sum(line.credit for line in x.types)
Ja, aber Speicher ist erforderlich, sonst wird es nicht auf der Suche sowie in Grafik –
angezeigt Sie könnten eine benutzerdefinierte Suchfunktion – JordyRitzen
Und was ist mit Wert des Saldos nicht in der grafischen Ansicht angezeigt –