使用python od打印报表

2024-05-12 18:35:00 发布

您现在位置:Python中文网/ 问答频道 /正文

如何打印customer.payment记录的列表,这些记录处于“使用向导打开”状态。这是我的模块。我在用奥多9。

class CustomerPayment(models.Model):
    _name = 'customer.payment'
    _rec_name = 'name'


    name = fields.Char(default="New")
    invoice_number = fields.Many2one('account.invoice')
    customer = fields.Many2one('res.partner')
    application_id = fields.Many2one('admission.form')
    date = fields.Date()
    reference = fields.Char()
    cashier = fields.Many2one('res.users')
    journal_item = fields.Many2one('journal.item')
    payment_account = fields.Many2one('erp.account', default=default_payment_account)
    payment_line = fields.One2many('payment.line','payment_id')
    description = fields.Text()
    state = fields.Selection([('open','Open'), ('payed','Payed'),('refund','Refund')], default="open")
    total = fields.Float(compute="get_total")
    due_amount = fields.Float(compute="get_payable")
    payed = fields.Float()
    course_id = fields.Many2one('student.course')
    payable = fields.Float()
    discount = fields.Float(compute="get_discount")
    journal = fields.Many2one('erp.journal', default=get_default_journal)
    type = fields.Selection([('sale','Sale'),('purchase','Purchase')])

class report_wizard(models.TransientModel):
    _name = 'report.wizard'

这是函数示例,希望您能理解我的意思。 Account_report是模块名,payment_report是使用打印按钮只打印一条记录的报表。

@api.multi
def print_report(self)
   data = self.env['customer.payment'].search([('state','=','open')])
   return self.env['report'].render('account_report.payment_report', data)

Tags: namereportiddefaultfieldsget记录account