forとif文の下でインデントした場合、generate_invoiceビューを開くための簡単なコードを実行しています。誰が私が行方不明を知っていますか?ここでforループのpython odoo 8のコードに影響していません。
は私のコードは
目的である:コードジョブはループが任意のアカウントがある場合は上げていない場合ははい、ビューを返すかどうかをチェックされるため、支払構造内の任意のエントリを持っている場合generate_invoiceビューを開くことです検証エラーです。
class res_student(models.Model):
_name = 'res.student'
このコードはエラーが発生していません。
@api.multi
@api.depends('payment_structure')
def generate_invoice(self):
for x in self:
for rec in x.payment_structure:
if rec.account == False:
raise ValidationError("Please define a payment structure to Generate Invoice")
else:
form = self.env['generate.invoice']
id = self.id
record = form.create({'student_id': id,
'journal': x.journal.id,
'payment_type': x.payment_account.id})
return {'name': "Generate Invoice",
'type': 'ir.actions.act_window',
'res_model': 'generate.invoice',
'view_id': False,
'view_type': 'form',
'view_mode': 'form',
'res_id' : record.id,
'target': 'new',
'domain': '[]'}
forとif文を削除してから作業してください。私はこのコードをチェックしているため
@api.multi
@api.depends('payment_structure')
def generate_invoice(self):
form = self.env['generate.invoice']
id = self.id
record = form.create({'student_id': id,
'journal': x.journal.id,
'payment_type': x.payment_account.id})
return {'name': "Generate Invoice",
'type': 'ir.actions.act_window',
'res_model': 'generate.invoice',
'view_id': False,
'view_type': 'form',
'view_mode': 'form',
'res_id' : record.id,
'target': 'new',
'domain': '[]'}
#accounting
journal = fields.Many2one('account.journal')
payment_account = fields.Many2one('nominal.account')
payed = fields.Float(compute="get_payment")
discount = fields.Float(compute="get_discount")
payments = fields.One2many('invoice.line','student_id')
payment_structure = fields.One2many('payment.structure','student_id')
class payment_structure(models.Model):
_name = "payment.structure"
student_id = fields.Many2one('res.student')
account = fields.Many2one('nominal.account')
qty = fields.Integer()
unit = fields.Selection([('once','Once'),('month','Month')])
price = fields.Float()
class generate_invoice(models.TransientModel):
_name = 'generate.invoice'
student_id = fields.Many2one('res.student')
month = fields.Integer(string="Months")
payment_type = fields.Many2one('nominal.account', related="student_id.payment_account",)
payment_structure = fields.One2many(related="student_id.payment_structure")
journal = fields.Many2one('account.journal')
コードを編集してください。正しく表示されません。また、「うまくいきません」と記述します。エラーが発生していますか?出力はありませんか?予想とは異なる出力ですか? – Gabriel