注册报表:

@string: 在打印按钮那里的显示名称

@id:外id标识

@name: 完整主模板名称 模块名.主板模名称  用于管理和调用

@file: 完整模板文件名 模块名.模板文件名  用于更好地关联模板

@model:相关的模型显示在那个模块进行打印报表 通常在各视图中的打印那里会出现上面表示在采购订单相关视图时,

会出现“打印-询价单/采购订单”

@report_type: 报表类型 是 qweb-pdf 或 qweb-html

@report_name: 打印出来的文件名

@groups_id:指定权限

attachment_use="True"

attachment="(object.state in('open','paid')) and

('INV'+(object.number or'').replace('/','')+'.pdf')"

@attachment_use:使用附件,这样不会一直查数据库,只能当数据变化时才会查数据库

@attachment:附件的名称,当我们下载下来的文件名

报表模板

模板中的标签统一都是以"t-"开始的。

t-name 用于指明模板的名称

t-extend 用于指明该模板是继承自另外哪一个模板,后面会带父模板的名称,如:t-extend=“Login"

t-jquery 一个jQuery的选择器,后面指明选择器的定义,如:t-jquery=".oe_logiin"

t-operation 一般跟在t-jquery后面,指明选择器找到元素后执行的动作,其值有:append(追加)、replace(替换)

t-if 用于指明元素在页面产生的条件,后面是带一个javascript的表达式,返回True或False

条件表达式

<tt-if="record.effort_estimate.raw_value > 0">

<li>Estimate <fieldname="effort_estimate"/></li>

</t>

比较符号:

lt(<)    lte(<=)  gt(>)   gte(>=)

注 <<= 不能用在表达式中,只能用字母代替

t-att-### 用于指明一个元素的属性值,###是元素的属性名称,如:t-att-value="javascript表达式"

# 属性的字符替换

<spant-attf-class="oe_kanban_text{{

record.date_deadline.raw_value and

!(record.date_deadline.raw_value> (new Date()))

? '_red' : '_black' }}">

<fieldname="date_deadline"/>

</span>

t-attf-prefixed  取代内容,上面的就是动态类

t-att=mapping 键值对组成属性,主要用多对

<div t-at="{'a':1,'b':2}"/>

结果:

<div a="1"b="2"></div>

t-att=pair 一对,这个对一个是键,后一个是值

<div t-att="['a','b']"/>  <=>    <div t-att="('a','b')"/>

结果:

<diva="b"></div>

t-foreach 用于指明一个循环调用,后面一般带的是一个数组

还有一些变量

rec_index 从0开始循环索引

rec_size  要循环的记录集大小

rec_first  第一个元素

rec_last   最后一个元素

rec_even   index为偶数时为真

rec_odd    index为奇数时为真

rec_parity  是偶数和奇数

rec_all  表示循环结束的标识

rec_value 循环一个字典时,的键的值

t-as 用于取得循环中的单个值,与t-foreach搭配使用,后面带的是一个变量名,可以循环中使用变量取值

t-esc 用于一个文字输出。过滤安全值,像html元素

t-raw  数据库中的原始数据输出

t-call 用于调用另外模板,后面带一个模板的名称

t-set 用于设定一个变量,后面带变量的名称,一般跟t-value搭配使用

<t t-set="new_variable"t-value="True" />

设置了变量 new_variable 的值 为 True

t-value 也可以是表达

<t t-set="foo"t-value="2+1" >

设置了变量foo值为3

t-value可以是一段html

<t t-set="foo">

<li>ok</li>

</t>

设置了变量foo 为 <li>ok</li>

t-value 用于指定某个变量或元素的值

# 动态属性

<div>

<t t-foreach="record.message_follower_ids.raw_value.slice(0,3)"

t-as="rec">

<imgt-att-src="kanban_image(

'res.partner', 'image_small',rec)"

class="oe_kanban_imageoe_kanban_avatar_smallbox"/>

</t>

</div

t-att- prefixed 如 <img>的src  就可以 t-att-src="..."

#设置属性

t-att-$name

$name 是属性名

<div t-att-a="66" />

结果:

<diva="66"></div>

t-attf-$name 用于混合,有字符串也有变量,变量用{{}}

<t t-foreach="[1, 2, 3]"t-as="item">

<li t-attf-class="row {{item_parity }}"><t t-esc="item"/></li>

</t>

t-att=mapping 键值对组成属性,主要用多对

<div t-at="{'a':1,'b':2}"/>

结果:

<div a="1"b="2"></div>

t-att=pair 一对,这个对一个是键,后一个是值

<div t-att="['a','b']"/>  <=>    <div t-att="('a','b')"/>

结果:

<diva="b"></div>

<?xmlversion="1.0" encoding="utf-8"?>

<openerp>

<data>

<templateid="report_invoice">

<tt-call="report.html_container">

<tt-call="report.layout">

<div class ="page">

<div class='text-center'>

<span>123</span>

</div>

</div>

</t>

</t>

</template>

</data>

</openerp>

docs:当前报表的记录

doc_ids:记录中的id集

list of ids for the docsrecords

doc_model:记录的模型

model for the docs records

time:Python标准库中引用的time

user:为用户打印报表的res.user记录

res_company:当前用户公司的记录

