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;
}
}
修改好后,保存回源数据集。注意先删除原来的再导入新的。
重新生成报表测试下:
谢谢楼主 支持一下楼主,谢谢了 ddddddddddddddd 谢谢分享 支持楼主,非常感谢。 必须认真学习这类资料。 666666,给力 632255555555 ddddddddddd
页:
[1]
2