Python 如何将自定义模型的字段值传递给Qweb报表?
我创建了一个向导,其中我放置了另一个模型中启用报表打印的manyOne字段[名称]。这里发生的事情是,当我选择一条记录并单击打印按钮时,它只打印空报告。因此,可以在这里将数据提取到报告中Python 如何将自定义模型的字段值传递给Qweb报表?,python,xml,openerp,odoo,Python,Xml,Openerp,Odoo,我创建了一个向导,其中我放置了另一个模型中启用报表打印的manyOne字段[名称]。这里发生的事情是,当我选择一条记录并单击打印按钮时,它只打印空报告。因此,可以在这里将数据提取到报告中 def print_report(self, cr, uid, ids, context=None): ob=self.pool.get('book.room') wizard=self.browse(cr,uid,ids,context=context) datas = {
def print_report(self, cr, uid, ids, context=None):
ob=self.pool.get('book.room')
wizard=self.browse(cr,uid,ids,context=context)
datas = {
'ids': wizard.name,
'model': 'book.room',
'form': ob.browse(cr, uid, wizard.name)#[-1]
# 'form': [{'create_uid': (1, u'Administrator'), 'create_date': '2015-10-20 10:32:42', 'name': (1, u'Nani'), '__last_update': '2015-10-20 10:32:42', 'date_end': '12/10/2015', 'date_start': "13/12/1201", 'write_uid': (1, u'Administrator'), 'write_date': '2015-10-20 10:32:42', 'display_name': u'Nani', 'id': 18}]
}
print datas.get('form')
# print datas,'88888888888888'
# print datas['form'],'9999999999999'
return {
'type': 'ir.actions.report.xml',
'report_name': 'hotel_mng.Booking_Details',
'datas': datas,
}
提前谢谢
class print_report(osv.TransientModel):
_name='report.wizard'
_columns={
'room1':fields.many2one('hotel.allroom','roomnum','Room No.')
}
def print_report(self, cr, uid, ids, context=None):
current=self.browse(cr,uid,ids)
obj=self.pool.get('book.room')
k=obj.search(cr,uid,[('name','=',current.name.name)],context=context)
context = {}
data = self.read(cr, uid, ids)[0]
datas = {
'ids': k,
'model': 'report.wizard',
'form': data,
'context':context
}
return{
'type' : 'ir.actions.report.xml',
'report_name' : 'hotel_mng.Booking_Details',
'datas' : datas,
}
print_report()
上面的代码对我来说很好用。。它从参考模型中提取名称并打印报告,谢谢
def print_report(self, cr, uid, ids, context=None):
datas = {}
a=[]
print "---------------------------------------------------------------"
for phone in self.browse(cr, uid, ids, context=context):
b=phone.selection_item
print b
if context is None:
context = {}
datas['ids'] = context.get('active_ids', [])
datas['model'] = context.get('active_model', 'ir.ui.menu')
datas['value']=b
context.update({'names':b})
return {
'type': 'ir.actions.report.xml',
'report_name': 'sales_invoice.report_mom',
'datas': datas,
'context':context}
在报告中
<p align="right"><span t-esc="o._context['names']"/></p>