Skip to Content
Menú
This question has been flagged
4 Respostes
9530 Vistes

Hi All,

I'm working on module that generates salary report based on a criteria.I have Created a wizard namely my_module_name.wizard, It's of 'models.TransientModel'.My Wizard has a field named file_name i want this field as my xlsx file's name.

I have already tried this , It doesn't work , it always prints the file attribute's value as file name

<report
id="mymodule_xlsx"
model="mymodule.wizard"
string="SIF Report"
report_type="xlsx"
name="mymodule_xlsx.xlsx"    
    file="mymodule_xlsx"   
print_report_name="(object.file_name)"
menu="False"
attachment_use="0"/>

Please Tell me how do we do this?

Avatar
Descartar
Best Answer

modifying the object from python.

@ api.multi

def print_xlsx(self):

    report = self.env ['ir.actions.report'] ._ get_report_from_name ('module.ng_hemployee_xlsx')

     # en v11 ##################

    report.report_file = "new name"

    return self.env.ref ('module.ng_hemployee_xlsx'). report_action (self)

    # en v9 
    report.name = "new name"

    return self.env ['reporte']. get_action (self, 'module.ng_hemployee_xlsx')



Avatar
Descartar
Best Answer

Hi guys, I solved the problem as follows:
#V12

@api.multi
​def action_print(self): 
    self.env.ref(report_template_xlsx).report_file = "New_name.xlsx"

    return self.env.ref(report_template_xlsx).report_action(self)

Avatar
Descartar
Best Answer

for above you have to override odoo's report method from report  module

Avatar
Descartar
Autor

The report is printing fine.The Problem is with the file Name.

Best Answer

I have solved it by the following way. Hope it helps

# in your wizard model's action method
report_obj = self.env.ref('module.your_report_id')
report_obj.name = f"your_file_prefix_{self.read()[0].get('your_input_filename')}_postfix.xlsx"

return report_obj.report_action(self, data=data)


Avatar
Descartar
Related Posts Respostes Vistes Activitat
9
de juny 23
12982
1
de febr. 23
1712
2
de gen. 22
3789
2
de des. 21
7777
0
de juny 21
1854