翻译报表需要定义两个模板:

主要的报表模板、可翻译文档。

可以从可翻译文档中通过“t-lang”属性调用主翻译模板,(You can then call the translatable document from your main templatewith the attribute t-lang set to a language code (for

example fr or en_US) or to arecord field. You will also need to re-browse the related records with theproper context if you use fields that are translatable (like country

names, sales conditions, etc.))

odoo之Qweb的一些参数相关推荐

  1. ODOO实现环境检测机构检测业务管理系统

    ODOO现在的应用不仅仅在ERP领域了,其"All In One"的理念,开放的框架,良好的可扩展性使得Odoo在众多领域皆有不俗表现,我们来看一个用odoo实现环境检测机构检测业 ...

  2. jquery打印网页当前页

    记录一下开发过程中,趟过的坑.在odoo中,有时候,需要将自定义的网页打印出来(不同于odoo的qweb报表打印),可以如下做: var head = '' //head标签里面引入的内容 var b ...

  3. odoo-服务器上的安装和部署

    odoo安装和服务器部署 转载自:原文,并记录了一些自己在实操过程中常出现的一些问题及解决方法. 仅针对odoo12和ubuntu18.04 由于ubuntu禁用了root账户,初始账户可通过sudo ...

  4. odoo openerp 分享-oe嵌入qweb】用js读取数据库数据,用类似html语言重写web报表

    [分享-oe嵌入qweb]用js读取数据库数据,用类似html语言重写web报表  (阅读 4403 次) 阿狸 新手上路 帖子: 26 人气: 1 开启阅读模式 [分享-oe嵌入qweb]用js读取 ...

  5. 【零散技术】Odoo 服务台(helpdesk)Qweb设计模式

    序言:时间是我们最宝贵的财富,珍惜手上的每个时分 目录 一.缘起 二.心落 三.纷扰 四:忖量 五:已矣 一.缘起 近期有一个基于 Odoo服务台(helpdesk)的项目开发,web端显示的原始需求 ...

  6. Odoo10参考系列--Odoo指导方针

    本文介绍了新版Odoo编码指南.那些旨在提高代码的质量 (例如更好的可读性)和Odoo应用程序.实际上,适当的代码简化了维护.调试,降低了复杂性,提高了可靠性. 这些指导原则应适用于每一个新的模块和新 ...

  7. Odoo10参考系列--QWeb报表

    报表是写在HTML / QWeb中,像Odoo中的所有普通视图.你可以使用普通QWeb 流程控制工具.PDF的渲染是通过wkhtmltopdf执行的. 如果要在某个模型上创建报表,则需要定义该报表和它 ...

  8. odoo10参考系列--QWeb

    QWeb是被Odoo[2]使用的主要的模版引擎.它是一个XML模板引擎[1],主要用于生成HTML片段和页面. 模板指令指定的XML属性的前缀 t-,例如t-if 为条件,与元素和其他属性被直接渲染. ...

  9. Odoo 8.0深入浅出开发教程

    转自:http://blog.sunansheng.com/python/odoo/odoo.html Table of Contents 1. ERP简介 1.1. Odoo历史 1.2. ERPⅡ ...

最新文章

  1. 代码 设计 生活 (2)--- 菜鸟
  2. python自动测试p-python网络爬虫之自动化测试工具selenium[二]
  3. Android画图学习总结(四)——Animation(中)
  4. 8086算术移位指令SAL和SAR
  5. GCC(-pg) profile mcount | ftrace基础原理
  6. file对象怎么才会有值_怎么去聊天女生才会跟你约会
  7. 【从 0 开始机学习】正则化技术原理与编程!
  8. apache make install 问题
  9. 块状元素(div)与内联元素(span)
  10. 再看中国互联网web2.0百强名单
  11. 米侠浏览器如何添加脚本 米侠浏览器中添加脚本的具体操作步骤
  12. jrtplib-2.11.2和jthread-1.3.3编译笔记
  13. 汉字符号(汉字特殊符号)
  14. Servlet/Filter中的url-pattern
  15. 关于标志信息ZF、OF、SF、CF的理解
  16. Centos7.5系统部署禅道协调管理系统以及配置优化
  17. 电子签名具备法律效力吗?这些知识点你需要了解
  18. *CF1132D.Stressful Training(二分+队列+贪心)
  19. 睦星科技Kolmostar获1000万美元 A 轮融资,将推出更多元的GNSS定位解决方案...
  20. 到底什么才是边缘计算?

热门文章

  1. codeup|问题 E: FatMouse‘s Trade
  2. 7-1 求圆面积 (10分)
  3. 卫士通渠道发布会:同迎产业盛世 共享安全未来
  4. 输入直角三角形的两个直角边,求三角形的周长和面积,以及两个锐角的度数。结果均保留一位小数。
  5. 新视野大学英语读写教程(第二版 第三册)读写教程答案(4-9)单元
  6. 教大家利用bug漏洞免费申请QQ靓号
  7. c++实现socks5服务器(Linux only)
  8. 信息学复赛用linux,信息学复赛考试技巧及注意事项
  9. 应付账款账龄分析模板_(EXCEL 应付账款账龄分析模板的公式怎么设置)excle账龄划分公式...
  10. Arduino PID Autotune Library