2011-05-10 40 views
3

我已經在我的銷售訂單模板以下RML:OpenERP的報告似乎緩存圖像數據

<section> 
[[ repeatIn(o.order_line, 'l') ]] 
<blockTable colWidths="250.0,92.0,21.0,80.0,85.0" style="T&#xE1;bl&#xE1;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 

這一切似乎做工精細,打印語句顯示不同的結果,但不是最終的PDF!

在pdf中,對於給定的索引,所有圖像都是相同的。

任何想法?

+0

這被認爲是[openerp中的一個bug](https://bugs.launchpad.net/openobject-server/+bug/640677),並且已經修復。 – Akasha 2011-05-27 07:15:45

回答

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> 

(這可能包含了很多的bug,RML是不是我的專業,但也有一些調試,這應該是能正常工作)