首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成xlsx报告时Odoo 10错误

生成xlsx报告时Odoo 10错误
EN

Stack Overflow用户
提问于 2018-05-22 04:11:32
回答 2查看 1.2K关注 0票数 2

我想用xlsx导出自定义报表。我尝试在下面的代码,但当我按下按钮导出,它错误的AccessDenied: Access denied

代码语言:javascript
复制
odoo.addons.web.controllers.main: An exception occured during an http request
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\web\controllers\main.py", line 72, in wrap
  File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\web\controllers\main.py", line 1480, in index
  File "C:\Program Files (x86)\Odoo 10.0\server\odoo\http.py", line 118, in dispatch_rpc
  File "C:\Program Files (x86)\Odoo 10.0\server\odoo\service\report.py", line 32, in dispatch
  File "C:\Program Files (x86)\Odoo 10.0\server\odoo\service\security.py", line 13, in check
  File "C:\Program Files (x86)\Odoo 10.0\server\odoo\addons\base\res\res_users.py", line 507, in check
AccessDenied: Access denied

报表XML:

代码语言:javascript
复制
<report 
    id="action_report_excel"
    model="account.invoice"
    string="Export to XLSX"
    report_type="xlsx"
    name="module_name.report_name.xlsx"
    file="module_name.report_name.xlsx"
    attachment_use="False"
/>

Python代码:

代码语言:javascript
复制
from report_xlsx.report.report_xlsx import ReportXlsx

class CustomReportXlsx(ReportXlsx):

    def generate_xlsx_report(self, workbook, data, objs):
        for obj in objs:
            report_name = obj.name
            # One sheet by partner
            sheet = workbook.add_worksheet(report_name[:31])
            bold = workbook.add_format({'bold': True})
            sheet.write(0, 0, obj.name, bold)

CustomReportXlsx('report.module_name.report_name.xlsx', 'account.invoice')

Python向导:

代码语言:javascript
复制
def check_report(self):
    data = {}
    return self.env['report'].sudo().get_action(self, 'module_name.report_name.xlsx', data=data)

帮帮我,拜托

EN

回答 2

Stack Overflow用户

发布于 2018-05-22 06:48:50

为模型account.invoice.添加适当的访问权限当前用户没有从account.invoice模型读取/写入数据的访问权限。

票数 1
EN

Stack Overflow用户

发布于 2020-10-14 10:52:03

在使用了一些与xlsx和其他东西相关的包配置之后,我在我的odoov10社区中遇到了这个问题。

请注意,如果此问题与单个自定义的xlsx报告有关,则肯定与访问级别有关(不幸的是,我所有的xls都面临这一问题)。我可以把我的问题和调查结果归纳如下:

  • 我无法从odoo打印任何XLSX文件
  • 从odoo获取错误框"AccessDenied:访问被拒绝的“,用于”所有“我的excel报表。
  • 错误是从"odoo\addons\base\res\res_users.py“行号503 (5月小变化根据您的odoo克隆)。该函数名为"def check(cls,db,uid,passwd):“。
  • 当我检查一些工作程序时,我发现"passwd“的参数是"False”,这会导致这个访问被拒绝的错误。

银河系解决方案:

因为这个问题在我的本地主机上,而且时间是有限的,所以我只是手动地将我的管理密码传递到这个函数中(甚至它一点也不傻)。

  • 我的"odoo\addons\base\res\res_users.py“代码修改如下:
  • passwd = '<MY_ADMIN_USER_PASSWORD' if not passwd: # empty passwords disallowed for obvious security reasons raise AccessDenied()

如果函数在这个硬代码中失败了,我就修复了这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50459664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档