自Odoo 10.0的企业版第一次引入Odoo Studio这个崭新应用,就引起了广大Odoo用户和爱好者的兴趣。在最新的Odoo 11.0 企业版中该应用的功能得到了进一步的增强。 该应用能够让不具有软件开发技能的Odoo用户通过在线图形化编辑的方式来扩展现有系统应用的功能或者创建一个全新的Odoo模块。本文将基于Odoo 11.0企业版的Odoo Studio,通过构建一个简单的Odoo应用来解说其具体的操作。
创建新应用
Odoo Studio 可以用来在线修改已有应用:在任何一个现有的应用界面中打开Odoo Studio 工具即可对现有的应用做扩展修改;也可以在Odoo的主界面打开Odoo Studio应用创建新的 应用。下文用创建新应用的方式,通过创建一个售房管理应用来介绍其使用方法
-
首先我们在Odoo 11企业版的APP库中搜索并安装Odoo Studio应用.
-
在odoo11主界面中,点击右上角图标进入Studio.
Studio 入口

- 点击添加新应用
添加新应用

- 在Odoo Studio的主界面中点击“下一步“,将应用命名为“房产管理”
为应用命名

- 为应用创建一个合适的object名字,作为应用的第一个数据对象模型,在这里我们定义properties(房源)
创建第一个数据对象

到此,我们的第一个应用就创建起来了。但这只是个初始应用框架,系统自动生成了对象模型的基础字段和基本视图。接下来,让我们对应用的字段,视图等做进一步的扩展。
扩展应用字段及视图
Studio的视图管理器,通过该工具可灵活创建数据展示的各种类型的视图及报表,当前支持的视 图类型有:表单视图,列表视图,搜索视图,Kanban视图,网格视图,日历视图,甘特视图 ,以及图表视图和数据透视图
支持丰富的视图类型

表单视图
通过直接拖拽就能把左边的控件放置在右边的表单容器中展示.

表单视图的编辑在Studio的视图编辑类型中是最常用的,因为应用的数据模型字段在这里定义最为方便。
部件
主要用来结构化Form视图.
Tabs
构建一个或多个页签
Columns
构建栏位,栏位可套叠,默认表单视图将页面分为两栏
新字段
为app当前对象添加新的不同类型的数据字段.
Text
Char类型字段.,用于文本输入.
Multiline Text
Text类型字段,用于长文本输入.
integer number
Integer类型,用于整数输入.
Decimal Num
Float类型,用于浮点数字输入.
Html
Html类型, 与text类似,用于多行文本编辑,不过自带编辑器样式。
Monetarty
monetary widget.作为货币金额显示浮动字段。
Date
Date类型.短日期,年月日,在view层以日历选择框显示。
Date&Time
Datetime类型, 日期时间
Checkbox
Boolean类型. 布尔值
Selection
Selection类型.下拉框选择
File
Binary类型. 文件上传
One2many
一对多类型
Many2one
多对一类型
Many2many
多对多类型
image:/
Binary类型(文件类型),odoo中的Binary字段在视图层显示为一个文件上传按钮。可以把图片、音频、视频、文档等等文件以二进制形式保存。
Tags
标签, 是多对多类型
Priority
priority widget.一个可点击的星星列表的选择字段。可选项一般为数字.
Related Field
关联字段。用于显示关联对象上的字段值
已有字段
当在表单视图中构造了所有对象上的字段,在其他类型的视图上就可以从这里 选择已定义的字段来构造对应的视图
我们通过拖拽这些小控件来编辑我们的Properites模型的字段及Form视图如下:
添加房源相关字段

表单视图编辑很直观不做详细介绍, 下面仅对选择类型字段和Many2one类型做简介
选择类型字段:
添加Selection字段

Many2one: 属性页面多了一个过滤规则与上下文传递
设置关联模型

属性设置

