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 の例がありますが、それ以外のものはありません。

res.xxxxxx やその他のオブジェクト タイプの背後にある概念を理解するなど、OpenERP のオブジェクトの操作をさらに深めるためのリソースはありますか?

4

1 に答える 1

0

特定の OpenERP モデルで使用可能なフィールドのリストを探している場合、最適な情報源は、対応する OpenERP モジュールのソース コードです。

OpenERP モデルの構築方法の基本 (_columnsモデル クラスのさまざまなフィールドを宣言する辞書) をすばやく読む必要があります。

次に、ソースのコピーを取得した後にオフラインで、または Launchpad の Web UI (サーバー 7.0アドオン 7.0 )を介して、コードの参照を開始できます。

fields_get特定のモデルの定義へのプログラム/動的アクセスが必要な場合は、API、特にメソッドをさらに深く掘り下げる必要があります。

有用なインスピレーションの源の 1 つは、おそらくあなたがやりたいことと同様のタスクを達成しようとする多数のOpenERP クライアント ライブラリです。Python でのいくつかの例:公式の openerp-client-libERPeek、および Ruby での例: OOOR

于 2013-09-09T09:20:05.473 に答える