Php 调用open_session_cb为odoo 8.0中的pos创建新会话

Php 调用open_session_cb为odoo 8.0中的pos创建新会话,php,odoo,odoo-8,Php,Odoo,Odoo 8,我试图通过api服务在odoo 8.0中的pos中创建一个新会话,但参数有一个错误 我正在使用php连接odoo服务 $models->execute\u kw( $db, $uid, $password, “pos.session.opening”, “开放式会话”, 数组(), 数组() ); 这给了我下一个错误: TypeError:open\u session\u cb()至少接受4个参数(3个给定参数)简短回答:尝试以下方法: $models->execute_kw( $

我试图通过api服务在odoo 8.0中的pos中创建一个新会话,但参数有一个错误

我正在使用php连接odoo服务

$models->execute\u kw(
$db,
$uid,
$password,
“pos.session.opening”,
“开放式会话”,
数组(),
数组()
);
这给了我下一个错误:
TypeError:open\u session\u cb()至少接受4个参数(3个给定参数)

简短回答:尝试以下方法:

$models->execute_kw(
   $db,
   $uid,
   $password,
   'pos.session.opening',
   'open_session_cb',
   array(array($pos_session_id)),
   array()
);
详细回答:函数
open\u session\u cb
/addons/point\u of\u sale/wizard/pos\u session\u opening.py
第41行定义如下:

41 def open_session_cb(self, cr, uid, ids, context=None):
       ...
44     wizard = self.browse(cr, uid, ids[0], context=context)
调用堆栈中的一级是
/openerp/service/model.py
第164行(如下引用)

因此,在调用
open\u session\u cb
时,参数
self、cr
uid
由调用函数提供,但您需要提供变量
ids
,该变量应该是一个数组,其中包含与模型
pos.session.opening中的
id
字段对应的整数
在要打开的会话的记录上。

简短回答:尝试以下操作:

$models->execute_kw(
   $db,
   $uid,
   $password,
   'pos.session.opening',
   'open_session_cb',
   array(array($pos_session_id)),
   array()
);
详细回答:函数
open\u session\u cb
/addons/point\u of\u sale/wizard/pos\u session\u opening.py
第41行定义如下:

41 def open_session_cb(self, cr, uid, ids, context=None):
       ...
44     wizard = self.browse(cr, uid, ids[0], context=context)
调用堆栈中的一级是
/openerp/service/model.py
第164行(如下引用)

因此,在调用
open\u session\u cb
时,参数
self、cr
uid
由调用函数提供,但您需要提供变量
ids
,该变量应该是一个数组,其中包含与模型
pos.session.opening中的
id
字段对应的整数
在您要打开的会话的记录中。

我认为我们需要查看更多代码。。。除非有人熟悉奥多。你是否在代码中的任何地方直接调用<代码> OpenSeStaseCB < /Case>函数?Hi@维克托,欢迎到SO:-请考虑在代码列表中添加<代码> Odoo < /代码>。我想我们需要看到更多代码…除非有人熟悉奥多。您是否在代码中的任何地方直接调用<代码> OpenSeStaseCB < /Case>函数?Hi@维克托,欢迎到SO::请考虑在代码列表中添加<代码> Odoo < /代码>。它是有效的,但我认为我错了,我真正想做的是创建一个新的POS会话,这个方法是基于现有的POS Session,但我我想我的想法是错误的,我真正想做的是创建一个新的pos会话,这个方法基于一个现有的pos会话