引进七款自身间接在用的chrome插件(下)

请先看:推荐介绍五款本身从来在用的chrome插件(上)

<p>

本文以前, 先说两件事:
一. 强调下odoo (原 openerp) 是开源软件,
源码是最棒的上将,关于怎么着开发qweb报表,请多看源码。
例子,point_of_sale模块有多少个qweb报表的例子。
二. 贴个招聘链接。

6. Pocket

可以很便利的保存小说、录制等供之后翻看,即落实了“Read it
later”功效。
有了
Pocket,您能够将有着想下次读的内容聚合到多个地点,然后在任何设施上时时查阅。Pocket还提供了此外3个意义,即能够通过发送邮件的办法来保存内容(不须求点击那个插件),发送链接U冠道L到add@getpocket.com即可保存(发送的Email是你注册pocket时使用的Email),当然那种方法对比劳顿,可是能够在未曾pocket插件的时候救急使用。

Elico Corp (深圳) 正要招聘odoo技术工程师

7. Readium

EPUB阅读插件,协理在Chrome里阅读EPUB书籍。挺便宜的,帮助书签、全屏阅读,可安装字体大小、背景观等。幸免在电脑上设置厚重的epub阅读软件,比如自个儿事先装的是calibre,软件十分的大还要加载还非常的慢,体验不太好。当然插件与软件相比较也有瑕疵,那正是作用比不上软件那么充裕,比如不能批注、划线什么的,作为简单利用已经够用了。

qweb report 介绍

openerp 7版 使用 webkit 和 rml 报表引擎。 6版 用 rml。
qweb 是8版采纳的新报表引擎,webkit and rml 已在8版中弃用。

qweb 也是odoo
web服务器的网页渲染引擎。也便是说,8版中,odoo统一中网页模板和表格模块的渲染技术。

8. Adblock

广告屏蔽插件,能够屏蔽不少网站的广告,比如屏蔽Youtube广告、推特(Twitter)广告、横幅广告以及一些讨人厌的弹窗,还足以自定义规则。点击那个插件按钮能够看现实的屏蔽新闻和安装。可是到底是外人开发的,对中中华电台频网站的援助还不够,比如不可能很好的遮光优酷的广告(应该有很强的反广告机制),只是屏蔽了广告情节,但这60s钟你要么要等,不过不用听那该死的广告也是好的。

Adblock 屏蔽音讯

正文结构

  • qweb
  • 何以创立三个qweb报表

9. 豆瓣FM

