Openerp Java API API Errore di creazione
Domanda
Ho un errore per il seguente codice. L'oggetto è HR.attentence. Qualcuno può guidarmi?
public static void main(String[] args) throws MalformedURLException, XmlRpcException
{
// TODO code application logic here
Session openERPSession;
openERPSession = new Session("localhost", 8069, "Demo", "admin", "demo@2013");
try {
// startSession logs into the server and keeps the userid of the logged in user
openERPSession.startSession();
ObjectAdapter partnerAd = openERPSession.getObjectAdapter("hr.attendance");
//////
////// Example code snippet goes here
//////
Object[] ids = new Object[] {0,1,2,3,4,5};
RowCollection partners = partnerAd.readObject(ids, new String[]{"action","action_desc", "day", "employee_id", "sheet_id"});
for (Row row : partners){
System.out.println("Row ID: " + row.getID()+"Action:" + row.get("action")+" day" + row.get("day")+" EmpName" + ((Object[])row.get("employee_id"))[1].toString()+" EmpId" + ((Object[])row.get("employee_id"))[0].toString()+"/ "+row.get("employee_id"));
}
Row newPartner = partnerAd.getNewRow(new String[]{"action", "day", "employee_id"});
newPartner.put("action", "sign_out");
newPartner.put("day", "2013-07-03");
newPartner.put("employee_id", new Object[] {"2","Fabien Pinckaers"});
partnerAd.createObject(newPartner);
System.out.println("New Row ID: " + newPartner.getID());
} catch (Exception e) {
System.out.println("Error while reading data from server:\n\n" + e.getMessage());
}
}
.
Messaggio di errore (quando Debug, quindi errore viene lanciato quando alla linea CreateObject. Si prega di aiutare Errore durante la lettura dei dati dal server: Per stringa di input: "[ljava.lang.object; @ dd462c"
Ho provato a passare il dipendente_id in entrambi i formati come indicato di seguito. 1. Newpartner.put ("dipendente_ID", 2); 2. Newpartner.put ("dipendente_ID", "2"); Ma entrambi il tempo ho finito di nuovo con il seguente errore Errore durante la lettura dei dati dal server: java.lang.String non può essere lanciato su java.lang.integer La ragione per cui stavo cercando di passare l'oggetto come nel primo post è stato perché quando leggo i valori da iterazioni, ho dovuto lanciare come (per favore dai un'occhiata al mio codice)
((Object[])row.get("employee_id"))[0].toString() &
((Object[])row.get("employee_id"))[1].toString()
.
Per leggere l'ID dipendente e il nome del dipendente fuori dall'oggetto. In realtà mi aspettavo solo dipendenti di essere presenti lì. Poi ho pensato che potrei aver bisogno di tornarlo all'oggetto da inserire anche. Ma è finito per non riuscire.
Comunque quando ho provato ad inserire senza oggetto dipendente_ID. Ha funzionato. Quando controllo il tipo di campo di dipendente_id, è stato molti a uno a impostazione=> struttura del database -> modelli per "hr.attentence" come posso inserire nel caso se il campo è molti 2 uno?
Soluzione
Qui vai, tutto grazie a Pieter.