仍然使用血腥的OpenOffice Writer來自定義我的sale_order.rml報告。什麼是使用max函數的corret語法
在我的銷售訂單中,我有6個訂單行,提供6種不同交貨時間。我需要顯示六個值中的最大值。
經過多次嘗試之後,我放棄了使用reduce函數,因爲它在大多數情況下工作不正常或不工作。我從來沒有見過這樣的事情。
所以我想我會用最大封裝環如給出一個嘗試:
[[ max(repeatIn(so.order_line.delay,'d')) ]]
我最大的交貨時間是20,我希望看到20(是很好,這將是太容易了,不是!)。
它返回
{'d': 20.0}
至少它包含了我後的值。 但是;如果我試圖操縱這個結果,它就會完全消失。 我曾嘗試:
int(re.findall(r'[0-9]+', max(repeatIn(so.order_line.delay,'d')))[0])
從Python窗口的偉大工程,但返回的OpenERP絕對沒有。
我導入再從我sale_order.py文件,我已經重新編譯成sale_order.pyo:
import time
import re
from datetime import datetime, timedelta
from report import report_sxw
class order(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context=None):
super(order, self).__init__(cr, uid, name, context=context)
self.localcontext.update({
'time': time,
'datetime': datetime,
'timedelta': timedelta,
're': re,
})
我當然有重新啓動服務器多次。我的測試安裝坐在窗戶上。
所以任何人都可以告訴我我做錯了什麼,因爲我可以使它從Python工作,但不能從OpenOffice Writer中使用!
感謝您的幫助!
EDIT 1:
格式
{'d': 20.0}
,根據蟒,字典。不過在Python中,提取從字典就可以做到這一點,像這樣的整數:
>>> dict={'d': 20.0}
>>> print(dict['d'])
20.0
但我怎麼能轉這OpenERP的作家???