Muszę zintegrować moduł open erp hr ze stroną php. W tym celu próbowałem użyć XML-RPC. Ale nie wiedziałem, jak uzyskać dostęp do jego metody. Muszę użyć urlopu, grafiku i obliczania listy płac z otwartego erp.

0
user1196798 14 luty 2012, 13:49

3 odpowiedzi

Najlepsza odpowiedź

To pomoże.

http://doc.openerp.com/v6.0/developer /6_22_XML-RPC_web_services/index.html.

1
Serpent Consulting Services 18 luty 2012, 14:44

Możesz uzyskać dostęp do metody w openerp w ten sam sposób, w jaki uzyskujesz dostęp do innych metod CRUD. Nie jest to udokumentowane w openerp doc, ale możliwy jest dostęp do metod zdefiniowanych w modelach.

Dodaj poniższy kod do pliku openerp_models.php z ttps://doc.openerp.com/6.1/developer/12_api/#xml-rpc-web-services. Pobierz dostarczoną bibliotekę php

<?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;
    }
}
 ?>

I tak nazywasz powyższą funkcję

<?php
  // sample for calling function to validate invoice payment
   $validate_voucher_payment = $kengen_model->call_function_func('account.voucher', 
      'button_proforma_voucher', array(8));  
?>

Mam nadzieję, że rozwiązuje twój problem

0
Boniface Irungu 9 grudzień 2013, 17:59

Możesz wypróbować i korzystać z usług internetowych za pomocą

Język programowania Python, Ruby, PHP i Java

Wystarczy kliknąć poniższy link!

https://www.odoo.com/documentation/8.0/api_integration.html

Mam nadzieję, że moja odpowiedź może Ci się przydać :)

0
DASADIYA CHAITANYA 19 styczeń 2016, 15:26