使用OpenERP作为用户和员工管理后端

时间:2013-09-09 07:43:43

标签: openerp xml-rpc

我正在尝试使用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和其他对象类型背后的概念?

1 个答案:

答案 0 :(得分:0)

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

您应该快速阅读构建OpenERP模型的基础知识(_columns dict声明模型类中的各个字段):

然后您可以开始浏览代码,在获取源代码副本后离线,或通过Launchpad的Web UI(server 7.0addons 7.0

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

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