3

我有一个电子商务网站 (PHP)。当我在我的电子商务网站上有订单时,我想将订单插入 OpenERP。我发现 openerp 支持 XML-RPC(https://doc.openerp.com/6.0/developer/6_22_XML-RPC_web_services/#php-example)。但是我想确切地知道该怎么做,因为在文档中我找不到执行此操作的功能。我必须直接插入到 openerp 的数据库或 openerp 已经有功能吗?

4

3 回答 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 回答