En un servidor ubuntu con odoo 10 instalado vamos a crear un nuevo modulo para crear un informe de orden de venta.
Paso 1:
Vamos a la carpeta odoo/odoo-server y lanzamos el siguiente comando con el que creamos la estructura del nuevo modulo en la carpeta custom addons de odoo:
python odoo-bin scaffold report_contrato_ufa /odoo/custom/addons/
Paso 2
Buscamos en la carpeta views del nuevo informe creado el archivo tamplates.xml en el que introduciremos la información necesaria para crear un nuevo informe heredado de otro que ya tenemos creado en nuestro odoo.
Para ello entramos en odoo y vamos a ‘Configuración’> ‘Informes’> ‘Informes’ y buscar el informe que desea modificar. En este tutorial, este será el informe de Presupuesto/Pedido, así que buscaré ‘Pedido’
imagen 1
ahora que ha encontrado su informe, haga clic en él. ¡Esto abrirá una nueva vista donde encontrará toda la información técnica que necesita! Por ejemplo con el informe de cotización:
imagen 2
A la derecha verá un enlace en el que se puede hacer clic llamado ‘Buscar vistas QWeb asociadas’. Haz click en eso. Esto le mostrará una lista de todos los registros asociados a este informe específico. En el ejemplo del informe de cotización:
imagen 3
Por lo general, esto le muestra dos registros XML. ¿Cómo sabes cuál necesitas? El que termina con _document es el registro XML correcto que necesita heredar. Debajo de la columna ‘ID externa’, verá que hay un nombre único, en este ejemplo sale.report_saleorder_document. La primera parte de este texto (venta) es el módulo de donde proviene el informe, la segunda parte (report_saleorder_document) es el nombre del informe que desea heredar y modificar.
Recuerde este valor y ahora abra su archivo XML. Para heredar un informe de QWeb, necesita dos cosas: una identificación de plantilla única y la id de herencia. La identificación de la plantilla puede ser elegida por usted mismo, solo asegúrese de que sea única. Hereit_id debe contener el valor que acaba de encontrar en su informe (sale.report_saleorder_document).
Paso 3
Ahora vamos a modificar el archivo templates.xml añadiendo lo siguiente
<!-- Inherit quotation report (from module sale) --> <template id="report_contrato_ufa" inherit_id="sale.report_saleorder_document"> </template>
De forma que quedará como sigue:
<odoo> <data> <!-- <template id="listing"> --> <!-- <ul> --> <!-- <li t-foreach="objects" t-as="object"> --> <!-- <a t-attf-href="#{ root }/objects/#{ object.id }"> --> <!-- <t t-esc="object.display_name"/> --> <!-- </a> --> <!-- </li> --> <!-- </ul> --> <!-- </template> --> <!-- <template id="object"> --> <!-- <h1><t t-esc="object.display_name"/></h1> --> <!-- <dl> --> <!-- <t t-foreach="object._fields" t-as="field"> --> <!-- <dt><t t-esc="field"/></dt> --> <!-- <dd><t t-esc="object[field]"/></dd> --> <!-- </t> --> <!-- </dl> --> <!-- </template> --> <!-- Inherit quotation report (from module sale) --> <template id="report_contrato_ufa" inherit_id="sale.report_saleorder_document"> </template> </data> </odoo>