Action (动作)
写道
动作(Action):用户操作系统时(如点击菜单、点击画面右边的工具条上的按钮等),系统的响应动作。
将菜单和对应的对象、视图关联起来的是Action。
当点击菜单时,触发Action,Action调用对象的Search方法,从数据库取得记录,Action又创建视图,显示取得的数据.
当点击菜单时,触发Action,Action调用对象的Search方法,从数据库取得记录,Action又创建视图,显示取得的数据.
一个Action包含一个对象,包含若干个视图View,通常每个Action都包含列表和表单两个视图。当Action被触发时,相应的视图被调出,展示响应的对象的数据。Action有多种类型,最常见的是Act_Window(窗口类型),窗口类型跳出一个窗口以显示数据。此外还有Report(报表)、Wizard(向导)等类型。
例如,当打开一个财务凭证时(对象account.invoice),客户端发生的动作链是:
1)激发一个Action,Action要求打开account.invoice对象。Action中包含了对象、视图、域条件(Domain,如只显示未支付
的凭证)等数据
2)客户端询问服务端(通过XML-RPC)凭证对象定义了哪些视图,以及应显示什么数据
3)客户端呈现视图,展示数据
例如,当打开一个财务凭证时(对象account.invoice),客户端发生的动作链是:
1)激发一个Action,Action要求打开account.invoice对象。Action中包含了对象、视图、域条件(Domain,如只显示未支付
的凭证)等数据
2)客户端询问服务端(通过XML-RPC)凭证对象定义了哪些视图,以及应显示什么数据
3)客户端呈现视图,展示数据
<record model="ir.actions.act_window" id="openacademy_training_act"> <field name="name">Training</field> <field name="res_model">openacademy.training</field> <field name="view_type">form</field> <field name="view_mode">tree,form</field> </record>
MenuItem (菜单)
<menuitem name="Tools" id="tools_menu" /> <menuitem name="OpenAcademy" id="openacademy_training_menu" parent="openacademy.tools_menu" action="openacademy_training_act" />
Widgets
• <field /> ComboBox CheckBox Date Text Integer, Float • <label /> • <separator /> • <button /> • <notebook /> • <group />
-- field:
<form> ... <field name="field_name" /> ... </form> • 系统会根据要显示的字段的类型,自动选择默认的Widgets
-- label
<form> ... <label string=“我的标签" /> ... </form>
-- Separator
<form> ... <separator string=“标题 Separator"/> ... </form>
-- Button
# object_view.xml <form> ... <button type="object" name="python_function" string="Label" /> <button type="workflow" name="workflow_signal" string="Label"/> <button type="action" name="%(wizard_id)d" string="Label"/> ... </form> # object_wizard.xml <wizard id="wizard_id" keyword="client_action_multi" model="openacademy.training" name="openacademy.training.do_something" multi="True" string="Label"/> • type – 可选值有 workflow (default), object, action workflow表示点击按钮,发送name属性指定的signal。object 表示点击按钮,调用name属 性指定的对象方法。action 表示点击按钮,调用name属性指定的动作(ir.actions.actions) • special – 目前只有一个值:cancel,表示本按钮关闭画面,不做任何进一步动作。注意: special 和name 是互斥的,不能同时出现。 • name – 指定哪个signal被发送,哪个方法被调用,哪个action被触发。 • confirm – 点击按钮时弹出一个确认Message • string – 按钮的显示名 • icon – 按钮的显示图标 • states, attrs, invisible, default_focus – 与fields的属性含义一致。
-- Notebook
<form> ... <notebook> <page string="First page"> ... </page> <page string="Second page"> ... </page> </notebook> ... </form>
-- Group
<form> ... <group> <field name="state" /> <button /> <button /> </group> ... </form>
View – Attributes
• select :可选值 1 -> 一级过滤项目 2 -> 二级(扩展)过滤项目 •string – 字段显示名 •password – 本字段内容是否以*号显示 •mode="tree,graph":one2many等复杂字段的编辑模式 •nolabel – 不显示标签 •colspan – 列宽 •col – 本字段的列宽 •default_focus – 本字段是否获得默认焦点 •states – 指定什么状态下本字段可编辑,如 states="draft,confirm" •domain – 用于 (many2one, many2many) 关系中过滤关系对象 •eval – 通过一个Python表达式计算本字段的值 •required – 本字段是否必须的 •readonly – 本字段是否只读 •Invisible – 本字段是否可见 •widget – 本字段的界面元素
Relate Window
•Example: <act_window id="openacademy_instructor_relate_its_training" name="Trainings" src_model="openacademy.instructor" res_model="openacademy.training" domain="[(instructor_id', '=', active_id)]" /> #该实例弹出窗口,显示当前培训师所有的课程
相关推荐
OpenERP应用和开发基础OpenERP应用和开发基础
OpenERP应用和开发基础 OpenERP应用和开发基础(第一章).pdf OpenERP应用和开发基础(第二章).pdf OpenERP应用和开发基础(第三章).pdf OpenERP应用和开发基础(第四章).pdf OpenERP应用和开发基础(第五章).pdf OpenERP...
OpenERP应用和开发基础,主要讲述OPENERP的系统架构以及基本知识,还有开发的一些基本语法等,非常适合入门者使用。
OpenERP应用和开发基础
OpenERP应用和开发基础(1到12章),openerp开发及实施的宝书.
本资料详细介绍了OpenERP的应用和开发基础,适用于初学者和开发者。 ### 第一部分:OpenERP介绍 #### 1.1 OpenERP的历史 OpenERP起源于2005年,由比利时的Tiny sprl公司开发,旨在提供一个灵活且可扩展的ERP解决...
OPENERP基础设置
OpenERP 7.0 使用手册第三章 OpenERP ...OpenERP 7.0 使用手册第三章 OpenERP 快速入门提供了一个完整的业务操作示例,包括安装 OpenERP、设置基础数据、进销存业务处理、会计业务处理等,帮助用户快速入门 OpenERP。
openerp文档资料,中文,比第一版多了些内容
总的来说,OpenERP的基础开发涉及多个方面,从环境搭建、模块创建、数据模型设计到视图布局、功能实现,都需要开发者具备一定的Python和数据库知识。随着对OpenERP框架的深入理解,开发者能够构建出更复杂、更符合...
OpenERP的模型-视图-控制器(MVC)架构是其设计的基础。模型处理数据和业务逻辑,视图负责用户界面展示,控制器则作为两者之间的桥梁。这种架构使得代码组织清晰,易于维护。 数据库管理是OpenERP的一个重要部分,...
### OpenERP Web 参考文档知识点详解 ...从基础知识到高级主题,从 JavaScript 技术栈到视图设计,OpenERP Web 都提供了详尽的指南和支持。开发者可以根据自己的需求选择合适的技术栈来构建高质量的应用程序。
以上就是Openerp部署训练文档的主要内容,涵盖了OpenERP的安装、模块构建、视图构建、对象间关系、继承、域和功能字段、高级视图、基于组的访问控制机制、向导对象、工作流、安全性、国际化、报告、仪表板、网络服务...
OpenERP应用和开发基础,随着openerp的发展,越来越多的中小企业开始应用此erp系统,免费开源是最大的特点
openerp教程
总结,OpenERP(Odoo)模块开发涵盖了多种技术,从后端Python模型和SQL约束到前端XML视图和静态资源。熟练掌握这些技术将使您能够为企业的业务需求定制个性化的解决方案。通过持续学习和实践,您可以成为OpenERP...
OpenERP Installing Ubuntu9.04
OpenERP是一款优秀的开源ERP软件。开源是说,软件完全公开,您不仅可以自由下载软件,还可以自由下载软件的所有源代码;软件本身没有任何秘密, 没有任何用户数限制,没有任何收费!优秀是说,软件功能丰富,品质...
OpenERP提供了完整的工具箱,包括集成的对象关系映射(ORM)支持、模板驱动的模型视图控制器(MVC)接口、报表生成系统、自动化国际化等特性。 #### Python与RAD框架 Python是一种高级动态编程语言,非常适合快速...