Я занимаюсь разработкой приложения для Android на основе фреймворка Odoo.Мне нужно отобразить листья Compensatory-Off, которые являются типом поля «многие ко многим», когда пользователь выбирает тип отпуска, называемый «компенсационный».
Я пробовал какой-то код, но получаю ошибку, когда связываюсьмое поле «многие ко многим» в XML:
Это код, который я пробовал в xml
<odoo.controls.OField
android:id="@+id/com_off_ids"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
app:fieldName="compoff_ids"
app:fieldTextAppearance="?android:textAppearanceMedium"/>
Это модель odoo HrHolidays
OColumn employee_id = new OColumn("Employee", HrEmployee.class, OColumn.RelationType.ManyToOne);
OColumn department_id = new OColumn("Department", HrDepartment.class, OColumn.RelationType.ManyToOne);
OColumn company_id = new OColumn("Company", ResCompany.class, OColumn.RelationType.ManyToOne);
OColumn holiday_type = new OColumn("Mode", OSelection.class).addSelection("employee", "By Employee").addSelection("category", "By Employee Tag");
OColumn type = new OColumn("Type", OSelection.class).addSelection("remove", "Remove").addSelection("add", "Add").setDefaultValue("remove");
@Odoo.Domain("[['line_id', '=', @leave_year_id]]")
@Odoo.onChange(method = "partnerIdOnChange")
OColumn holiday_status_id = new OColumn("Leave Type", HrHolidayStatus.class, OColumn.RelationType.ManyToOne);
OColumn leave_year_id = new OColumn("Leave Year", LeaveYear.class, OColumn.RelationType.ManyToOne);
OColumn compoff_ids = new OColumn("",CompLeaveRel.class, OColumn.RelationType.ManyToMany).setRelBaseColumn("leave_id").setRelRelationColumn("comp_id").setRelTableName("comp_leave_rel");
Здесь в приведенном выше поле «Compoff_ids» кода находится поле «Многие ко многим», в котором мне нужно хранить значения.
Это поля модели CompLeaveRel
OColumn name = new OColumn("", OVarchar.class);
OColumn leave_id = new OColumn("", OVarchar.class);
OColumn comp_id = new OColumn("",OVarchar.class);
Это ошибкая получаю, когда привязываю свой OColum к виджету XML:
java.lang.NullPointerException: Attempt to invoke virtual method 'int odoo.controls.OField$FieldType.ordinal()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2778)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int odoo.controls.OField$FieldType.ordinal()' on a null object reference
Может ли кто-нибудь подсказать, пожалуйста, как использовать и получить данные для полей «многие ко многим» в мобильной среде odoo.
Я заблокирован здесь с последних двух дней
Извините за мой английский.