2013-07-17 77 views

回答

0

通過XML-RPC沒有直接的功能。您必須與對象(又名錶格,如sales.order)進行對話以檢索現有訂單或添加新訂單。

+0

我怕我們想要添加新訂單時,不僅要插入sales.order,還要將數據插入到其他表中。但是我找不到openerp的任何數據庫結構文檔。 – hoangvu68

0

ERPpeek是一個很好的工具,可以更好地掌握Odoo的XML-RPC接口。您可以交互式地(Python)嘗試插入訂單,並在出現問題時報告問題。

+0

我注意到你正在給openerp問題添加odoo標籤。爲什麼不只是使標籤同義詞?我在[openerp標籤](http://stackoverflow.com/tags/openerp/synonyms)上提出了同義詞。如果您同意,請爲此投票。 –

+0

我不知道我能做到這一點。我實際上做不到這一點,它說「你沒有在這個標籤上投票給這個標籤同義詞所需的分數」。看起來它需要一整段時間才能做到這一點,因爲它需要2k5代表。 – guaka

+0

怎麼辦,直到我們有這個標籤的同義詞?添加[odoo]還是不?我認爲有必要轉向使用「Odoo」並且棄用ÖpenERP來解決新的問題。這應該是一個元問題嗎?:) – guaka

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'); 

但我無法將產品順序,但只要我完成這部分我將修改我的職務。

相關問題