使用按钮打开另一个模块表单视图
Open another module form view with button
我正在尝试打开另一个模型表单视图,但收到找不到外部 ID 的错误消息。
在py文件中
class ru_assignments(models.Model):
name = 'ru.assignments
class ru_assignments_sub(models.Model):
_name = 'ru.assignments.sub'
这是ru_assignments_subxml
<record model="ir.actions.act_window" id="action_sub">
<field name="name">Assignment Sub</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ru.assignments.sub</field>
<field name="view_type">form</field>
<field name="view_id" ref="ru_assignments_sub_view"/>
</record>
这是 ru_assignments xml 我创建按钮打开的视图 ru_assignments_sub window
<record id="ru_assignments_view" model="ir.ui.view">
<field name="name">Assignments Form View</field>
<field name="model">ru.assignments</field>
<field name="arch" type="xml">
<form string="Assignments">
<sheet>
<button type="action" name="%(ru_assignments_sub.action_sub)d" string="Submit" class="oe_right oe_highlight"/>
<div class="oe_title">
<label for="teacher"/>
<field name="teacher" required="1" placeholder="e.g. Business Administration"/>
</div>
<group>
<field name="batch"/>
<field name="class_id"/>
<field name="faculty"/>
</group>
<notebook>
<page string="Related Students">
<field name="students"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
这是 openerp.py 文件
# always loaded
'data': [
# 'security/ir.model.access.csv',
'ru_students/workflow/workflow.xml',
'ru_students/students_view.xml',
'ru_students/sequence.xml',
'ru_students/address_view.xml',
'ru_teacher/teacher_view.xml',
'ru_teacher/batch_view.xml',
'ru_teacher/sequence.xml',
'ru_faculty/faculty_view.xml',
'ru_batch/batch_view.xml',
'ru_class/class_view.xml',
'ru_subjects/subjects_view.xml',
'ru_standards/standards_view.xml',
'ru_schedule/schedule_view.xml',
'ru_assignments_sub/assignments_sub_view.xml',
'ru_assignments/assignments_view.xml',
'ru_attendance/op_attendance_sheet_view.xml',
'ru_attendance_line/op_attendance_line_view.xml',
'ru_invoice/invoice_view.xml',
'ru_invoice_line/invoice_line_view.xml',
'ru_exam_line/exam_line_view.xml',
'ru_exam/exam_view.xml',
'ru_menu/menu.xml',
'css.xml',
有两种方法可以调用使用按钮打开另一个模块表单视图。
- 对象按钮:
写在python
def show_ru_assignments_sub_view(self, cr, uid, ids, context=None):
return {
'name': ('Assignment Sub'),
'view_type': 'form',
'view_mode': 'form',
'res_model': 'ru.assignments.sub',
'view_id': False,
'type': 'ir.actions.act_window',
'target':'new'
}
在XML中写下这个按钮:
<button name="show_ru_assignments_sub_view" string="Submit" type="object" status="draft" />
- 操作按钮
在XML中写入这两个编码:
<record id="action_assignments_sub_view" model="ir.actions.act_window">
<field name="name">Assignment Sub</field>
<field name="res_model">ru.assignments.sub</field>
<field name="src_model">ru.assignments</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
<field name="context">{'order_id': active_id}</field>
</record>
对于按钮操作
<button name="%(action_assignments_sub_view)d" type="action" string="Submit" />
我正在尝试打开另一个模型表单视图,但收到找不到外部 ID 的错误消息。
在py文件中
class ru_assignments(models.Model):
name = 'ru.assignments
class ru_assignments_sub(models.Model):
_name = 'ru.assignments.sub'
这是ru_assignments_subxml
<record model="ir.actions.act_window" id="action_sub">
<field name="name">Assignment Sub</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ru.assignments.sub</field>
<field name="view_type">form</field>
<field name="view_id" ref="ru_assignments_sub_view"/>
</record>
这是 ru_assignments xml 我创建按钮打开的视图 ru_assignments_sub window
<record id="ru_assignments_view" model="ir.ui.view">
<field name="name">Assignments Form View</field>
<field name="model">ru.assignments</field>
<field name="arch" type="xml">
<form string="Assignments">
<sheet>
<button type="action" name="%(ru_assignments_sub.action_sub)d" string="Submit" class="oe_right oe_highlight"/>
<div class="oe_title">
<label for="teacher"/>
<field name="teacher" required="1" placeholder="e.g. Business Administration"/>
</div>
<group>
<field name="batch"/>
<field name="class_id"/>
<field name="faculty"/>
</group>
<notebook>
<page string="Related Students">
<field name="students"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
这是 openerp.py 文件
# always loaded
'data': [
# 'security/ir.model.access.csv',
'ru_students/workflow/workflow.xml',
'ru_students/students_view.xml',
'ru_students/sequence.xml',
'ru_students/address_view.xml',
'ru_teacher/teacher_view.xml',
'ru_teacher/batch_view.xml',
'ru_teacher/sequence.xml',
'ru_faculty/faculty_view.xml',
'ru_batch/batch_view.xml',
'ru_class/class_view.xml',
'ru_subjects/subjects_view.xml',
'ru_standards/standards_view.xml',
'ru_schedule/schedule_view.xml',
'ru_assignments_sub/assignments_sub_view.xml',
'ru_assignments/assignments_view.xml',
'ru_attendance/op_attendance_sheet_view.xml',
'ru_attendance_line/op_attendance_line_view.xml',
'ru_invoice/invoice_view.xml',
'ru_invoice_line/invoice_line_view.xml',
'ru_exam_line/exam_line_view.xml',
'ru_exam/exam_view.xml',
'ru_menu/menu.xml',
'css.xml',
有两种方法可以调用使用按钮打开另一个模块表单视图。
- 对象按钮:
写在python
def show_ru_assignments_sub_view(self, cr, uid, ids, context=None):
return {
'name': ('Assignment Sub'),
'view_type': 'form',
'view_mode': 'form',
'res_model': 'ru.assignments.sub',
'view_id': False,
'type': 'ir.actions.act_window',
'target':'new'
}
在XML中写下这个按钮:
<button name="show_ru_assignments_sub_view" string="Submit" type="object" status="draft" />
- 操作按钮
在XML中写入这两个编码:
<record id="action_assignments_sub_view" model="ir.actions.act_window">
<field name="name">Assignment Sub</field>
<field name="res_model">ru.assignments.sub</field>
<field name="src_model">ru.assignments</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
<field name="context">{'order_id': active_id}</field>
</record>
对于按钮操作
<button name="%(action_assignments_sub_view)d" type="action" string="Submit" />