跳至内容
菜单
此问题已终结
4 回复
9527 查看

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?

形象
丢弃
最佳答案

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')



形象
丢弃
最佳答案

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)

形象
丢弃
最佳答案

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

形象
丢弃
编写者

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

最佳答案

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)


形象
丢弃
相关帖文 回复 查看 活动
9
6月 23
12981
1
2月 23
1711
2
1月 22
3789
2
12月 21
7777
0
6月 21
1854