Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie

i just built a sample employee module but not able to figure out how to add report and print button. help please?

Awatar
Odrzuć
Najlepsza odpowiedź

Hi Ankur,

You will get the print button in the top of the form, by adding a report tag to that module, for getting the print button in your custom module, you just add a code like this,  and you have to define a report template in the corresponding name.

Thank you

<template id="template_id">
<t t-call="report.html_container">
<t t-set="doc" t-value="doc.with_context()" />
<t t-call="report.internal_layout">
<div class="page" >
<t t-call="report.external_layout">
#add the body here
</t>
</div>
</t>
</t>
</template>
<report
id="report_id"
string="String to display"
model="model_name"
report_type="qweb-pdf"
file="module_name.template_id"
name="module_name.template_id"
/>
Awatar
Odrzuć

It only applies to inherited modules that have built-in print function, which method to create print button in new model?

You can try the above for the new report also

Najlepsza odpowiedź

Hi everyone!
Just wanted to share how I managed to add the "Print" button for a custom model in Odoo 15. Hopefully this helps someone!
 
Report Template (QWeb) ​

Here’s an example of a simple report template:

<template id="my_model_report_template">

    <t t-call="web.html_container">

        <t t-foreach="docs" t-as="doc">

            <div class="page">

                <h2>My Model Report</h2>

                <p><strong>Name:</strong> <t t-esc="doc.name"/></p>

                <p><strong>Description:</strong> <t t-esc="doc.description"/></p>

            </div>

        </t>

    </t>

</template>

Report Action
To make the report available and add the "Print" button directly in the form view of your custom model, define the report like this:  


<record id="action_my_model_report" model="ir.actions.report">
    <field name="name">My Model Report</field>
    <field name="model">my.model</field>
    <field name="report_type">qweb-pdf</field>
    <field name="report_name">my_module.my_model_report_template</field>
    <field name="print_report_name">'My Model Report - %s' % (object.name)</field>
    <field name="binding_model_id" ref="model_my_model"/> <!-- This adds the "Print" button -->
</record>


Hope this helps! 

Best regards!

Awatar
Odrzuć
Najlepsza odpowiedź

hi Niyas,

does this method works in odoo 11?

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
0
mar 15
3528
1
sty 16
4014
1
mar 15
5820
1
mar 15
5371
1
kwi 25
1204