如何隐藏报表中的项目?
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。这次它不再显示在报告中。
我对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。这次它不再显示在报告中。