これが私のクラスとメソッドです。私はレコードを取得するために書いたばかりで、それらを印刷する必要があります.しかし、openerpをデバッグモードで実行すると、機能しません.そのメソッドにも行きません.&取得メソッドOpenERP 7を明確にする必要もあります
class namelistupdate(osv.osv):
def _mytest_query(self, cr, uid, ids, name, args, context=None):
print ('here is demo sql query function result ')
cr.execute("""SELECT module,(id*5000)as result FROM ir_model_data WHERE id=1""")
res = cr.dictfetchall()
print ('here is demo sql query function result ')
print (res)
def _invoiced_rate(self, cr, uid, ids, name, args, context):
self._mytest_query(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
return res
_name = "checkroll.namelist.update"
_description = "This table is for keeping Name list updates"
_columns = {
'date': fields.date("Date"),
'val': fields.function(_invoiced_rate, method=True, type='float', string='Test', store=True),
}
namelistupdate()
エラーは以下です
クライアント トレースバック (最新の呼び出しが最後): ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/addons/web/http.py"、行 203、ディスパッチ中 response["result"] = method(self, **self.params) ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/addons/web/controllers/main.py"、1074 行目、 call_kw で return self._call_kw(req, model, method, args, kwargs) ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/addons/web/controllers/main.py"、1066 行目、_call_kw 内 return getattr(req.session.model(model), method)(*args, **kwargs) ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/addons/web/session.py",プロキシ内の 43 行目 結果 = self.proxy.execute_kw(self.session._db、self.session._uid、self.session._password、self.model、メソッド、args、kw) ファイル "/home/priyan/Software/openerp-7.0-20130309 -002120/openerp/addons/web/session.py"、31 行目、proxy_method 内 result = self.session.send(self.service_name, method, *args) ファイル「/home/priyan/Software/openerp-7.0-20130309-002120/openerp/addons/web/session.py」、104行目、送信中 xmlrpclib.Fault(openerp.tools.ustr(e),formatted_info)を上げる サーバー トレースバック (最新の呼び出しが最後): ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/addons/web/session.py"、行 90、送信中 return openerp.netsvc.dispatch_rpc(service_name, method, args) ファイル「/home/priyan/Software/openerp-7.0-20130309-002120/openerp/netsvc.py」、293 行目、dispatch_rpc 内 result = ExportService.getService(service_name).dispatch(method, params) ファイル「/home/priyan/Software/openerp-7.0-20130309-002120/openerp/service/web_services.py」、618 行目、ディスパッチ中 res = fn(db, uid, *params) ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py"、188 行目、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" 行131、ラッパー内 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) ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/osv.py"、185 行目、 execute_cr で return getattr(object, method)(cr, uid, *args, **kw) ファイル「/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/orm.py」、4479 行目、作成中 self.pool.get(object)._store_set_values(cr, user, ids, fields2, context) ファイル「/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/orm.py」、4627 行目、 _store_set_values で 結果 = self._columns[f].get(cr, self, ids, f, SUPERUSER_ID, context=context) ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/osv/fields.py" 、行 1131、get で 結果 = self._fnct(obj, cr, uid, ids, name, self._arg, context) ファイル "/home/priyan/Software/openerp-7.0-20130309-002120/openerp/addons/checkroll/checkroll.py", 55行目、_invoiced_rate self._mytest_query(self, cr, uid, ids, name, args, context) TypeError: _mytest_query() は正確に 7 つの引数を取ります (8 つ指定)