Pregunta

Recibo un error al siguiente código. El objeto es HR.Antendencia. ¿Alguien puede guiarme?

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());
  }

}

Mensaje de error (cuando depago, luego se emite un error cuando esté en la línea de CREATEOBJECT. Error al leer los datos del servidor: Para la cadena de entrada: "[ljava.lang.object; @ dd462c"

Intenté pasar a Empleee_ID en ambos formatos como se menciona a continuación. 1. newpartner.put ("empleado_id", 2); 2. newpartner.put ("empleado_id", "2"); Pero ambas veces terminé con el siguiente error otra vez Error al leer los datos del servidor: java.lang.string no se puede emitir a java.lang.integer La razón por la que estaba tratando de pasar el objeto, ya que en la primera publicación fue porque cuando leí los valores de iteración, tuve que echar como (eche un vistazo a mi código)

((Object[])row.get("employee_id"))[0].toString() &
((Object[])row.get("employee_id"))[1].toString()

para leer el nombre de identificación del empleado y del empleado fuera del objeto. En realidad, esperaba que solo el empleado estuviera presente allí. Luego pensé que podría necesitar volver a los objetos para insertar también. Pero terminó fallando.

Sin embargo, cuando intenté insertar sin el objeto EmployeSe_ID. Funcionó. Cuando verifico el tipo de campo de empleado_id, fue de muchos en uno en Configuración=> Estructura de la base de datos -> Modelos para "HR.Antendencia" ¿Cómo lo inserto en caso de que el campo sea muchos 2 uno?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top