コンテンツへスキップ
メニュー
この質問にフラグが付けられました
4 返信
9564 ビュー

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
13025
1
2月 23
1736
2
1月 22
3829
2
12月 21
7850
0
6月 21
1914