本文介绍了XML-RPC Odoo-C#多个搜索条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用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 };
这篇关于XML-RPC Odoo-C#多个搜索条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!