我試圖創建一個報告按鈕動態嚮導:創建鏈接下載PDF文件
- 觀點:account_payment.view_payment_order_form
- 型號:payment.order
會計 - >付款 - > Rec。付款訂單 - >表格
我的目標是獲取'line_ids'的每一行並打開一個嚮導,其中包含每行'line_ids'的下載鏈接。
目前我正在嘗試創建一個動態嚮導,但沒有運氣。我不知道是否有可能做到這一點。
感謝您的答案。
我試圖創建一個報告按鈕動態嚮導:創建鏈接下載PDF文件
會計 - >付款 - > Rec。付款訂單 - >表格
我的目標是獲取'line_ids'的每一行並打開一個嚮導,其中包含每行'line_ids'的下載鏈接。
目前我正在嘗試創建一個動態嚮導,但沒有運氣。我不知道是否有可能做到這一點。
感謝您的答案。
嚮導模式:
class my_wizard(osv.TransientModel):
_name = 'my_wizard'
_columns = {
'line_ids': fields.one2many('payment.order', 'Payment order'),
}
Call嚮導(在 「payment.order」 模型):
def call_wizard(self, cr, uid, ids, context):
my_wizard_form_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account_payment', 'my_wizard_form')[1]
lines = []
for line in self.browse(cr, uid, ids, context).line_ids:
lines.append([0, 0, {'line_id': line.id}])
#To create records dyamically
ctx={'default_line_ids': lines}
return {
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'my_wizard',
'views': [(my_wizard_form_id, 'form')],
'view_id': my_wizard_form_id,
'target': 'new',
'context': ctx,
}
嚮導觀點:
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="my_wizard_form" model="ir.ui.view">
<field name="name">my_wizard.form</field>
<field name="model">my_wizard</field>
<field name="type">form</field>
<field name="arch" type="xml" >
<form>
<field name="line_ids" widget="one2many_list">
<tree editable="bottom">
<field name="id"/>
<!-- define "download" function in "payment.line"
<button name='download' type='object' string='download' />
</tree>
</field>
<field name='' />
</group>
</form>
</field>
</record>
<record id="action_my_wizard_form" model="ir.actions.act_window">
<field name="name"></field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">my_wizard</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</data>
</openerp>
按鈕調用嚮導(payment_order視圖):
<button name='call_wizard' type="object" string="WIZARD" />
您應該在payment.line模型中創建download
方法。
def download(self, cr, uid, ids, context):
#To open an URL
'''return {
"type": "ir.actions.act_url",
"url": "LINK TO PDF",
"target": "self",
}
'''
#To generate a report
datas = {
'ids': ids,
'model': 'dossier',
'form': self.read(cr, uid, ids[0], context=context)
}
return {
'type': 'ir.actions.report.xml',
'report_name': 'my_report',
'datas': datas,
'nodestroy': True
}
我希望這會有用。
你的意思是動態?如果你的意思是你需要一個嚮導來提供數據,你可以,但是你需要指定更多。 – dccdany
當嚮導出現時,我需要動態地創建一些字段,並鏈接下載PDF文件。每個鏈接都是payment.order模型的'line_id'。 – Elektro