Вы можете получить доступ к методу в openerp так же, как и к другим методам CRUD.Это не описано в документации openerp, но есть возможность доступа к методам, определенным в моделях.
Добавьте приведенный ниже код в файл openerp_models.php из ttps: //doc.openerp.com/6.1/developer/12_api/# XML-RPC веб-сервисов.Загрузите php lib, предоставленный
<?php
public function call_openerp_func($model, $function, $ids) {
$client = new xmlrpc_client($this->server . "object");
$id_val = array();
$count = 0;
foreach ($ids as $id) {
$id_val[$count++] = new xmlrpcval($id, "int");
}
$this->msg = new xmlrpcmsg('execute');
$this->msg->addParam(new xmlrpcval($this->database, "string"));
$this->msg->addParam(new xmlrpcval($this->id, "int"));
$this->msg->addParam(new xmlrpcval($this->password, "string"));
$this->msg->addParam(new xmlrpcval($model, "string"));
$this->msg->addParam(new xmlrpcval($function, "string"));
$this->msg->addParam(new xmlrpcval($id_val, "array"));
//////
*/
// Functions return values
$this->res = &$this->client->send($this->msg);
if ($this->res->faultCode()) {
return 'Error: ' . $resp->faultString();
} else {
$res = $this->res->value();
return $res;
}
}
?>
И вот как вы вызываете вышеуказанную функцию
<?php
// sample for calling function to validate invoice payment
$validate_voucher_payment = $kengen_model->call_function_func('account.voucher',
'button_proforma_voucher', array(8));
?>
Надеюсь, это решит вашу проблему