【发布时间】:2023-03-10 04:18:01
【问题描述】:
美好的一天!有人可以帮我解决我的问题吗,我已经在 odoo 中创建了一个报告,该报告有一个用户输入,可以在生成 pdf 报告之前按员工和日期期间过滤报告,例如在 Odoo 中的每个部门报告,但是当生成的 pdf 是空的。我刚刚复制了每个部门报告代码的休假。
这是我的示例代码,这是报告菜单中的菜单 瞬态模型
class payslip_per_Employee(models.TransientModel):
_name = 'payroll.payslip.employee'
employee_id = fields.Many2one('hr.employee', 'Employee', required=True)
month_of_from = fields.Selection(genx.MONTH_SELECTION, 'From the Month of', required=True, default = 1)
month_quarter_from = fields.Selection(MONTH_QUARTER_SELECTION, 'Month Quarter', required=True, default = 1)
month_year_from = fields.Integer('Year', required=True, default = genx.YEAR_NOW)
month_of_to = fields.Selection(genx.MONTH_SELECTION, 'To the Month of', required=True, default = 12)
month_quarter_to = fields.Selection(MONTH_QUARTER_SELECTION, 'Month Quarter', required=True, default = 2)
month_year_to = fields.Integer('Year', required=True, default = genx.YEAR_NOW)
def print_report(self, cr, uid, ids, context=None):
data = self.read(cr, uid, ids, context=context)[0]
datas = {
'ids': [],
'model': 'ir.ui.menu',
'form': data
}
return {
'type': 'ir.actions.report.xml',
'report_name': 'hr_payroll_ezra.report_payslip_employee',
'datas': datas,
}
我的瞬态模型中的 XML
<data>
<record id="view_payslip_per_employee" model="ir.ui.view">
<field name="name">payroll.payslip.employee.form</field>
<field name="model">payroll.payslip.employee</field>
<field name="arch" type="xml">
<form string="Payslip Employee">
<group>
<field name="employee_id" />
<field name="month_of_from"/>
<field name="month_quarter_from"/>
<field name="month_year_from"/>
<field name="month_of_to"/>
<field name="month_quarter_to"/>
<field name="month_year_to"/>
</group>
<footer>
<button name="print_report" string="Print" type="object" class="oe_highlight"/> or
<button string="Cancel" special="cancel" class="oe_link"/>
</footer>
</form>
</field>
</record>`enter code here`
<record id="action_payslip_per_employee" model="ir.actions.act_window">
<field name="name">Payslip Employee</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">payroll.payslip.employee</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem
name="Payslip Employee"
parent="hr.menu_hr_reporting_timesheet"
action="action_payslip_per_employee"
id="menu_payslip_per_employee"
icon="STOCK_PRINT"/>
</data>
我的 QWEB 报告
<data>
<report
id="payroll_payslip_employee_ezra"
model="hr.payroll.detail"
string="Employee Payslip"
report_type="qweb-html"
name="hr_payroll_ezra.report_payslip_employee"
file="hr_payroll_ezra.report_payslip_employee"
attachment_use="True"
attachment="object.name+'.pdf'"/>
我的 QWEB 代码太长无法发布,我在将值传递给报告时是否遗漏了什么?请帮忙 再次感谢您的帮助
【问题讨论】:
-
您还可以发布与报告相关的 .py 文件以及报告视图文件(使用引导类和 xml 标签制作)
-
你知道这个标签'form':data有什么用吗?
-
是的,我对 Qweb 有足够的了解
-
如何在 Qweb 中传递输入参数?我只是按照每个部门休假中的代码在 Odoo-8 中工作吗
-
您可以查看我们的 odoo 插件中当前存在的向导类型的报告