Navigation

    Odoo 中文社区

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    • Users
    • Groups

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    C#调用OpenERP传入或条件

    Odoo 开发与实施交流
    4
    7
    4908
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • wjfonhand
      wjfonhand last edited by

      调用XMLRPC时,Search的条件,怎么使用Or,上次Jeff说用|,我试过不成功。
      传条件时,用的是数组,一个元素的数组,第一个是字段,第二个是操作符,第三个是条件值。

      把数组变成是4个元素,或者把|单独作为一个数组,都调用不了。

      这样的例子我在网上没找到相关内容,有何建议?去哪可能找得到。

      1 Reply Last reply Reply Quote 0
      • Joshua
        Joshua 管理员 last edited by

        最好提供不成功的测试的代码。。

        1 Reply Last reply Reply Quote 0
        • mrshelly
          mrshelly last edited by

          Jeff ,, 快出来看 Jeff.....

          1 Reply Last reply Reply Quote 0
          • W
            wingsing last edited by

            多谢诸位关注!
            以下代码仅仅是为了测试OR条件。
            现在代码的效果是ID>=70  AND ID<=70,得到的结果数是1,请问怎么才传入OR条件?
            另外,怎么传入括号?例如:(ID > 10 and ID <20) OR (ID > 30 and ID < 40)。

                                    ArrayList altFilters = new ArrayList();
                                    object[,] aryFilters = new object[2, 3];
                                    aryFilters[0, 0] = "id";
                                    aryFilters[0, 1] = ">=";
                                    aryFilters[0, 2] = "70";
                                    aryFilters[1, 0] = "id";
                                    aryFilters[1, 1] = "<=";
                                    aryFilters[1, 2] = "70";
                                    altFilters.Add(aryFilters);
                                    object aryIDs = objOE.Execute(objOE.DBName, Convert.ToInt64(objOE.UserId), txtPassword.Text,
                                            OpenERPClient.OpenERPService.Object, strObjectName, txtMethodName.Text, altFilters.ToArray());
                                    int[] aryResult = (int[])aryIDs;
                                    MsgBox.ShowMsg(aryResult.Length.ToString());

            1 Reply Last reply Reply Quote 0
            • mrshelly
              mrshelly last edited by

              ArrayList altFilters ..

              ArrayList aryFilters

              <br />altFilters = new ArrayList();<br />altFilters.Add(&quot;|&quot;);<br /><br />aryFilters = new ArrayList();<br />aryFilters.Add(&quot;id&quot;);<br />aryFilters.Add(&quot;&gt;=&quot;);<br />aryFilters.Add(20);<br />altFilters.Add(aryFilters);<br /><br />aryFilters = new ArrayList();<br />aryFilters.Add(&quot;id&quot;);<br />aryFilters.Add(&quot;&lt;=&quot;);<br />aryFilters.Add(70);<br />altFilters.Add(aryFilters);<br />
              



              1 Reply Last reply Reply Quote 0
              • W
                wingsing last edited by

                谢Shelly兄!
                提示“参数计数不匹配”,我再调试看看。

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post