我有一个电子商务网站 (PHP)。当我在我的电子商务网站上有订单时,我想将订单插入 OpenERP。我发现 openerp 支持 XML-RPC(https://doc.openerp.com/6.0/developer/6_22_XML-RPC_web_services/#php-example)。但是我想确切地知道该怎么做,因为在文档中我找不到执行此操作的功能。我必须直接插入到 openerp 的数据库或 openerp 已经有功能吗?
问问题
1729 次
3 回答
0
ERPpeek是一个很好的工具,可以更好地掌握 Odoo 的 XML-RPC 接口。您可以交互方式(Python)尝试插入订单,如果出现问题,它将报告问题。
于 2014-07-29T15:32:48.933 回答
0
没有直接的函数可以通过 XML-RPC 来完成。sales.order
为了检索现有订单或添加新订单,您必须与对象(又名表,例如)交谈。
于 2013-07-17T19:54:22.100 回答
0
这是我迄今为止创建的使用 xmlrpc 向某个客户插入新订单的方法。如果它现在有任何帮助,这里是代码。
function createNewOrder($params,$model_name)
{
$client = new xmlrpc_client($this->server . "object");
$client->return_type = 'phpvals';
$msg = new xmlrpcmsg('execute');
$nval = array();
foreach($params as $k=>$v){
$nval[$k] = new xmlrpcval( $v, xmlrpc_get_type($v) );
}
$msg->addParam(new xmlrpcval($this->database, "string")); //* database name */
$msg->addParam(new xmlrpcval($this->uid, "int")); /* useid */
$msg->addParam(new xmlrpcval($this->password, "string"));
/** password */
$msg->addParam(new xmlrpcval($model_name, "string"));
/** model name where operation will held * */
$msg->addParam(new xmlrpcval("create", "string"));
/** method which u like to execute */
// $msg->addParam(xmlrpc_encode($params));
$msg->addParam(new xmlrpcval($nval, "struct"));/** parameters of the methods with values.... */
// $msg->addParam(new xmlrpcval($nval, "struct"));
/** parameters of the methods with values.... */
$resp = $client->send($msg);
if ($resp->errno != 0)
trigger_error("sock_execute error " . $resp->errstr);
return xmlrpc_decode($resp->value());
}
如何使用它:
$order = array(
'partner_id'=> 9
);
$objekti = new OpenERP();
$OERPUserID = $objekti->login($_SESSION['OERP-username'], $_SESSION['OERP-password']);
$order_id =$objekti->createNewOrder($order, 'sale.order' );
但是我在按此顺序添加产品时遇到了麻烦,但是一旦我完成了该部分,我将编辑我的帖子。
于 2015-05-21T09:31:50.817 回答