The reports will usually follow a basic skeleton, as shown in the following. This can be added to the reports/todo_report.xml
file, just after the <report>
element.
<template id="report_todo_task_template"> <t t-call="report.html_container"> <t t-call="report.external_layout"> <div class="page"> <!-- Report page content --> </div> </t> </t> </template>
The most important elements here are the t-call
directives using standard report structures. The report.html_container
template does the basic setup to support an HTML document. The report.external_layout
template handles the report header and footer, using the corresponding setup from the appropriate company. As an alternative, we can use report.internal_layout
template instead, which uses only a basic header.
Now we have in place, the basic skeleton for our module and report view. Notice that, since reports are just QWeb templates, inheritance can be applied, just like in the other views. QWeb templates used in reports can be extended using the regular inherited views with XPATH expressions.