这是我的错误
2013-03-13 10:31:50,358 11345 ERROR OpenERP_DB openerp.osv.osv: Uncaught exception
Traceback (most recent call last):
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py", line 131, in wrapper
return f(self, dbname, *args, **kwargs)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py", line 197, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py", line 185, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/orm.py", line 4479, in create
self.pool.get(object)._store_set_values(cr, user, ids, fields2, context)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/orm.py", line 4627, in _store_set_values
result = self._columns[f].get(cr, self, ids, f, SUPERUSER_ID, context=context)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/fields.py", line 1137, in get
elif result.get(id):
AttributeError: 'float' object has no attribute 'get'
2013-03-13 10:31:50,363 11345 ERROR OpenERP_DB openerp.netsvc: 'float' object has no attribute 'get'
Traceback (most recent call last):
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/netsvc.py", line 293, in dispatch_rpc
result = ExportService.getService(service_name).dispatch(method, params)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/service/web_services.py", line 618, in dispatch
res = fn(db, uid, *params)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py", line 188, in execute_kw
return self.execute(db, uid, obj, method, *args, **kw or {})
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py", line 131, in wrapper
return f(self, dbname, *args, **kwargs)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py", line 197, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py", line 185, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/orm.py", line 4479, in create
self.pool.get(object)._store_set_values(cr, user, ids, fields2, context)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/orm.py", line 4627, in _store_set_values
result = self._columns[f].get(cr, self, ids, f, SUPERUSER_ID, context=context)
File "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/fields.py", line 1137, in get
elif result.get(id):
AttributeError: 'float' object has no attribute 'get'
2013-03-13 10:31:50,369 11345 INFO OpenERP_DB werkzeug: 127.0.0.1 - - [13/Mar/2013 10:31:50] "POST /web/dataset/call_kw HTTP/1.1" 200 -
这是我的模块源代码
class namelistupdate(osv.osv):
def _invoiced_rate(self, cr, uid, ids, name, args, context):
amount_untaxed = 1
if amount_untaxed == 0:
res = 100.0
else:
res = 50.0
print (res)
return res
_name = "checkroll.namelist.update"
_description = "This table is for keeping Name list updates"
_columns = {
'date': fields.date("Date"),
'value': fields.function(_invoiced_rate, method=True, type='float', string='Test', store=True),
}
namelistupdate()
我也检查了后端表。他们正确创建并且文件也正确操作。请检查一下并通知我这是什么问题
这里显示了我的view.xml文件
<record model="ir.ui.view" id="namelist_update_form">
<field name="name">Name List Update</field>
<field name="model">checkroll.namelist.update</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="namelist_update">
<field name="date" />
<field name="value" />
</form>
</field>
</record>
<record model="ir.ui.view" id="namelist_update_list">
<field name="name">Name List Update</field>
<field name="model">checkroll.namelist.update</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="namelist_update">
<field name="value" />
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_namelist_update">
<field name="name">Name List Update</field>
<field name="res_model">checkroll.namelist.update</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
答案 0 :(得分:2)
请检查您的功能代码。它不像openerp功能代码。
您可以查看此问题链接:How add a function in openERP 7?
答案 1 :(得分:1)
def _invoiced_rate(self, cr, uid, ids, name, args, context):
amount_untaxed = 1
record_id=ids[0]
res={record_id: 0.0}
if amount_untaxed == 0:
res[record_id] = 100.0
else:
res[record_id] = 50.0
print (res)
return res
我需要以字典对象的形式返回结果。和key应该是该记录的id。 只需替换我的功能
积分需要转到Mr.Parth Gajjar @ http://help.openerp.com论坛