我知道我必须像这样构建我的xmlrpc查询:
ids = execute(dbname, uid, pwd, model, 'search', args)
fields = ['field_a', 'field_b', 'field_c']
elements = execute(dbname, uid, pwd, model, 'read', ids, fields)
我需要关于构造args
参数的帮助,以便从以下模型中获取可用元素的列表:
- res.users如
Settings->Users
- 资源公司如
Settings->Companies
- 资源伙伴如
Sales->Customers
和Purchases->Suppliers
- 销售订单如
Sales->Sales Orders
- 科目发票如
Accounting->Customer Invoices
- 采购订单如
Purchases->Quotations
和Purchases->Purchase Orders
更新1
每个模型获取请求都应该返回属于给定公司id的所有id。
args
参数可用于传递匹配记录的条件(sql where
子句):
args = [('name', '=', 'admin')]
ids = sock.execute(dbname, uid, pwd, 'res.users', 'search', args)
将检索管理用户记录(如果有的话)的id。
CCD_ 12是一个3元组的数组。
此处的文档:https://doc.openerp.com/6.0/developer/6_22_XML-RPC_web_services/
我在OpenERP问答中的回答;A、 以及Martin H.Bramwell。我的如下:
我在互联网上看到很多关于如何在OpenERP7上使用xmlrpc的文章,所有这些文章似乎都是基于OpenERP6中的xmlrpc文档。
虽然不太确定,但我认为v6中的xmlrpc文档对于v7来说大多已经过时了。
对于初学者来说,v7上有新的方法和端点。它们是:
Method read | /web/dataset/search_read
Method authenticate | /web/session/authenticate
Method get_session_info | /web/session/get_session_info
Method destroy | /web/session/destroy
对于像我这样有兴趣实现php应用程序的人,我在github上发现了一个非常方便的库,名为php-oe-json。
以下是一些关于如何使用php-oe-json 从OpenERP7检索数据的示例
$oe = new PhpOeJsonOpenERP('http://localhost:8069', 'database_name');
$oe->login('admin', 'pwd');
// Get a list of records from a model.
$products = $oe->read(array(
'model' => 'product.product',
'fields' => array('name', 'id'),
'limit' => 20,
// XXXvlab: bug of openerp 7.0+ which will default domain to "None" if not set, and
// override of ``_search`` doesn't support ``None`` value.
'domain' => array(),
));
echo '<pre>';
print_r($products);
// Get a single record from a model.
$so = $oe->read(array(
'model' => 'sale.order',
'fields' => array('name', 'id'),
'limit' => FALSE,
'domain' => array(array('company_id', '=', 1), array('name', '=', 'SO002')),
));
print_r($so);