19 de marzo de 2012

PHP library for OpenERP - openerplib

openerplib (https://github.com/b3ni/openerplib),

es una librería que escrito en PHP para facilitar operaciones xmlrpc con OpenERP. Está inspirada en el ORM de Django y montada encima de la librería xmlrpc.inc


Métodos disponibles:
  • CRUD sobre modelos
  • Navegabilidad many2one / one2many
  • Ejecutar métodos de modelos
  • Añadir adjuntos
  • ...

Un ejemplo de navegabilidad:

$open = new OpenERP();
$p = $open->res_partner('country')->get(1); 
print $p->id;
print $p->country->id; //many2one => res.country 
print $p->country('name')->name;

Ejemplo de búsquedas:

$fields = array('street', 'email');
$results = $open->res_partner_address($fields)->search('email', '=', 'foo@bar.com');
foreach ($results as $id => $address) {
 print "<h1>" . $id . "</h1>";
 print "<pre>" . $address->info() . "</pre>";
 print "<hr>";
}

2 comentarios:

  1. Hola Benito, muy buen post !
    Queria consultarte si sabes como puedo integrar un formulario web hecho en PHP para que cree una iniciativa en el modulo de CRM, me podrias dar una mano con el código ejemplo ?
    No soy un experto pero me defiendo con PHP, por lo que me vendria barbaro una pequeña guia inicial.

    Los campos de la iniciativa basicamente son:

    Nombre, Email, Teléfono, y alguas variables personalizadas.

    Desde ya muchas gracias !!

    ResponderEliminar
  2. Hola, Necesito buscar, por ejemplo, todas las direcciones de un determinado país.
    Según los ejemplos sería algo así:

    $p = $open->res_country('id')->get(89);
    print $p->id; // verificas la existencia del país con el id 89

    $results = $open->res_partner_address('name')->search('country_id', '=', $p->id);


    "$results" esta vacío!

    Así sucede si se intenta buscar por el valor de un atributo many2one de un objeto.

    Alguna sugerencia?

    ResponderEliminar