2015-10-24 55 views
0

我不明白爲什麼會發生這種情況,因爲錯誤顯示對象或函數不可迭代,並且此錯誤來自不是來自任何自定義模塊的基本文件,錯誤表明它是pythonic。在客戶發票中註冊付款時出錯odoo

這是錯誤追溯。的account_voucher模型

Traceback (most recent call last): 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 537, in _handle_exception 
    return super(JsonRequest, self)._handle_exception(exception) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 574, in dispatch 
    result = self._call_function(**self.params) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 310, in _call_function 
    return checked_call(self.db, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/service/model.py", line 118, in wrapper 
    return f(dbname, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 307, in checked_call 
    return self.endpoint(*a, **kw) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 803, in __call__ 
    return self.method(*args, **kw) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/http.py", line 403, in response_wrap 
    response = f(*args, **kw) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/addons/web/controllers/main.py", line 944, in call_kw 
    return self._call_kw(model, method, args, kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/addons/web/controllers/main.py", line 936, in _call_kw 
    return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 250, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/addons/account_check_writing/account_voucher.py", line 93, in create 
    return super(account_voucher, self).create(cr, uid, vals, context=context) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 250, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/addons/mail/mail_thread.py", line 381, in create 
    thread_id = super(mail_thread, self).create(cr, uid, values, context=context) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 250, in wrapper 
    return old_api(self, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 345, in old_api 
    result = method(recs, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/models.py", line 4092, in create 
    record = self.browse(self._create(old_vals)) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 248, in wrapper 
    return new_api(self, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/api.py", line 481, in new_api 
    result = method(self._model, cr, uid, *args, **kwargs) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/models.py", line 4191, in _create 
    updates.append((field, '%s', current_field._symbol_set[1](vals[field]))) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/osv/fields.py", line 409, in <lambda> 
    self._symbol_f = lambda x: _symbol_set_float(self, x) 
    File "/home/viraj/workspace/pansuriya/odoo_v8/openerp/osv/fields.py", line 386, in _symbol_set_float 
    precision, scale = digits 
TypeError: 'function' object is not iterable 

根據代碼,button_proforma_voucher方法應被調用,但控制不來高達是與錯誤之前提出。

回答

2

有小數精確定義digits_compute,同時數字不與舊的API代碼浮法領域工作的工作的問題。

發生這種情況是因爲我從v8的github中提取了最新的代碼,但它並沒有使用最新的代碼,所以我需要更新該字段定義。

import openerp.addons.decimal_precision as dp 


_columns = { 
    'currency_rate' : fields.float(digits_compute=dp.get_precision('Account'), string='Currency Rate'), 
}