我对OpenERP中的会计报表方法做了一些更改。我现在的问题是如何让一些项目不可见或删除?特别是,我想隐瞒"责任"及其在报告中的平衡。
我在get_lines方法上试过类似的东西:
for report in lines:
if report["name"].lower().replace(" ","") == 'liability':
del report["name"]
del report["balance"]
但是当我试图生成资产负债表报告时。它说:
(<type 'exceptions.KeyError'>,KeyError('name',), <traceback object at 0x7f6c4c2903f8>)
非常感谢任何帮助。
答案 0 :(得分:1)
当您尝试访问不存在的对象密钥时,会出现此错误。在你的情况下&#34;名称&#34;。
你有错误是&#34;逻辑&#34;错误,只需进入调试,看看你在循环内的报告变量中得到了什么。
此外,要更改报告内容(以及报告,我认为您的意思是 pdf输出对吗?),您需要覆盖 .rml 文件。我想你在这里改变报告解析器,如果你知道你在做什么也没关系。
您可以在此处找到 RML文档:http://www.reportlab.com/docs/rml2pdf-userguide.pdf
因此,总结:更改报表输出内容覆盖或替换解析器,更改结构,隐藏/添加字段覆盖现有报表( .rml 文件)或创建全新报表。
希望它有所帮助:)
答案 1 :(得分:0)
这可能不是问题的好(或可能是最奇怪的)解决方案,但在阅读.rml之后,我仍然无法理解这就是我所做的。而不是尝试删除报告[&#34;名称&#34;] 和报告[&#34;余额&#34;] ,我只是将其设置为&#39; s价值进入白色空间。这次它不再显示在报告上了。