2017-11-21 29 views
1

私はアンドロイドodoo-mobileフレームワークを使用していますこれは私がcreateRecord()の助けを借りてオンラインレコードを挿入する方法です今odooデータベースのmanyTomanyとoneTomanyフィールドにレコードを挿入したい私はそれを挿入する方法を知らない。 ありがとう!1つに多く挿入多くの多く1つのフィールドに

これは私が新しいレコードをオンラインで挿入/作成する方法です。

protected OdooResult doInBackground(Void... voids) 
{ 
    ORecordValues values = new ORecordValues(); 
    values.put("partner_id", Integer.parseInt(resPartnerArrayList.get(idc).get_id())); 
    String UTCDate = toUTCTime(binding.qOrderDate.getText().toString()) 
     values.put("date_order", UTCDate); 
     if(!expDate.isEmpty()) 
     { 
     values.put("validity_date",binding.qExpirationDate.getText().toString()); 
     } 
     if(!paymentTerms.isEmpty()) 
     { 
     values.put("payment_term_id", Integer.parseInt 
           (paymentTermArrayList.get(idP).get_id())); 
     }    
     if(!binding.qUntaxedAmount.getText().toString().isEmpty()) 
     { 
     values.put("amount_untaxed",binding.qUntaxedAmount.getText().toString()); 
     } 
     if(!binding.qTotal.getText().toString().isEmpty()) 
     { 
     values.put("amount_total", binding.qTotal.getText().toString()); 
     } 
     if(!binding.qTaxes.getText().toString().isEmpty()) 
     { 
     values.put("amount_tax", binding.qTaxes.getText().toString()); 
     } 
    return odoo.createRecord("sale.order", values); 
} 

答えて

1

これは私のために働くコードです。

ORecordValues orderlineValues = new ORecordValues(); 
List<Integer> tax_id = new ArrayList<>(); 
for (int j = 0; j < finalOrderlineData.get(i).getTaxes().size(); j++) 
{ 
    tax_id.add(Integer.parseInt(finalOrderlineData.get(i).getTaxes().get(j))); 
} 
List<Object> m2mRecords = new ArrayList<>(); 
m2mRecords.add(6); 
m2mRecords.add(false); 
m2mRecords.add(tax_id); 
List<Object> manyToManyRecord = new ArrayList<>(); 
manyToManyRecord.add(m2mRecords); 
orderlineValues.put("tax_id", manyToManyRecord); 
2

関係フィールドコマンドのリストを受け入れる:

[(cammond_valeu, value, value), ........] 

より理解するためにmany2many

[(6, 0, [id1, id2, id3])] # this remove old record and replace them by this new ids 
    [(4,id,0), (4, id2, 0), ....] # this add the list of ids to m2m without removing the old record 
    [(0, 0, {'field_name': value, 'field_name2': value}), ...] # this create an new record from the dictionary and add it to old record 

にIDのリストを挿入するには:

insert into many2many odoo

+0

あなたはアンドロイドからサーバーに有効なデータを渡す方法を見つける必要はありません – Cherif

関連する問題