在Odoo中使用PHP API设置销售订单的tax_id

时间:2016-05-06 11:38:07

标签: php openerp

我在Odoo tax_id模型上设置sale.order.line时遇到了一些奇怪的问题。我的初始代码有点像这样:

$sale_order_line = $models->execute_kw($info['database'], $info['uid'], $info['password'], 'sale.order.line', 'create', array(
  array(
    'name' => $product['name'],
    'order_id' => (int) $sale_order,
    'product_id' => (int) $product['id'],
    'product_uom' => 1,
    'product_uom_qty' => (float) $line_item->quantity->value(),
    'price_unit' => $product['list_price'],
    'tax_id' => array(13),
  )
));

13的id肯定存在,并且已在前端创建的订单行项目上设置。我已经尝试将其作为单个整数,字符串,整数数组,字符串数组,整数数组数组等传递,但在重新检索模型时仍然没有设置tax_id。

我甚至尝试过没有税的create然后再做一个write设置税,因为我认为可能有一个many2many关系,这将是唯一的方法让它识别它们之间的联系,但这也不起作用。

提前致谢。

1 个答案:

答案 0 :(得分:3)

由于tax_id Many2many 字段,因此无法将id的直接数组传递给它。

使用此语法'tax_id'=>array(array(6,0,array(13)))

有关详细信息,请访问我的答案create-a-record-into-many2many-table

我希望它可以解决你的问题。