0
我想知道如何從mako模板(在我的報告中顯示)從我的openerp 7的表中獲取所有記錄。 據我所知,在我的mako模板中,我有一個名爲objects的迭代器,它是一個browse_record(suri.flete.items_recorrida,1)。從mako模板檢索openerp表中的所有記錄
我的問題是如何獲取表「suri.flete.items_recorrida」的所有記錄,然後只在報告中顯示en_recorrida和finalizado值爲False的項目。
在我的真子模板(flete_rep_webkit.mako):
%for item in objects:
<tr>
<td>${item.descripcion}</td>
<td>${item.origen.nombre}(${item.origen.direccion},${item.origen.localidad})</td>
<td>${item.destino.nombre}, (${item.destino.direccion},${item.destino.localidad})</td>
</tr>
%endfor
在我的解析器.py文件(flete_webkit.py)
import time
from report import report_sxw
from osv import osv
class flete_webkit(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(flete_webkit, self).__init__(cr, uid, name, context=context)
self.localcontext.update({
'time': time,
'cr':cr,
'uid': uid,
})
report_sxw.report_sxw('report.webkit.flete_items_recorrida',
'suri.flete.items_recorrida',
'/suri/flete/report/flete_rep_webkit.mako',
parser=flete_webkit)
在我看來
<report auto="False" id="flete_webkit" model="suri.flete.items_recorrida" name="webkit.flete" file="suri/flete/report/flete_rep_webkit.mako" string="Reporte prueba" report_type="webkit" />
在我的.py文件(flete.py)
class items_recorrida(osv.osv):
_name = "suri.flete.items_recorrida"
_columns = {
'name' : fields.related('descripcion', 'name', type="many2one", relation="suri.flete.items_recorrida", string='Descripcion',context="{'form_view_ref' : 'suri.flete.formulario_flete_items_recorrida', 'tree_view_ref' : 'suri.flete.arbol_flete_items_recorrida'}"),
'estado' : fields.boolean('Estado', required=True),
'descripcion' : fields.char('Descripcion', size=128, required = True),
'documentacion' : fields.char('Documentacion', size=128, required = False),
'origen': fields.many2one('res.partner.sedes','Origen', required=True),#FK->res.partner.sedes
'destino': fields.many2one('res.partner.sedes','Destino', required=True),#FK->res.partner.sedes
'pedido_por': fields.many2one('res.users','Pedido por', required=True),#FK->res.users
'id_flete': fields.many2one('suri.flete.recorrida','Numero de flete',required=False),#FK->suri.flete.recorrida
'nota': fields.char('Nota',size=128,required=False),
'proyecto': fields.many2one('suri.proyectos.proyecto','Proyecto',required=False),#FK->suri.proyectos.proyecto
'dimension': fields.char('Dimension Estimada', size=128, required = False),
'peso': fields.char('Peso Estimado', size=128, required = False),
'fragil': fields.boolean('Es fragil?', required=False),
'urgente': fields.boolean('Es urgente?', required=False),
'en_recorrida': fields.boolean('Esta en recorrida?', required=False,),
'finalizado': fields.boolean('Esta finalizado?', required=False,)
}
_defaults = {
'en_recorrida' : False,
'finalizado' : False,
}
_rec_name = 'descripcion'
在此先感謝。
您好,感謝您的幫助,我真的很欣賞它!我已經修改了代碼,但是它在調試器中引發了這個錯誤:'File'/usr/lib/python2.7/dist-packages/mako/runtime.py',841行,在_exec_template中 callable_ (上下文,* args,** kwargs) 文件「內存:0xb10e82c」,第43行,在render_body中 %中的項目在get_records()中: TypeError:'未定義'對象不可調用'任何想法是什麼錯誤? – ssaid
別忘了在'__init __。py'中導入你的解析器。 – sajadkk
像一個魅力! – ssaid