`
wuhuizhong
  • 浏览: 682619 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

Guide to convert RML Report to Webkit Report

 
阅读更多

OpenERP is one of the largest Open Source ERP solutions. It comes with number of reporting tools like RML, Webkit and Aeroo as an integral part of activity management for any company. OpenERP is flexible to integrate with other reporting engines such as Jasper, BIRT reports.

 

In most of the official addons, OpenERP uses RML report engine to generate report. But there are plenty of features which lets you be a fan of Webkit report.

  • Generates PDF reports from the mako template.
  • HTML like template.
  • CSS can be use to shine the report.
  • Possible to use basic java script.
  • Easy to develop and design.
  • Faster parsing.
  • Paper size definition
  • Multi header support

 

Module report_webkit will be required to make or convert Webkit reports.
Wkhtmltopdf is required to generate mako template in pdf, to get the debian based distribution visit Google wkhtmltopdf project . And download wkhtmltopdf-i386 binary version. Do not download apha version or wkhtmltoimage .

 

 RML Report
Webkit Report
  • __init__.py
  • __openerp__.py
  • rml_report.py
  • report_template.sxw
  • rml_template.rml
  • __init__.py
  • __openerp__.py
  • webkit_report.py
  • webkit_template.mako

 

While converting RML report to Webkit report you need to do few changes which are highlighted in below,

File RML Webkit
__init__.py import sale_order
import sale_order
__openerp__.py {

 

    'name': 'Demo Report',
    'version': '1.0',
    'category': 'Demo Module ',
    'sequence': 1,
    'summary': 'Demo Report',
    'description': """
    Module Description
    """,
    'author': 'Serpent Consulting Services', 
    'website': 'www.serpentcs.com',
    'depends': ['base'],
    'data': [
    'report.xml',
    ],
    'installable': True,
    'application': True,
    'auto_install': False,
}
 {

 

    'name': 'Demo Report',
    'version': '1.0',
    'category': 'Demo Module ',
    'sequence': 1,
    'summary': 'Demo Report',
     'description': """
     Module Description
    """,
    'author': 'Serpent Consulting Services',
    'website': 'www.serpentcs.com',
    'depends': ['base', 'report_webkit'],
    'data': [
    'report.xml',
    ],
    'installable': True,
    'application': True,
    'auto_install': False,
}
 report.py
import time
from openerp.report import report_sxw

class order(report_sxw.rml_parse):
def __init__ 
(self, cr, uid, name,context=None):
super(order, self).
__init__ (cr, uid, name, context=context)
self.localcontext.update({
'time': time,
})

report_sxw.report_sxw ('report.sale.order', 
'sale.order',
  'addons
/sale/report/ sale_order.rml',
parser=order, header="external") 
import time
from openerp.report import report_sxw

class order(report_sxw.rml_parse):
def __init__ 
(self, cr, uid, name,context=None):
super(order, self).
__init__ (cr, uid, name, context=context)
self.localcontext.update({
 'time': time,
})

report_sxw.report_sxw
('report.sale.order', 'sale.order',
'addons/sale/report/
sale_order_webkit.mako',
parser=order, header="external") 
 report.xml
<report auto="False" 
 id="report_sale_order"
 model="sale.order"
 name="sale.order"
 rml="sale/report/sale_order.rml"
 string="Quotation / Order" /> 
<report auto="False" 
 id="report_sale_order"
 model="sale.order"
 name="sale.webkit.order"
 file="webkit_sale/report/
 sale_order_webkit.mako"
 string="Quotation / Order webkit" 
 report_type="webkit" /> 

 

Mako template Syntax is simpler and some extra featured then RML, like conditional statements & python code block. Mako template is having batter management for loops and expressions.

RML syntax Mako syntax

   RML syntax  Mako syntax
 Expression   [[]]

 

eg. [[o.name or '']]
 ${}

 

eg. ${o.name or ''}
 Loop [[repeatIn()]]

 

eg. [[ repeatIn(o.order_line,'line') ]]
%for i in []: 
%endfor
eg. %for line in o.order_line: 
 %endfor
 Condition  None  %if condition:

 

%endif 
eg. %if i==1: %endif
 Table   <blockTable>

 

</blockTable>
 <table>

 

</table>
Paragraph
 <para>

 

eg. <para style="terp_default_8">
<p></p> 
eg. <p style="page-break-after:always"></p>
 Python code  None  <%

 

 python code 
%>
 Comments  <!– comments –>  ## its a single line comment

 

<%doc> 
 This 
 is multi line 
 comments 
<%/doc>

Additional Steps:

Technical Features are enabled or not.After converting it’s time to install / update the module, but before that we need to add a system parameter in OpenERP. To add System parameter go through Settings > Technical > Parameters > System Parameters, if you don’t see this menu kindly check the user configuration, if Technical Features are enabled or not. Here you need to create new system parameter, in that give key as a ‘webkit_path’ and value of wkhtmltopdf (webkit executable) which you need to download from Google Wkhtmltopdf Project.

 

from: http://www.serpentcs.com/serpentcs-rml-to-webkit-report-guide

 

分享到:
评论

相关推荐

    rml-to-pdf

    "rml-to-pdf"是一个基于Python的工具,主要用于将RML(Report Language Markup Language)文档转换为PDF格式。RML是一种标记语言,设计用于创建结构化的报告和文档,类似于XML,但专门针对打印和PDF输出优化。这个...

    rml2pdf user guide

    RML(Report Markup Language)是一种标记语言,用于描述报表的布局和内容,它能够被RML2PDF处理生成PDF文件。RML2PDF User Guide是该工具的用户手册,旨在帮助用户了解如何使用RML进行报告的创建和定制,并最终生成...

    rml2pdf 文档

    RML2PDF是一个由ReportLab提供的工具类,用于将Report Markup Language(RML)格式的文档转换成PDF文件。RML是一种XML风格的标记语言,专门用于描述打印和显示格式的文档,而ReportLab是一个流行的Python库,被广泛...

    R2RML 映射语言

    R2RML映射语言是一种专门用于从关系数据库到RDF数据集的映射表达的语言。它的主要作用是将现有的关系数据库数据以RDF数据模型的形式展现出来,这使得数据库中的数据可以通过作者选择的结构和目标词汇来表达。R2RML...

    RML.rar_rml _参数 辨识

    RML,全称为“Robust Maximum Likelihood”,是一种在处理数据时,特别针对含有异常值或者非正态分布的数据集的极大似然估计方法。RML.rar中的“RML”可能是指一个MATLAB程序,用于实现这种强大的参数估计技术。下面...

    RML2016数据生成代码.rar

    《RML2016数据生成代码:揭秘Gnuradio与Python在信号处理中的应用》 RML2016数据生成代码是用于创建RML2016a数据集的一个工具,这个数据集广泛应用于无线通信和信号处理的研究。在深入探讨此代码之前,我们先来了解...

    rml-reference

    ### RML (Report Markup Language) – 一种用于生成 PDF 文件的 XML 方言 #### 版本:0.7 RML 是一种基于 XML 的语言,主要用于生成 PDF 文件。与 HTML 类似,它能够构建出一个页面,不过 HTML 呈现的是在浏览器中...

    D2RQ_to_R2RML:将 D2RQ 映射文档转换为 R2RML 映射文档的 Python 脚本

    D2RQ_to_R2RML 将 D2RQ 映射文档转换为 R2RML 映射文档的 Python 脚本 用法 您可以通过执行以下命令来运行转换: python D2RQ_to_R2RML.py -i &lt;inputFile&gt; -o 和 &lt;inputFile&gt; = The D2RQL mapping document ...

    rml文档help

    根据提供的文件信息,我们可以归纳出以下关于RML文档的关键知识点: ### RML文档概述 - **标题**:“RML文档help”表示这份文档是关于RML的帮助文档。 - **描述**:该帮助文档为英文版,并且免费提供给大众使用。 ...

    Efficient SPARQL-to-SQL with R2RML Mappings

    标题中提到的“Efficient SPARQL-to-SQL with R2RML Mappings”涉及到了如何高效地将SPARQL查询语言转换为SQL语言,并且特别强调了利用R2RML(RDF 2.0 推荐的RDB到RDF的映射语言)来进行映射。这个技术点是为了解决...

    RML Labs SawStudio v4.9

    《RML Lab音频工作站》(SawStudio v4.9)是一款专为专业音频制作和编辑设计的强大软件。它提供了全面的功能集,旨在满足音乐制作人、声音设计师和录音工程师的需求。这款V4.9汉化版使得中国用户能够更加方便地使用这...

    PyPI 官网下载 | z3c.rml-2.8.0.zip

    RML(Report Markup Language)是一种标记语言,设计用于生成各种格式的报告,如PDF、HTML、PostScript等。z3c.rml 库将RML与Python紧密集成,使开发者能够方便地在Python应用中生成高质量的文档。 **核心功能与...

    调制信号识别数据集RML2016.10A

    调制信号识别数据集RML2016.10A

    rml.rar_RML代码_rml _系统辨识_辨识

    《RML系统辨识:基于MATLAB的源代码解析》 在信息技术的广阔领域中,系统辨识是一项至关重要的技术,它旨在通过观测系统的输入输出数据来构建数学模型,以便理解和预测系统的动态行为。"rml.rar"压缩包内包含的"rml...

    odoo10 report使用自定义的CSS

    在Odoo 10中,报表(Report)是系统中非常关键的一部分,它允许用户以打印或导出的形式获取各种信息。为了使报表更具个性化和专业性,有时我们需要使用自定义的CSS样式来调整其布局和外观。在这个场景中,我们将深入...

    RML2016.10a_dict.zip

    本案例针对RML2016.10a_dict数据集并利用VT-CNN2 Mod-Rec Network卷积神经网络对信号实现自动调制方式识别,使用卷积神经网络在图像处理问题中的位移不变性特点,来解决调制识别的问题,使用网络结构来学习匹配...

    RML for Sql Server性能分析工具的使用.pdf

    RML(Replay Markup Language)是微软SQL Server数据库团队开发的一个性能分析工具,主要用于重现SQL Server的实例并捕获跟踪文件,帮助数据库管理员分析和管理SQL Server数据库的性能。RML工具主要支持SQL Server ...

    RML&2002邮件列表 v2.02

    标题中的“RML&2002邮件列表 v2.02”暗示了这是一个关于电子邮件管理和组织的系统或软件的版本更新。RML可能代表“邮件列表管理器”或者某种特定的邮件处理语言,而“v2.02”表明这是该软件的第二个主要更新版本。这...

    RML.rar_rml _极大似然

    《RML.rar_rml_极大似然》是一个与机器学习和统计推断相关的资源包,主要涉及递推极大似然算法(Recursive Maximum Likelihood, RML)及其应用。该资源包含了一个MATLAB代码文件`chap4_2_RML.m`以及一个PowerPoint...

Global site tag (gtag.js) - Google Analytics