XML-RPC Odoo-C#多个搜索条件

人气:154 发布:2022-10-16 标签: c# odoo odoo-8

问题描述

使用CookComputing(xml-rpc.net)尝试搜索mail.tification模型时只有一个条件,这相当简单,您只需调用:

object[] args = new object[1];
object[] subargs = new object[3];
subargs[0] = "partner_id";
subargs[1] = "=";
subargs[2] = partner_id.ToString();
int[] message_count = odooNewProxy.Search(database, userId, odoo_password, "mail.notification", "search", args);

其中搜索定义如下:

[XmlRpcMethod("execute")]
int[] Search(string dbName, int userId, string pwd, string model, string method, object[] filters);

您马上就会得到结果。当您想要调用两个或更多条件搜索(如[('partner_id', '=', 3), ('is_read', '=', False)])时,真正的问题就出现了。有谁知道这方面的线索吗?我尝试传递一个包含两个对象的单个对象(一个带有Partner_id,另一个带有is_read)-这样就行了,但是Odoo也将其作为3对象域,在[]中添加Partner_id。尝试使用字符串,尝试使用带有6个子参数的一个对象-似乎都不起作用。如有任何帮助,我们将不胜感激。

推荐答案

OdooAPI api = GetApiObject();
        object[] filter = new object[3];
        int id = 0;
        filter[0] = new object[3] { "supplier", "=", true };
        filter[1] = new object[3] { "active", "=", true };
        filter[2] = new object[3] { "ref", "=", internal_reference };

956