0

我正在尝试使用 ASP.NET MVC C# 中的 xml-rpc.net 查询 OpenERP 对象以验证用户。

string OERP_DB = "openerpdbname";
        string OERP_USER = "user";
        string OERP_PASSWORD = "password";

        IOpenERPLogin OpenERPAccess = XmlRpcProxyGen.Create<IOpenERPLogin>();
        int UserID = OpenERPAccess.Login(OERP_DB, OERP_USER, OERP_PASSWORD);


        String[] condition = new String[] { "login", "=", "someusername" };
        ArrayList lstFilters = new ArrayList();
        lstFilters.Add(condition);

        IOpenErp OpenERPOperations = XmlRpcProxyGen.Create<IOpenErp>();
        var ids = OpenERPOperations.search(OERP_DB, UserID, OERP_PASSWORD, "res.users", "search", lstFilters.ToArray());

        ArrayList fieldsToRead = new ArrayList();
        fieldsToRead.Add("id");
        fieldsToRead.Add("partner_id");
        fieldsToRead.Add("login");
        fieldsToRead.Add("password");
        fieldsToRead.Add("user_email");
        fieldsToRead.Add("company_id");
        fieldsToRead.Add("company_ids");
        fieldsToRead.Add("signature");
        fieldsToRead.Add("menu_id");
        fieldsToRead.Add("groups_id");
        fieldsToRead.Add("login_date");
        fieldsToRead.Add("name");
        fieldsToRead.Add("active");
        var oerp_results = OpenERPOperations.read(OERP_DB, UserID, OERP_PASSWORD, "res.users", "read", ids.ToArray(), fieldsToRead.ToArray());

问题是我正在阅读文档,但不明白如何获取特定对象(如用户)的对象属性。

res.partners 有一个 Web 服务 CRUD 示例,但没有其他任何示例。

有没有资源可以让我更多地使用 OpenERP 的对象,比如理解 res.xxxxxx 和其他对象类型背后的概念?

4

1 回答 1

0

如果您正在寻找给定 OpenERP 模型上可用的字段列表,您最好的信息来源是相应 OpenERP 模块的源代码。

您应该快速阅读 OpenERP 模型是如何构建的基础知识(_columns在模型类中声明各种字段的字典):

然后,您可以开始浏览代码,或者在获取源副本后离线,或者通过 Launchpad 的 Web UI(服务器 7.0插件 7.0

现在,如果您的需求包括对给定模型定义的编程/动态访问,您需要更深入地研究 API,特别是fields_get方法。

一个有用的灵感来源可能是众多OpenERP 客户端库,它们可能会尝试完成与您想做的类似的任务。Python 中的一些示例:官方的 openerp-client-libERPeek,以及 Ruby 中的一个示例:OOOR

于 2013-09-09T09:20:05.473 回答