经过简单的拖拽操作,我们的房源对象(properties)的数据字段和表单视图就创建好了,下 面我们就可以直接添加房源信息了。
录入数据

搜索视图
通过搜索视图我们可以定义搜索条件,过滤分组显示需要的数据。
部件
Filter
filter过滤器.用来进行搜索条件的编写.
Separator
页面布局使用.
设置filter

使用filter

已有字段
使用已经定义过的字段进行拖拽到分组中可以进行数据记录的分组显示. .搜索视图定义分组 
多记录显示视图
对数据记录集进行显示的视图.包括:
列表视图
下面的例子,我们将价格字段显示在Properites的列表视图中
在列表视图中添加价格,状态字段

Kanban视图
看板视图.可以把数据纪录以小卡片的形式在界面上展示.看板视图通过这些小卡片可以直接对记录的字段值进行拖拽改变,不用进入到具体的记录Form视图.十分方便.
设置看板小卡片

看板视图拖拽数据记录(record)

时间相关视图
日历视图
日历视图,当记录中有日期时间信息时,我们可以将记录显示在日历视图上。在本例中,我们假设房产的价格在某一段时间内出售会提供优惠.通过Calendar视图来展示数据记录的时间持续.
-
在Form视图中添加一个Date字段.名称设置为
销售优惠截至日 -
在日历视图中进行起止时间的设置.
当点击右上角的切换数据到日历视图时,就能看到关联的数据标注在日历上了。我们也可以在日历上拖动数据来改变其起止日期。
设置Calendar视图

日历视图展示

甘特视图
另一种对持续时间的描述视图.设置与Calendar视图类似.
Gantt视图效果
报表及图表视图
图表视图
统计视图.可以通过竖状图,线状图,饼状图来对进行数据记录集的统计展示.
统计视图展示

Pivot(透视表)视图
使用透视表进行数据统计

至此,我们的房产管理app已经比较完整了,接下来让我们来看看Studio中更多的功能。
编辑菜单
添加子菜单

子菜单展示

自动化动作
在上面的介绍中,Odoo Studio实现了数据的建模和展示,但是没有任何业务逻辑。而通过 自动化动作,我们则可以根据一些预设的条件来触发一些跟对象绑定的动作。
本例中,假设公司的经理【Agrolait】需要知道每条入库的房产记录的详细信息。我们设置一个自动化动作,当记录创建时,自动把【Agrolait】添加到记录的关注者中。这样每次有新记录添加时,他就能得到通知。
添加自动化动作

新建记录观察效果。
自动化动作结果

访问控制
访问控制就是在应用对不同用户角色控制其操作数据的权限。本例中,我们设置用户组为【员工】的用户不能使用删除跟创建记录功能。
添加新的访问控制

登录Demo账号,看到效果。

导入导出Studio模块

Studio导出功能在于把我们通过Odoo Studio所做的修改导出为Odoo模块,这样再通过导入 操作就可以将新应用或修改的内容加载到新的数据库。
导入导出按钮位于Studio主界面左上角。
-
导入:使用本地存在的zip格式Studio模块进行导入
-
导出 :直接把Studio创立的新模块导出成zip格式文件。
删除模块
当我们创建了Studio新模块后,在【应用】中搜索关键字“studio”。会发现多了一个名字为【Studio custimizations】的新模块。这个模块保存了我们在Studio中操作的所有数据记录。


直接卸载该模块即可把所有Studio中创建的数据清除。
总结
总体来说Odoo Studio为用户提供了一个非常便捷,灵活的在线工具,通过拖拽简单鼠标操 作就能在很短的时间内实现许多软件需要大量开发时间的功能。当然Odoo Studio主要实现 的还是应用数据对象的快速建模和展示,还不能实现比较复杂的业务逻辑。视图界面也相对 较固定。但是Odoo Studio的开发迭代仍在快速进行中,在未来的版本中你一定会看到Odoo Studio提供的更酷的功能。