【问题标题】:How to get get order from openerp between a specific date dynamically using PHP?如何使用 PHP 在特定日期之间动态地从 openerp 获取订单?
【发布时间】:2018-04-26 17:45:51
【问题描述】:

实际上,我需要帮助才能从 openerp 获取销售订单,我正在获取记录,但问题是当我登录到 openerp 并转到销售订单并检查某个特定日期的记录时,它显示我 22网站上的记录。

同时,我们在脚本中获取销售订单的逻辑是仅获取同一日期的 3 条记录。

We have put logic as below:-
1. We are making connection and getting res.partner id's using below code
$ids = $models->execute_kw($db, $uid, $password,
    'res.partner', 'search',
     array(array(array('is_company', '=', true),
      array('customer', '=', true)
     ))
    );
2. After that I am getting all partner id's for the specific date via below given code
$partner_ids = $models->execute_kw($db, $uid, $password,
      'sale.order', 'search',array(array(array('partner_id', '=', $ids),array('create_date', '>=', '2018-04-17 00:00:00'),array('create_date', '<=', '2018-04-17 23:59:59')))
          );

3. After that I am getting all sales record from the below given code
$saledata=$models->execute_kw($db, $uid, $password,
     'sale.order', 'read',
     array($partner_ids)
    );

上面的代码只给了我很少的订单,但网站上有很多订单。

当我从我的第一个请求中删除 array('is_company', '=', true) 时,它会给出同一日期的 115 条记录。

请告诉我如何获取网站上显示的所有销售订单

【问题讨论】:

  • 我会删除合作伙伴搜索域中的is_company,因为您也可以创建与非公司合作伙伴的销售订单。那么您的订单域上的合作伙伴过滤器应该是'in' 而不是'='。您还必须考虑一个状态过滤器。 Odoo 有一个报价和订单模型,并且 Web 客户端中的菜单已经过滤!在未定制的 Odoo 中,使用状态草稿、发送和取消报价以及销售订单的所有其他状态。

标签: php api odoo-8 odoo


【解决方案1】:

同意@CZoellner,关注他的评论和这些答案。

您似乎正在尝试搜索带有日期的销售订单。所以技术领域名称是“date_order”。

create_date 条件替换为 date_order

您还需要注意以下事项:

  • 销售订单状态,
  • 具体的公司记录,
  • 如果不寻找特定客户,则删除 partner_ids 条件

【讨论】:

    猜你喜欢
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 2015-04-24
    相关资源
    最近更新 更多