Openerp Java API CreateObject Ошибка
Вопрос
Я получаю ошибку для следующего кода. Объект - это HR.Attence. Может кто-нибудь, пожалуйста, пропишите меня?
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());
}
}
.
Сообщение об ошибке (когда я отладку, то ошибка пропускается, когда на строке createObject. Пожалуйста, помогите Ошибка при чтении данных с сервера: Для входной строки: "[ljava.lang.Object; @ dd462c"
Я попробовал пропустить whiteee_id в обоих форматах, как указано ниже. 1. newpartner.put ("sifforee_id", 2); 2. NewPartner.PUT («Сотрудник_Ид», «2»); Но оба времени я снова закончил после ошибки Ошибка при чтении данных с сервера: java.lang.string не может быть брошено на Java.lang.integer Причина, по которой я пытался пройти объект, как в первой публикации, было потому, что когда я прочитал ценности от итерации, я должен был бросить как (посмотрите на мой код)
((Object[])row.get("employee_id"))[0].toString() &
((Object[])row.get("employee_id"))[1].toString()
.
Чтобы прочитать идентификатор сотрудника и имя сотрудника из объекта. На самом деле я ожидал, что там будет присутствовать только сотрудник. Тогда я подумал, что мне придется бросить его обратно на объект, чтобы вставить также. Но в итоге не удалось.
Однако, когда я попробовал вставлять без Otheree_id объект. Это сработало. Когда я проверяю тип поля Wordee_id, это было много на один при настройке=> структуру базы данных -> модели для «HR.Attendance» Как вставить в футляре, если поле много 2 один?
Решение
Здесь вы идете, все благодаря пищету.
https://sourceforge.net/p/ openerpjavaapi / Обсуждение / Общее / Тема / 871410E3 /? Limit= 25 # BF63