admin 发表于 2013-10-4 14:10:19

Teamcenter二次开发实例教程-报表开发教程

Teamcenter二次开发实例教程-报表开发教程

   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。
   下面我对两类报表开发方式优缺点做了个简单对比

传统报表开发手段
OOTB报表
比分
1
自定义模板,灵活多变
格式不能完全满足客户需求
或非常难满足客户需求
1:0
2
大量开发和代码维护
或用POI,Excel报表
开发量小,仅需简单配置
1:1
3
遇到大数据量报表生成不了
速度很慢
处理大数据量有优势
速度非常快
1:2
4
开发周期长,Bug多
开发迅速容易
1:3

一、报表生成
首先来开OOTB的零部件BOM

右键点击顶层部件,生成报告。

出现报告生成向导界面,选择PS – BOM结构,下一步

OOTB为我们提供了两种方式的报表:
 HTML
 XSL
每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。

生成报表如下:


二、报表配置
报表配置涉及两个Teamcenter应用程序:
 报表构建器
 PLMXML
报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则

PLMXML主要负责以PLMXML格式导出BOM数据


三、应用举例
   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。
   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。

选中找到的数据,右击,命名引用。

点击导出,把模板保存到本地。

下面对Javascript有一定要求。
首先对表格增加一列来容纳计算的总数量:

在xsl中找到上面两处代码增加、修改红框部分。
定义如下函数,并且在onload事件中调用
function showPart(){
​​​//获取html的表格对象
​​​​var tb = document.getElementById("table");
​​​​//获取表格行对象
​​​​var rows = tb.rows;
​​​​//循环遍历table所有行
​​​​for(var i = 3; rows.length>i; i++){
​​​​​//获取每一行的零件号
​​​​​var itemName = rows.cells.childNodes.innerHTML;
​​​​​//初始化零件总个数
​​​​​var quantity = 0;
​​​​​//循环进行比较
​​​​​for(var n = 3; rows.length>n; n++){
​​​​​​//获取每一行的零件号
​​​​​​var itemStr = rows.cells.childNodes.innerHTML;
​​​​​​//获取零件数量
​​​​​​var qt = rows.cells.childNodes.innerHTML;
​​​​​​//判断是否是相同的零件
​​​​​​if(itemStr == itemName){
​​​​​​​//若零件号相同,把数量进行累加
​​​​​​​quantity = parseInt(quantity) + parseInt(qt);
​​​​​​}​
​​​​​}
​​​​​//在统计列显示总数量
​​​​​rows.cells.childNodes.innerHTML = quantity;
​​​​}
​​​}
修改好后,保存回源数据集。注意先删除原来的再导入新的。


重新生成报表测试下:

沙滩仔 发表于 2014-10-23 16:20:01

谢谢楼主

magic_benny 发表于 2014-12-19 13:38:29

支持一下楼主,谢谢了

ke111026 发表于 2015-12-1 14:03:02

ddddddddddddddd

biny1984 发表于 2016-12-10 20:53:01

谢谢分享

linnan 发表于 2017-4-11 16:52:27

支持楼主,非常感谢。

656290267 发表于 2018-6-3 11:17:10

必须认真学习这类资料。

Edison 发表于 2018-7-4 16:08:19

666666,给力

jcy2024 发表于 2018-10-12 11:15:15

632255555555

zhu.boo@163.com 发表于 2019-7-10 18:59:24

ddddddddddd
页: [1] 2
查看完整版本: Teamcenter二次开发实例教程-报表开发教程