豆瓣广播台(http://douban.fm/)的插件版(不用大家每便都打开网页才能听歌了),我极度喜爱豆瓣FM的推荐机制,不用小编搜歌直接选一个广播台播放即可,不可能快进和滞后,听到喜欢的就点一下诚心,不希罕的就点击垃圾桶,日益的依据你的喜好,猜你真的想听的歌曲,效果还不赖。

豆瓣FM,直接点击按钮即可听歌

qweb

基本上 ,

  1. 程序员在 xml 代码中编辑 动作,报表,视图,样式,在python 代码中编辑

  2. 模块安装,下面编写中的动作,报表,视图会存在数据库中。

  3. 当用户点击视图上的按钮,或打开2个新网页,它会使得动作,调用 网页
    javascript API. 网页 javascript 脚本会

    • 找到相应的视图id 和数据库中的视图代码,渲染到网页上。
    • 找到呼应的数量id和数据库中的值,渲染到网页上。
  4. 打应报表时,odoo 使用 wkhtmltopdf 把网页样式转换成pdf格式.

10 印象悦读

纪念笔记插件作者就背着了,用笔记的人都通晓。而“影象悦读”可使博文、作品和网页变得显著且易于阅读,约等于足以帮您清除影响在线阅读经验的装有困扰(去掉广告、插件、弹窗等阻碍),还是能够让你在多个视图中浏览多页文章,流畅阅读
。其余,悦读与影象笔记连接后,剪辑的稿子会共同到您所使用的每一台总结机、手机和平板总计机上,达成随时四处阅读。

qweb 语法介绍

  • 数据
    t-field, t-esc

  • 循环, 条件

    <p t-foreach="[1, 2, 3]" t-as="i">
        <t t-esc="i"/>
    </p>
    
    <t t-if="condition">
        <p>ok</p>
    </t>
    

11. Octotree

树形体现Github项目目录文件。安装之后,浏览托管在Github上的档次,可观察左侧的树形结构,像
IDE
那样方便地浏览代码
,再也不用每一遍点一下刷新一下、然后倒退倒退点另3个,这几个插件是帮了自个儿不少忙。

Octotree树形体现Github项目

怎么着创立一个qweb报表

12. Project Naptha

在线一向 OC汉兰达 图片扩张。如今大家对图纸展开 OCLAND一般都亟需接纳一定的软件,用起来稍显麻烦,而 Project Naptha
是一款特别吊炸天的恢弘,它能够直接在网页中开始展览 OCCRUISER免去选择软件的沉闷,帮忙超越51%的图片格式,像 JPEG、PNG 等。Project
Naptha
使用的不二法门很简单,安装收尾后,在一直不超链接的图形上,将鼠标移动到文字上,那时你会意识鼠标变成可挑选状态,你就足以进里面包车型大巴文字举行复制操作了。

0. 模块结构

    | report
        |   customize_report.py
    | views
        |   report_layout_view.xml
    | report.xml
    | __init__.py
    | __openerp__.py
    | ...

1. 开立3个 report

  • if no 2nd step, the value of file and name 2nd step.
  • if 2nd step, the value of should be the template id in 2nd step

<report 
            id="report_sale_order_libiya_xxx"
            string="Sale Order Libiya"
            model="sale.order" 
            report_type="qweb-pdf"
            file="module.report_sale_order_xxx" 
name="module.report_sale_order_xxx" 
        />

2. 创立一个可翻译的报表记录 (可选)

<template id="report_sale_order_xxx">
    <t t-call="report.html_container">
        <t t-foreach="doc_ids" t-as="doc_id">
            <t t-raw="translate_doc(doc_id, doc_model, 'partner_id.lang', 'module.report_sale_order_xxx_document')"/>
        </t>
    </t>
</template>

3. 开立报表样式

odoo 使用 bootstrap 作为网页样式:
http://www.w3cschool.cc/bootstrap/bootstrap-grid-system.html

<template id="report_sale_order_xxx_document">
    <t t-call="report.external_layout">
    <div class="page">
        <div class="oe_structure"/>
        <table class="dest_address">
        <tr>
            <td>
                <strong>Customer address:</strong>
                    <div t-field="o.partner_id" 
                        t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax","email","vat"], "no_marker": false}'/>
                    <p t-if="o.partner_id.vat">VAT: </p>
            </td>
        </tr>
        </table>

            <div class="row mt32 mb32" id="informations">
                <div t-if="o.client_order_ref" class="col-xs-3">
                    <strong>Invoice:</strong>
                    <p t-field="o.client_order_ref"/>
                </div>
                <div t-if="o.user_id.name" class="col-xs-3">
                    <strong>Salesperson:</strong>
                    <p t-field="o.user_id.name"/>
                </div>
                <div t-if="o.payment_term" class="col-xs-3">
                    <strong>Payment Term:</strong>
                    <p t-field="o.payment_term"/>
                </div>
            </div>

</template>

4. 创办自定义的渲染函数

有多个格局

方法 1

odoo 使用这几个措施重用7版代码

import time
from openerp.report import report_sxw
from openerp.osv import osv

class sale_report_xxx(report_sxw.rml_parse):
    def _print_test(self):
        return "good"

    def __init__(self, cr, uid, name, context):
        super(sale_report_libiya, self).__init__(cr, uid, name, context=context)
        self.localcontext.update({
            'time': time,
            'cr':cr,
            'uid': uid,
            'curr_rec': self.curr_rec,
            'compute_currency': self.compute_currency,
            'print_test': self._print_test,
            'print_test2': "good2",
            'other_methods'self._other_methods,
        })

class report_pos_details(osv.AbstractModel):
    _name = 'report.sale_webkit_report_libiya.report_sale_order_xxx'
    _inherit = 'report.abstract_report'
    _template = 'module.report_sale_order_xxx'
    _wrapped_report_class = sale_report_xxx

方法 2

( odoo 官方文书档案的代码例子)

from openerp import api, models


class ParticularReport(models.AbstractModel):
    _name = 'report.<<module.reportname>>'
    @api.multi
    def render_html(self, data=None):
        report_obj = self.env['report']
        report = report_obj._get_report_from_name('<<module.reportname>>')
        docargs = {
            'doc_ids': self._ids,
            'doc_model': report.model,
            'docs': self,
        }
        return report_obj.render('<<module.reportname>>', docargs)

小工具

报表网页编辑工具

安装 website_editor模块 , 在后台修改报表类型为HTML后,website manager
用户能够在线修改报表样式。

网页编辑完后,报表类型调整回pdf,即可再一次承诺pdf。

索引