В настоящее время я использую odoo 8.0. Фактически я создаю продукт, используя API XML-RPC. Здесь код для создания продукта из xml-rpc с использованием php.Как вставить one2many значения в odoo с помощью xml-rpc
$url = "http://localhost:8069";
$db = "xmlcreate";
$username = "admin";
$password = "admin";
require_once('ripcord-master/ripcord.php');
$common = ripcord::client("$url/xmlrpc/2/common");
$uid = $common->authenticate($db, $username, $password, array());
$models = ripcord::client("$url/xmlrpc/2/object");
$product = array('name' => 'Sample',
'type' => 'product',
'list_price' => 4.6,
'standard_price' => 3.25
);
$product_id = $models->execute_kw($db, $uid, $password, 'product.template','create',array($product));
Продукт был успешно выполнен. Затем я вручную создаю имя атрибута Color (attribute_id = 1) и значение green (value_id = 1). Затем я собираюсь обновить вышеупомянутый varaint (Цвет) следующим кодом.
$attributes = array();
$attributes[] = 0;
$attributes[] = 0;
$attributes['attribute_id'] = 1; // attribute is color (color -> 1)
$attributes['values_id'] = array(1); // attribute value is green(green -> 1)
$existing_prodid = 1;
$up_attr_id = $models->execute_kw($db, $uid, $password,'product.template','write',array($existing_prodid, array('attribute_line_ids' => $attributes)));
print_r($up_attr_id);
Ошибок не допущено. Он печатает обновленный идентификатор. Но варианты не обновляются в представлении формы продукта в интерфейсе odoo. «Attribute_line_ids» - это одно2 поля в объекте product.template. Я думаю, что синтаксис неверен для обновления одного2many поля из xml-rpc php. пожалуйста помогите. Заранее спасибо.