我正在尝试使用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和其他对象类型背后的概念?
答案 0 :(得分:0)
如果您正在寻找给定OpenERP模型上可用的字段列表,那么您最好的信息来源是相应OpenERP模块的源代码。
您应该快速阅读构建OpenERP模型的基础知识(_columns
dict声明模型类中的各个字段):
然后您可以开始浏览代码,在获取源代码副本后离线,或通过Launchpad的Web UI(server 7.0,addons 7.0)
现在,如果您的需求包括对给定模型定义的编程/动态访问,您需要深入了解API,特别是fields_get
方法。
一个有用的灵感来源可能是众多 OpenERP客户端库,他们可能会尝试完成类似于您想要做的任务。 Python中的一些示例:the official openerp-client-lib和ERPeek,以及Ruby中的一个示例:OOOR