Одо Как разработать рабочий процесс в php для счета в XML-RPC?

Я пытаюсь выдвинуть мой счет моей платформы электронной коммерции на odoo. (php — xml-rpc)
Счет создан, но я не нашел, как создать рабочий процесс для изменения статуса в Odoo.

Я нашел что-то в Интернете, но я думаю, что это для старых, и это не работает для Odoo, но OpenERP v6 или 7.

нб: ссылка: http://goo.gl/lBPWnG

//validate the invoice
echo "VALIDATE<BR /><BR />";
$conn->workflow('account.invoice', 'invoice_open', $invoice_id);

У тебя есть идея?

Спасибо

Мой код в XML-RPC, когда я создаю счет в Odoo.

// **********************************
// Write a new concerning the shipping by the service line
// **********************************
// invoice line
$shipping_account_id; // id ofaccount shipping 626000

$val = array (
"invoice_id" => new xmlrpcval($invoice_id, "int"),
"account_id" => new xmlrpcval($shipping_account_id, "int"),
"company_id" => new xmlrpcval($company_id, "int"),
"product_id" => new xmlrpcval($odoo_products_id, "string"),
"name" => new xmlrpcval('Service postale', "string"),
"quantity" => new xmlrpcval('1',"double"),
"price_unit" => new xmlrpcval('20',"double"),
);$client = new xmlrpc_client($server_url . "/xmlrpc/object");
$client->setSSLVerifyPeer(0);

$msg = new xmlrpcmsg('execute');
$msg->addParam(new xmlrpcval($dbname, "string"));
$msg->addParam(new xmlrpcval($uid, "int"));
$msg->addParam(new xmlrpcval($password, "string"));
$msg->addParam(new xmlrpcval("account.invoice.line", "string"));
$msg->addParam(new xmlrpcval("create", "string"));
$msg->addParam(new xmlrpcval($val, "struct"));
$response = $client->send($msg);

0

Решение

Вот метод, который я использовал для создания счета из заказа, и я использую odoo.

public function createInvoiceFromDraft()
{
$saleId = $_REQUEST['customerid'];

$OERP = new OpenERP();
$OERPUserId =  $OERP->login($_SESSION['OERP-username'], $_SESSION['OERP-password']);

//workflow for confirming the order
$r = $OERP->workflow('sale.order', 'order_confirm',  $saleId);$result = $OERP->workflow('sale.order', 'manual_invoice',  $saleId);

$fields = array('name');
$readName = $OERP->searchread(array(array('id','=',$saleId)), 'sale.order', $fields);
$orderName = $readName[0]['name'];$fields = array('id');
$id = $OERP->searchread(array(array('origin','=',$orderName )), 'account.invoice', $fields);
$invoiceId = $id[0]['id'];

$result .= $OERP->workflow('account.invoice', 'invoice_open', $invoiceId);

return $result;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]