“首页”的版本间的差异
(→处理同一类型的几个视图) |
(→header头部) |
||
第212行: | 第212行: | ||
===[[业务文档视图]]=== | ===[[业务文档视图]]=== | ||
====[[header头部]]==== | ====[[header头部]]==== | ||
+ | 顶部的标题将展示 文档流转的阶段和生命周期,以及动作按钮. | ||
+ | 这些操作按钮一般为表单按钮,最重要的阶段可以使用class=“oe_highlight”突出显示.文档生命周期通过状态栏小控件呈现当前所处的状态.这些通常是状态选择字段或者多对一的阶段字段.这些字段在很多odoo核心模块中可以找到.这些多对一的阶段字段 通过建立模型实现过程步骤.它们可以根据用户需求动态编译,并且完美支持看板. | ||
+ | 状态是一个选择列表,呈现的是过程中有几个相当稳定的步骤阶段,例如:新建、处理中、完成。它不是由用户最终配置的,但因为它是静态的,所以在事务逻辑中更容易使用。它也支持字段展示:状态属性可以根据文档当前的属性决定一个字段是否向用户呈现。 | ||
+ | 阶段出现的比状态晚,两者并存,但是阶段取代状态将是odoo内核发展的趋势。但正如所看到的前面的解释,状态仍然提供一些阶段不具备的功能。通过状态和阶段的互相映射,可以做到两全其美。在前面的章节中,在任务阶段模型中添加一个状态字段,通过计算控制字段,使得状态字段属性可以使用。 | ||
+ | 在views/todo_view.xml 文件中我们可以添加状态栏来扩展基本的标题。 | ||
+ | <header> | ||
+ | <field name="state" invisible="True" /> | ||
+ | <button name="do_toggle_done" type="object" | ||
+ | attrs="{'invisible':[('state','in',['draft'])]}" | ||
+ | string="Toggle Done" | ||
+ | class="oe_highlight" /> | ||
+ | <field name="stage_id" | ||
+ | widget="statusbar" | ||
+ | clickable="True" | ||
+ | options="{'fold_field': 'fold'}" /> | ||
+ | </header> | ||
+ | 这里我们增加了一个隐藏的状态字段。我们需要客户端发送给服务器的数据请求中包含该字段,否则就不可用于表达式。 | ||
+ | |||
====[[sheet工作表]]==== | ====[[sheet工作表]]==== | ||
====[[标题和副标题]]==== | ====[[标题和副标题]]==== |
2017年3月18日 (六) 14:59的版本
目录
- 1 Odoo 大V社概况
- 2 前言
- 3 第一章 Odoo 入门
- 4 第二章 构建您的第一个应用程序
- 5 第三章 继承–扩展现有的应用程序
- 6 第四章 模块数据
- 7 第五章 模型 - 结构化应用程序数据
- 8 第六章 视图 - 设计用户界面
- 9 第七章 ORM应用逻辑 - 支持业务流程
Odoo 大V社概况
Odoo 大V社成员来自五湖四海,他们热爱开源,无私奉献,甘于把自己的业余时间投入到公益的 Odoo 相关资料的整理中去,
为 Odoo 在中国区的推广无私奉献。
odoo 中文书籍交流群:343593855(验证信息:参与odoo中文书籍)
Odoo中文版技术书籍项目
- 项目一期目标: Odoo 中文开发手册
- 项目性质:公益,保留所有参与人员的署名权;项目成果归全人类
- 项目使命:Odoo 中文书籍编写整理,推倒 odoo 语言壁垒,助力 odoo 中国推广
- 项目成员:
- 统筹:
- 01.广州-唐振宽(稿件初审) 02.广州-黄伟杰(任务分派) 03.广州-彭 明(进度跟踪)
- 审核:
- 01.苏州-刘春涛(ChinaMaker)
- 成员:
- 统筹:
01.苏州时 威 02.苏州庄春梅 03.杭州胡 恒 04.广州陈厚源 05. 06.苏州孙保锁 07.成都曾发军 08.深圳季蜗牛 09.北京乔明洋 10.香港胡sir 11.上海高守庆 12.上海赵祥涛 13.上海罗英川布 14.台北蘇sir 15.苏州-n37r06u3 16.石家庄-leo
前言
第一章 Odoo 入门
安装Odoo主机服务器
准备Debian 主机
为创建Odoo用户帐户
从源码安装Odoo
创建新的Odoo应用数据库
管理你的Odoo数据库
Odoo 版本
更多服务器选项
Odoo 服务器配置文件
更改侦听端口
数据库的过滤选项
管理服务器日志消息
在工作站上进行开发
使用Linux 文本编辑器
安装和配置 Samba
激活开发者工具
安装第三方模块
查找社区模块
配置 addons 路径
更新应用程序列表
第一章 小结
第二章 构建您的第一个应用程序
基本概念
了解应用程序和模块
修改和扩展模块
创建模块的基本框架
关于许可证
添加 addons 路径
安装新模块
升级模块
服务器开发模式
模型层
创建数据模型
加入自动化测试
视图层
添加菜单选项
创建窗体视图
业务凭证窗体视图
添加动作按钮
用groups来组织forms
完整的Form视图
添加列表和搜索视图
业务逻辑层
添加业务逻辑
添加测试
设置安全访问权限
测试安全访问权限
添加访问控制安全
Row-level访问规则
更好的模块描述
第二章 小结
第三章 继承–扩展现有的应用程序
向待办事宜应用程序添加共享功能
扩展模型
向模型中添加字段
修改现有字段
修改模型的方法
扩展视图
扩展表单视图
扩展树视图和搜索视图
更多的模型继承机制
使用原型继承复制特征
使用委托继承嵌入模型
添加社交网络功能
修改数据
修改菜单和操作记录
修改安全记录规则
第三章 小结
第四章 模块数据
了解外部标识符
寻找外部标识符
导出和导入数据
导出数据
导入数据
CSV数据文件相关记录
模块数据
演示数据
XML数据文件
数据的noupdate属性
在XML里定义记录
设置字段值
使用表达式设置值
设置字段值的关系
常用模型的快捷键
XML数据文件的其它操作
删除记录
触发功能和工作流
第四章小结
第五章 模型 - 结构化应用程序数据
将应用程序特性组织到模块中
todo_ui模块介绍
创建模型
模型属性
模型和Python类
瞬态和抽象模型
检查现有模型
创建字段
基本字段类型
公共字段属性
特殊字段名称
模型之间的关系
多对一关系
多对多关系
一对多反向关系
分层关系
使用动态关系的参考字段
计算字段
在计算字段上搜索和写入
存储计算字段
关联字段
模型约束
第五章 小结
第六章 视图 - 设计用户界面
使用XML文件定义用户界面
菜单项
窗口动作
上下文和域
上下文数据
域表达式
窗体视图
处理同一类型的几个视图
相同模型可以有多个同类型的视图,因为一个窗口动作通过它的“XML ID ”可以指向的特定的视图。这样我们就可以灵活的根据菜单项,通过不同的视图打开相同的模型。 要实现以上功能,需要根据视图中的 XML ID,为窗口操作添加view_id属性, 例如我们在todo_app.action_todo_task 动作中曾使用类似view_id="view_form_todo_task_ui"的做法。 但是, 如果没有特定视图的定义,将如何? 在这种情况下, 使用的将是第一个返回的查询视图,这将是一个具有较低的优先级视图。如果我们添加新的视图,并设置它的优先级低于现有的, 它将被调用。最终的结果是:看起来像这个新视图覆盖了原来的。 因为缺省值的视图优先级是 16, 较低优先级的视图将被采纳, 所以 15 的优先级将工作。为了保持我们的例子可读性,这不是最常用的方法。
我们将在下一个例子中使用优先级方法。
业务文档视图
header头部
顶部的标题将展示 文档流转的阶段和生命周期,以及动作按钮. 这些操作按钮一般为表单按钮,最重要的阶段可以使用class=“oe_highlight”突出显示.文档生命周期通过状态栏小控件呈现当前所处的状态.这些通常是状态选择字段或者多对一的阶段字段.这些字段在很多odoo核心模块中可以找到.这些多对一的阶段字段 通过建立模型实现过程步骤.它们可以根据用户需求动态编译,并且完美支持看板. 状态是一个选择列表,呈现的是过程中有几个相当稳定的步骤阶段,例如:新建、处理中、完成。它不是由用户最终配置的,但因为它是静态的,所以在事务逻辑中更容易使用。它也支持字段展示:状态属性可以根据文档当前的属性决定一个字段是否向用户呈现。 阶段出现的比状态晚,两者并存,但是阶段取代状态将是odoo内核发展的趋势。但正如所看到的前面的解释,状态仍然提供一些阶段不具备的功能。通过状态和阶段的互相映射,可以做到两全其美。在前面的章节中,在任务阶段模型中添加一个状态字段,通过计算控制字段,使得状态字段属性可以使用。
在views/todo_view.xml 文件中我们可以添加状态栏来扩展基本的标题。 <header> <field name="state" invisible="True" /> <button name="do_toggle_done" type="object" attrs="{'invisible':[('state','in',['draft'])]}" string="Toggle Done" class="oe_highlight" /> <field name="stage_id" widget="statusbar" clickable="True" options="{'fold_field': 'fold'}" /> </header>
这里我们增加了一个隐藏的状态字段。我们需要客户端发送给服务器的数据请求中包含该字段,否则就不可用于表达式。
sheet工作表
标题和副标题
智能按钮区域
对表单中的内容进行分组
标签笔记本
业务应用程序通常是关于仓库产品、财会部门发票等记录的系统。大部分这些记录信息都可用纸质文档呈现。为了更好的用户体验,表单视图都是在模仿这些纸质文档。
例如在我们的系统中,我们可以认为 “to_do task”包含需要填写的纸制表单。 我们将提供一个遵循该设计思想的表单视图。
要增加一个具有业务文档视图基本骨架的XML视图,我们需要编辑“views/todo_views.xml”文件,并置于文件顶部。
<record id="view_form_todo_task_ui" model="ir.ui.view"> <field name="model">todo.task</field> <field name="priority">15</field> <field name="arch" type="xml"> <form> <header> </header> <sheet> </sheet>
<field name="message_follower_ids" widget="mail_followers" /> <field name="message_ids" widget="mail_thread" />
</form> </field> </record> 视图名称是可选的,如果缺少将自动生成。为了简单,我们省略了视图记录中的<field name="name">元素。
业务文档通常包含3大部:标题状态栏、主要内容表单、底部历史信息和通讯内容。在底部的历史和通信部分,可以使用邮件插件模块提供的社交网络 小部件。为了可以使用它们,我们的模型需要继承“mail.thread”混合模型。详情见第3章 继承–扩展现有的应用程序。