View 类型
Activity 活动
Activity 视图用于显示链接到记录的活动。记录成行,活动成列.支持单击切换FORM视图。
<record id="sale_subscription_view_activity" model="ir.ui.view">
<field name="name">sale.subscription.activity</field>
<field name="model">sale.subscription</field>
<field name="arch" type="xml">
<activity string="Subscriptions">
<templates>
<div t-name="activity-box">
<div>
<field name="code" display="full"/>
<field name="partner_id" muted="1" display="full"/>
</div>
</div>
</templates>
</activity>
</field>
</record>
警告:
Activity视图需在mail模块安装后才能使用,且模型须继承mail.activity.mixin.
它的根节点是 ,支持如下属性:
string (强制)
描述视图的标题
子元素包括:
field
声明要在Activity逻辑中使用的字段。如果该字段仅显示在Activity视图中,则无需预先声明。
具体包括:
name (必须的):要获取的字段的名称
templates:
定义 QWeb 模板.
**Calendar 日历 **
日历视图将记录显示为每日、每周、每月或每年日历中的事件。
注意:
默认情况下,日历视图将以当前日期(今天)为中心。您可以将特定的初始日期传递给操作的上下文,以便将日历的初始焦点设置在该日期周围的时段(要使用的上下文键为initial_date)
根节点是 . 涉及到的属性有:
date_start (必须的)
事件开始日期
date_stop
事件结束日期
date_delay
日期间隔单位(默认是天)
color
日历条目颜色分组的字段 ,用于定义颜色的字段,颜色字段值相同的记录会在视图中以相同的颜色显示
form_view_id
关联的form视图ID.
event_open_popup
如果选项“event_open_popup”设置为true,则日历视图将在FormViewDialog中打开事件(或记录)。否则,它将在新的表单视图中打开事件(使用do_action)
quick_add
在单击时启用快速事件创建:仅要求用户输入名称(保存此值的字段可以通过rec_name进行控制),并尝试仅使用该名称和单击的事件时间创建新事件。如果快速创建失败,则返回到完整窗体对话框
create_name_field
保存记录文本表示的记录字段的名称,在通过“快速创建”机制创建记录时使用
all_day
提供一个布尔字段,用来定义对应事件是否是全天有效。
mode
是日历的默认显示模式,分为天、周、月或年。
day, week, month, year
scales
单位(刻度)
如:
scales="day,week,month"
create, delete
允许通过将相应属性设置为false来禁用视图中的相应操作
write_model 和write_field 及 filter_field
您可以添加过滤器并将结果保存在已定义的模型中,过滤器将添加到侧栏中。
滤色器和颜色
使用“True”将此字段添加到侧栏的筛选器中。可以指定用于使复选框着色的颜色字段。
Cohort
Cohort视图用于显示和理解某些数据在一段时间内的变化方式。
例如,假设对于给定的业务,客户可以订阅某些服务。然后,群组视图可以显示每个月的订阅总数,并研究客户离开服务的速率(流失率)。
当点击一个单元格时,群组视图会将您重定向到一个新的操作,在该操作中,您将只看到单元格时间间隔中包含的记录;此操作适用于list视图和form视图。
注意:
示例:
<record id="crm_lead_view_cohort" model="ir.ui.view">
<field name="name">crm.lead.view.cohort</field>
<field name="model">crm.lead</field>
<field name="arch" type="xml">
<cohort string="Opportunities" date_start="create_date" date_stop="date_closed" interval="week" mode="churn" sample="1">
<field name="color" invisible="1"/>
</cohort>
</field>
</record>
Cohort 视图的根节点是,它接受如下属性:
string (必须的)
标题,用来解释说明视图
date_start (必须的)
开始时间
date_stop (必须的)
终止时间
mode (optional)
用于描述模式的字符串。它有两个选项:“流失率”或“留存率”(默认)。流失率模式将从0%开始并随着时间的推移而累积,而留存率将从100%开始并随着时间的推移而减少。
timeline (optional)
用于描述时间轴的字符串。它应该是“向后”或“向前”(默认)。向前时间轴将显示数据从date_start到date_stop,而向后时间轴将显示数据从date_stop到date_start.
interval (optional)
用于描述时间间隔的字符串。应该是’ day ', ’ week ', ’ month ‘(默认)或’ year '。
measure (optional)
可以聚合的字段。此字段将用于计算每个单元格的值。如果没有设置,队列视图将计算出现的次数。
Dashboard
像pivot 和 graph 视图, dashboard 视图用于显示合计数据. 仪表板可以嵌入子视图, 可以对给定数据集提供更完整和有趣的外观。
dashboard 视图可以显示子视图, 基于domain显示合计数据, 或者根据公式进行计算。如下:
<dashboard>
<view type="graph" ref="sale_report.view_order_product_graph"/>
<group string="Sale">
<aggregate name="price_total" field="price_total" widget="monetary"/>
<aggregate name="order_id" field="order_id" string="Orders"/>
<formula name="price_average" string="Price Average"
value="record.price_total / record.order_id" widget="percentage"/>
</group>
<view type="pivot" ref="sale_report.view_order_product_pivot"/>
</dashboard>
根节点是 ,它不接受任何属性。
5种可能的形式:
view
声明一个子视图
type (mandatory)
子视图类型. 例如, graph 或 pivot.
ref (optional)
视图的xml id。如果未给出,将使用模型的默认视图.
name (optional)
标识此元素的字符串。用作xpath的目标非常有用.
group
定义列布局。这实际上非常类似于表单视图中的group元素.
string (optional)
描述.
colspan (optional)
子列表,通常是6.
col (optional)
此组标记跨越的列数。默认情况下为6。
aggregate
按domain进行合计.
请注意,合计应该在group中使用(否则将无法正确应用样式)。
其属性包括:
field (必须)
用于求和的字段名称. 包括:
integer (默认的组操作是sum求和)
float (默认的组操作是sum求和)
many2one (默认的组操作是去重统计)
name (必须)
求和标识 (通常用于公式)
string (optional)
A short description that will be displayed above the value. If not given, it will fall back to the field string.
一个关于值的简短的描述,如果没有给出,则取字段描述
domain (optional)
对要统计的记录集的附加限制。此domain将与当前domain合并.
group_operator (optional)
例如:group_operator = ‘sum’
示例:
<aggregate name="price_total_max" field="price_total" group_operator="max"/>
col (optional)
此标记跨越的列数(仅在组内有意义)。默认情况下为1。
widget (optional)
用widget格式化值,例如: monetary.
help (optional)
在tooltip中显示帮助信息(相当于python的字段帮助)
measure 计量 (optional)
count :记录统计
<aggregate name="total_ojects" string="Total Objects" field="id" group_operator="count" measure="__count__"/>
clickable (optional)
允许单击
value_label (optional)
值标签