如何在odoo 10中通过表单视图上的按钮打开打印视图?

时间:2019-04-12 12:52:41

标签: python odoo

我在表单视图上添加了两个按钮。 列印表格A 打印表格B 现有代码正在产生问题:

  File "/usr/lib/python3/dist-packages/odoo/tools/safe_eval.py", line 350, in safe_eval
return unsafe_eval(c, globals_dict, locals_dict)

文件“”,第1行,在 AttributeError:'model.name'对象没有属性'name'

在处理上述异常期间,发生了另一个异常:

ValueError: <class 'AttributeError'>: "'model.name' object has no attribute 'name'" while evaluating

“((“草稿”,“待处理”,“完成”和“固定-%s”%(对象名称)中的对象状态)或“固定-%s”%(对象名称)中的对象”

<report 
        id="action_report_form_a"
        string="FORM B"
        model="model.name" 
        report_type="qweb-pdf"
        file="module_name.report_firms" 
        name="module_name.form_a"
        print_report_name="(object.state in ('draft','pending', 'done') and 'Firm - %s' % (object.name)) or 'Firm - %s' % (object.name)"
    />


    <report 
        id="action_report_form_b"
        string="FORM B"
        model="firms.registration" 
        report_type="qweb-pdf"
        file="module_name.report_firms" 
        name="module_name.form_b"
        print_report_name="(object.state in ('draft','pending', 'done') and 'Firms - %s' % (object.name)) or 'Firms - %s' % (object.name)"
    />
@api.multi
def get_report_values(self, docids, data=None):
    docs = self.env['model.name'].browse(docids)
    return {
        'doc_ids': docs.ids,
        'doc_model': 'model.name',
        'docs': docs,
        'proforma': True
    }

1 个答案:

答案 0 :(得分:0)

如果odoo_model = self.env['model.name'],则odoo_model._name(请注意下划线)是带有模型名称的字符串(在您的示例中为'name'),但是如果doc_model需要一个真正的Odoo模型,您尝试使用self.env.ref('model.name')(或适当的XMLID)