如何隐藏报表中的项目?

How to hide an item on a report?

我对OpenERP中会计报告的一种方法做了一些修改。我现在的问题是如何使某些项目不可见或删除?特别是,我想在报告中隐藏 "Liability" 及其余额。

我在 get_lines 方法上尝试过这样的事情:

for report in lines:
    if report["name"].lower().replace(" ","") == 'liability':
         del report["name"]
         del report["balance"]

但是当我尝试生成余额 sheet 报告时。它说:

(<type 'exceptions.KeyError'>,KeyError('name',), <traceback object at 0x7f6c4c2903f8>)      

非常感谢任何帮助。

当您尝试访问 不存在 对象键 时,会出现此错误。在你的情况下 "name"。

错误 你遇到的是 "logical" 错误,只需进入调试并查看你在循环内的报告变量中得到了什么。

此外,要更改报告内容(我认为报告是指 pdf 输出 对吗?),您需要覆盖 .rml文件。我认为您正在此处更改报告解析器,如果您知道自己在做什么,这也可以。

在这里您可以找到 RML 文档http://www.reportlab.com/docs/rml2pdf-userguide.pdf

因此,总而言之:更改报告输出内容覆盖或替换解析器,更改结构,hide/add 字段覆盖现有报告(.rml 文件)或创建全新报告。

希望对您有所帮助:)

这可能不是解决问题的好(或者可能是最奇怪的)解决方案,但在阅读了 .rml 之后,我仍然无法理解这就是我所做的。而不是试图删除 report["name"]report["balance"] 我只是将它的值设置为白色space。这次它不再显示在报告中。