我正在尝试为自己的发票创建模板 - 根据http://odoo.guide/report-design-workshop/ 我已经失败了最简单的场景。
当我试图打印发票时,我得到了 “记录不存在或已被删除。”
我只是想知道如何在这里找到有关错误的更多信息。某种调试或错误日志。我可以在/var/log/odoo/odoo-server.log中看到任何内容。
追踪此类错误的odoo默认方式是什么?
修改
以下是我的观点:
报告
<?xml version="1.0"?>
<t t-name="account.netknights_report">
<t call="report.netknights_layout">
<t t-foreach="docs" t-as="o">
<div class="page">
<div class="row">
<h3>Rechnung</h3>
</div>
</div>
</t>
</t>
</t>
布局
<?xml version="1.0"?>
<t t-name="report.netknights_layout">
<t t-call="report.netknights_layout_header">
</t>
<t t-raw="0" />
<t t-call="report.netknights_layout_footer">
</t>
</t>
标题
<?xml version="1.0"?>
<t t-name="report.netknights_layout_header">
<div class="header">
<div class="row">
<div class="col-xs-4 col-xs-offset-8">
<img src="/document/images/NetKnights-800px.png" />
</div>
</div>
</div>
</t>
页脚
<?xml version="1.0"?>
<t t-name="report.netknights_layout_footer">
<!-- Header Architecture -->
<b>Bankverbindung</b>
</t>
然后我创建了这些外部标识符:
account.netknights_report account.netknights_report ir.ui.view 831
report.netknights_layout report.netknights_layout ir.ui.view 319
report.netknights_layout_footer report.netknights_layout_footer ir.ui.view 320
report.netknights_layout_header report.netknights_layout_header ir.ui.view 321
答案 0 :(得分:0)
在您的odoo服务器配置为输出日志记录的任何地方,可能已经存在一些日志记录。检查配置或启动脚本以确定写入日志的位置。
运行报表时可以获取一些日志记录的方法是为报表定义抽象模型。这是一个例子。
class ReportClass(models.AbstractModel):
_name = 'report.myaddon.report_view_id'
@api.multi
def render_html(self, data=None):
_logger = logging.getLogger(__name__)
_logger.info("Creating My Report")
report_obj = self.env['report']
report = report_obj._get_report_from_name('myaddon.report_view_id')
docs = self.env['myaddon.model'].browse(self._ids)
docargs = {
'doc_model': report.model,
'docs': docs,
}
return report_obj.render('myaddon.report_view_id', docargs)
注意记录。这些日志应出现在您的odoo实例配置为登录的任何位置。如果您在开发环境中运行,它可能是标准输出。如果你有一个配置文件或者已经用指定的配置文件启动了你的服务器,它应该显示在那里。如果使用_logger.info,请确保记录信息级别(不是警告或错误)输出。
根据您的报告试图访问系统认为丢失的记录中的数据的声音(抱歉明确说明,我相信您已经知道了)。无论如何,这应该至少让你开始看一些日志记录。
我刚注意到你将你的记录别名为“o”但是你有一个t-raw =“0”表示输出变量“0”的值的原始值,而不是“o”。这可能是一个错字。因为如果你真的只想要0,我认为你会使用
<p>0</p>
或类似的东西。
查看此Odoo Qweb Reports。报告有一些不错的信息。