我的销售订单模板中有以下rml:
<section>
[[ repeatIn(o.order_line, 'l') ]]
<blockTable colWidths="250.0,92.0,21.0,80.0,85.0" style="Táblázat2">
<tr>
<td>
<para style="P13">[[ l.name ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ formatLang(l.product_uos and l.product_uos_qty or l.product_uom_qty, digits=0) ]] </para>
</td>
<td>
<para style="P13">[[ l.product_uos and l.product_uos.name or l.product_uom.name ]]</para>
</td>
<td>
<para style="P9">[[ formatLang(l.price_unit, digits=0 ) ]] [[ o.pricelist_id.currency_id.name ]]</para>
</td>
<td>
<para style="P9">[[ formatLang(l.price_subtotal, digits=0) ]] [[ o.pricelist_id.currency_id.name ]]</para>
</td>
</tr>
</blockTable>
<para style="P15">
[[ l.product_id.description_sale ]]
</para>
<image height="260" width="520">[[ o.state=='draft' and get_product_attachment(1, l.product_id) or removeParentNode('image')]]</image>
</section>
(有很多这样的图像标签具有不同的索引。我刚剥离了代码。)
然后我的报告生成器定义
def get_product_attachment(self, index, product):
context = {}
attach = self.pool.get('ir.attachment').search(self.cr, self.uid, [('res_id','=',product.id), ('name','ilike', 'pict%d' % index)])
attach = attach and self.pool.get('ir.attachment').browse(self.cr, self.uid, attach[0]) or False
if attach:
print 'a', product.id, index, attach, attach.datas[:30]
return attach.datas
else:
return False
这一切似乎都运行正常,print语句显示的结果不同,但最终的pdf却没有!
在pdf中,所有图像对于给定的索引都是相同的。
有什么想法吗?
答案 0 :(得分:0)
我遇到了同样的问题。
我换了:
<image width='6cm' height='6cm'>[[ item['image'] ]]</image>
使用:
<para>[[ item['image'] and setTag('para','image',{'width':'6cm','height':'6cm'}) ]][[ item['image'] ]]</para>
我的问题解决了。
转换为您的问题应该是:
<para>[[ o.state=='draft' and get_product_attachment(1, l.product_id) and setTag('para','image',{'width':'260','height':'510'})]][[get_product_attachment(1, l.product_id)]]</image>
(这可能包含很多错误,rml不是我的专长,但通过一些调试,这应该可以工作)
答案 1 :(得分:0)
这被认为是a bug in openerp并且已经修复。