0

我有一个接受 OValue 的方法:

getResults(OValues values)

方法内部是ff。

ORecordValues value = new ORecordValues();
value.put("order_partner_id", orderline.getPartner(values));
value.put("product_id", orderline.getProduct(values));
value.put("product_uom_qty",values.getInt("product_uom_qty"));
value.put("price_unit", values.getInt("product_uom_qty"));
value.put("discount",values.getInt("product_uom_qty"));
orderline.getServerDataHelper().createOnServer(value);

是否可以直接插入 Odoo 的服务器而不将其保存到 android 的数据库中?或任何其他方法可以成功地将数据插入 Odoo 服务器?

在 ServerDataHelper java 类中:

public int createOnServer(ORecordValues data) {
  OdooResult result = mOdoo.createRecord(mModel.getModelName(), data);
  return result.getInt("result");
}
4

1 回答 1

0

在服务器上创建记录时,您需要传递服务器记录 ID。

将本地行 id(存储在_id列中)传递给selectServerId方法以获取服务器 id(存储在id列中):

检查以下示例

ResPartner resPartner = new ResPartner(getApplicationContext(), null);
ProductProduct productProduct = new ProductProduct(getApplicationContext(), null);

...

ORecordValues value = new ORecordValues();

int partner_id = resPartner.selectServerId(values.getInt("partner_id"));
int product_id = productProduct.selectServerId(values.getInt("product_id"));

value.put("order_partner_id", partner_id);
value.put("product_id", product_id);
value.put("product_uom_qty",values.getInt("product_uom_qty"));
value.put("price_unit", values.getInt("product_uom_qty"));
value.put("discount",values.getInt("product_uom_qty"));

orderline.getServerDataHelper().createOnServer(value);
于 2020-04-09T21:53:25.750 回答