调用 open_session_cb 为 odoo 8.0 中的 pos 创建一个新会话
Call open_session_cb to create a new session for pos in odoo 8.0
我正在尝试通过 api 服务在 odoo 8.0 的 pos 中创建一个新会话,但我遇到了参数错误
我正在使用 php 连接 odoo 服务
$models->execute_kw(
$db,
$uid,
$password,
'pos.session.opening',
'open_session_cb',
array(),
array()
);
tha 给我下一个错误:
类型错误:open_session_cb() 至少需要 4 个参数(给定 3 个)
简答:试试这样的:
$models->execute_kw(
$db,
$uid,
$password,
'pos.session.opening',
'open_session_cb',
array(array($pos_session_id)),
array()
);
长答案:函数 open_session_cb
在 <path_to_v8>/addons/point_of_sale/wizard/pos_session_opening.py
第 41 行定义如下:
41 def open_session_cb(self, cr, uid, ids, context=None):
...
44 wizard = self.browse(cr, uid, ids[0], context=context)
调用堆栈中的上一级是 <path_to_v8>/openerp/service/model.py
第 164 行(引用如下)
160 def execute_cr(cr, uid, obj, method, *args, **kw):
161 object = openerp.registry(cr.dbname).get(obj)
162 if object is None:
163 raise except_orm('Object Error', "Object %s doesn't exist" % obj)
164 return getattr(object, method)(cr, uid, *args, **kw)
因此,当调用 open_session_cb
时,参数 self, cr
和 uid
由调用函数提供,但您需要提供变量 ids
是一个数组,其中包含与模型 pos.session.opening
中的字段 id
相对应的整数
在您要打开的会话的记录中。
我正在尝试通过 api 服务在 odoo 8.0 的 pos 中创建一个新会话,但我遇到了参数错误
我正在使用 php 连接 odoo 服务
$models->execute_kw(
$db,
$uid,
$password,
'pos.session.opening',
'open_session_cb',
array(),
array()
);
tha 给我下一个错误: 类型错误:open_session_cb() 至少需要 4 个参数(给定 3 个)
简答:试试这样的:
$models->execute_kw(
$db,
$uid,
$password,
'pos.session.opening',
'open_session_cb',
array(array($pos_session_id)),
array()
);
长答案:函数 open_session_cb
在 <path_to_v8>/addons/point_of_sale/wizard/pos_session_opening.py
第 41 行定义如下:
41 def open_session_cb(self, cr, uid, ids, context=None):
...
44 wizard = self.browse(cr, uid, ids[0], context=context)
调用堆栈中的上一级是 <path_to_v8>/openerp/service/model.py
第 164 行(引用如下)
160 def execute_cr(cr, uid, obj, method, *args, **kw):
161 object = openerp.registry(cr.dbname).get(obj)
162 if object is None:
163 raise except_orm('Object Error', "Object %s doesn't exist" % obj)
164 return getattr(object, method)(cr, uid, *args, **kw)
因此,当调用 open_session_cb
时,参数 self, cr
和 uid
由调用函数提供,但您需要提供变量 ids
是一个数组,其中包含与模型 pos.session.opening
中的字段 id
相对应的整数
在您要打开的会话的记录中。