Openerp 如何在odoo8中重命名合作伙伴分类账报告?
合作伙伴分类账报告名称默认为“account.report\u partnerlegard.pdf”。我想将其更改为客户名称(例如:john.pdf,如果客户名称为john)。如何做到这一点?可以通过复杂的编码实现,但多亏了odoo社区,我们才有了一个名为Openerp 如何在odoo8中重命名合作伙伴分类账报告?,openerp,odoo-8,Openerp,Odoo 8,合作伙伴分类账报告名称默认为“account.report\u partnerlegard.pdf”。我想将其更改为客户名称(例如:john.pdf,如果客户名称为john)。如何做到这一点?可以通过复杂的编码实现,但多亏了odoo社区,我们才有了一个名为 通过复杂的编码,您可以通过少量的配置来实现这一点,但多亏了odoo社区,我们才有了一个名为 这将允许您通过少量配置来完成安装 转到设置>操作>报告并搜索合作伙伴分类账 填写下载文件名字段。此字段被评估为jinja2模板,其中对象是要打印的记录
通过复杂的编码,您可以通过少量的配置来实现这一点,但多亏了odoo社区,我们才有了一个名为 这将允许您通过少量配置来完成安装 转到
设置>操作>报告
并搜索合作伙伴分类账
填写下载文件名
字段。此字段被评估为jinja2模板,其中对象
是要打印的记录的浏览记录列表,而o
是第一条记录。如果您的模型包含名称字段,您可以编写类似于${o.name}\u report.pdf
的文件名
安装
转到设置>操作>报告
并搜索合作伙伴分类账
填写下载文件名
字段。此字段被评估为jinja2模板,其中对象
是要打印的记录的浏览记录列表,而o
是第一条记录。如果您的模型包含名称字段,您可以编写类似于${o.name}\u report.pdf
的文件名
安装“报告\自定义\文件名”模块,并在报告\路由方法中进行以下更改
def report_routes(self, reportname, docids=None, converter=None, **data):
cr, uid, context,registry = request.cr, request.uid, request.context,request.registry
response = super(ReportController, self).report_routes(
reportname, docids=docids, converter=converter, **data)
if docids:
docids = [int(i) for i in docids.split(',')]
report_xml = http.request.session.model('ir.actions.report.xml')
report_ids = report_xml.search(
[('report_name', '=', reportname)])
options_data = simplejson.loads(data['options'])
partner_id = options_data.get('ids')
for report in report_xml.browse(report_ids):
if not report.download_filename:
continue
#objects = http.request.session.model(report.model).browse(docids or [])
objects = request.registry[report.model].browse(cr, uid, partner_id, context=context)
customer_name = str(objects.name)
generated_filename = email_template.mako_template_env\
.from_string(report.download_filename)\
.render({
'objects': objects,
'o': customer_name,
'object': objects[:1],
'ext': report.report_type.replace('qweb-', ''),
})
response.headers['Content-Disposition'] = content_disposition(
generated_filename)
return response
安装“报告\自定义\文件名”模块,并在报告\路由方法中进行以下更改
def report_routes(self, reportname, docids=None, converter=None, **data):
cr, uid, context,registry = request.cr, request.uid, request.context,request.registry
response = super(ReportController, self).report_routes(
reportname, docids=docids, converter=converter, **data)
if docids:
docids = [int(i) for i in docids.split(',')]
report_xml = http.request.session.model('ir.actions.report.xml')
report_ids = report_xml.search(
[('report_name', '=', reportname)])
options_data = simplejson.loads(data['options'])
partner_id = options_data.get('ids')
for report in report_xml.browse(report_ids):
if not report.download_filename:
continue
#objects = http.request.session.model(report.model).browse(docids or [])
objects = request.registry[report.model].browse(cr, uid, partner_id, context=context)
customer_name = str(objects.name)
generated_filename = email_template.mako_template_env\
.from_string(report.download_filename)\
.render({
'objects': objects,
'o': customer_name,
'object': objects[:1],
'ext': report.report_type.replace('qweb-', ''),
})
response.headers['Content-Disposition'] = content_disposition(
generated_filename)
return response
我使用了${o.name}\u report.pdf,但文件名为False\u report。pdf@Bhanukiran这意味着您报告的对象没有字段
name
@WaIR。按照我的回答所建议的更改后,问题得到了解决,我使用了${o.name}_report.pdf,但我得到的文件名为False\u report。pdf@Bhanukiran这意味着您在按照我的回答进行更改后,报告对象没有字段name
@WaIR,问题已解决请您更加具体。编辑您的问题并添加可用的对象值。对象值为null请您更加具体。编辑您的问题并添加可用的对象值。对象值为null