查看: 13572|回复: 10

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

 火 [复制链接]

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2013-10-4 14:10:19 来自手机 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×
Teamcenter二次开发实例教程-报表开发教程3 r- w# X  K8 v1 K9 i
4 ^4 P3 |: [2 d" `9 w
   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。
8 f( l& ^; k0 G   下面我对两类报表开发方式优缺点做了个简单对比) W8 j1 k" q9 r) Y' o. v
# e* ^4 u( d5 H8 Q6 i* U2 `7 [
传统报表开发手段
# C/ J9 J- [# p4 \OOTB报表5 N7 j0 h( s+ a$ g
比分
2 P4 f; u/ x( ~& t: P, U, K1  I2 l. V- e; X) w
自定义模板,灵活多变
: Y9 X) t( [- _' m' E$ u格式不能完全满足客户需求
$ M, }( T+ u5 m* q* @- x或非常难满足客户需求' h- x4 j- e6 K( X4 @% y; i" w
1:0
$ R0 o# ~) a" B8 o4 W8 s2# l1 `& S# L$ S1 K$ V3 C: \
大量开发和代码维护6 {+ I; u! w  t' \7 d) P
或用POI,Excel报表
+ `5 m( _0 P2 V! l+ v8 h. I' o开发量小,仅需简单配置" R' s: Y9 X# @  N
1:14 D# A0 B" q  v" l- \. G
3/ R4 l; h  p7 I6 C" ^/ @# w
遇到大数据量报表生成不了
' k- Q/ R" w6 B% i( ]速度很慢
3 m! [; z" `* n+ Y处理大数据量有优势4 ~9 l  f/ d: s8 \; }- \% t- X) u# f
速度非常快& m. ?# p3 I6 F& H/ y# b# V$ J  r
1:26 |" ?6 A, k, }( u4 X
4% ]( ^. m; C5 ]7 u
开发周期长,BUG多
1 `/ W2 n) w/ Y开发迅速容易- x1 F2 g; ]9 z
1:3
7 a6 L9 V  q( b& j# B( h% N
) U( V( D3 r  B一、报表生成
7 ]$ n) V& e$ F. a8 A5 |  z首先来开OOTB的零部件BOM9 a' A( ~+ ]  j; k& l) i
% {  i# c0 O( k4 ^' \9 K
右键点击顶层部件,生成报告。8 R6 J) g! d; M0 r3 ^" _% g; T
" G% |* J/ G& L; ~! T
出现报告生成向导界面,选择PS – BOM结构,下一步( u3 X: w- b. @) N+ g9 j

2 W6 P* n! w1 y2 A/ l) oOOTB为我们提供了两种方式的报表:! l, I! E0 m- {) y; I% F% O
 HTML
8 I/ d$ N. |% N! s4 M% j XSL
) D4 m5 z  E% p- ]+ a每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。8 U, y0 Q; c: B1 e( b! \+ [
) }, t6 q5 @5 V$ S$ L( w/ O3 n
生成报表如下:
# e& w$ K5 ?9 a* b# n# q
' z9 ~8 O( v0 H1 H! s, A' C7 p 8 ^. a1 k/ X  C% x2 D, Y% }$ g
二、报表配置
" L  P3 \' w& U1 M- [) W4 u' b3 H报表配置涉及两个Teamcenter应用程序:) A. z+ `1 o5 u/ R
 报表构建器
# v) y# |+ g; o& r, v9 ]/ r PLMXML
! S! r3 e9 A- l8 Q5 y报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则- c" E/ X+ w! s1 w5 B! }

, V9 j3 s) {' R  l5 ~2 I8 JPLMXML主要负责以PLMXML格式导出BOM数据
7 y# X! L; R/ ^) g0 k4 i$ X, T
9 q3 R3 k2 C* D
7 _3 I* ^0 F" `: i3 x4 G三、应用举例2 K2 n" Z5 Y0 ^
   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。* n6 U$ E5 U- k
   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。8 s4 T7 _4 m. I2 i* {% L
: h+ B, t; d" e- }0 X- q
选中找到的数据,右击,命名引用。% y& n! S6 P4 a0 m! |: E/ C4 o

) r; n1 L; k8 u9 a* M点击导出,把模板保存到本地。
# G( J( }" i0 ]5 R+ T0 @+ [8 i: Q! x' L) B. b! r- e8 z/ [( C
下面对Javascript有一定要求。$ W5 j. h& Q3 N' q, f% X
首先对表格增加一列来容纳计算的总数量:1 i9 F: u! F8 h

+ K# e) ~# W# r7 m在xsl中找到上面两处代码增加、修改红框部分。' t" j  @+ z. p# G& P! {. F$ T7 C6 C
定义如下函数,并且在onload事件中调用' z$ j9 a7 d' b" x7 {
function showPart(){5 Q0 u3 J* b$ |
​​​//获取html的表格对象
# t- b% \7 ]6 ]​​​​var tb = document.getElementById("table");' M( n0 I+ H* v- n
​​​​//获取表格行对象, ?) S2 W/ @8 P# Y
​​​​var rows = tb.rows;$ e' B0 b- o# {' _# b" ^! V0 l
​​​​//循环遍历table所有行
: \0 P; M% f2 R1 `; A  ]​​​​for(var i = 3; rows.length>i; i++){
* Y* N4 V3 a+ w# s6 s1 z0 P) A* |7 a' D+ x​​​​​//获取每一行的零件号
  a6 k" s( S2 S  H3 x​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;
; M& f& c- ~3 d​​​​​//初始化零件总个数' `( ^$ x) S9 t/ ^9 w
​​​​​var quantity = 0;
2 c9 Q$ K6 d- k7 ^6 H​​​​​//循环进行比较
5 s* }! r6 C! P/ W; `! w# D5 I4 \​​​​​for(var n = 3; rows.length>n; n++){# t) t1 T' ?: w, {
​​​​​​//获取每一行的零件号
" z6 g  Z) m# [/ Y8 k0 u​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;* w- l" [8 `. b$ m
​​​​​​//获取零件数量
! q0 o; O! N# f​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;( h, J; H7 U( r% ~; q+ Z! I, W
​​​​​​//判断是否是相同的零件$ w6 w5 `0 B' ~" @
​​​​​​if(itemStr == itemName){
. \% O( \4 }* Z* j​​​​​​​//若零件号相同,把数量进行累加
# ^( ~: j! I$ h; [! V8 {​​​​​​​quantity = parseInt(quantity) + parseInt(qt);
: @. K) K. q$ E/ {3 B​​​​​​}​
$ {$ V  a* E- n/ I. t​​​​​}1 D& ~) \# x7 \- O
​​​​​//在统计列显示总数量9 Y9 G" X& w* k. g  D4 Z2 f
​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;
. e" W  s! y- c0 G9 V" I2 F) y" k​​​​}
" B* \: ?/ n4 L% Z. c​​​}
3 E4 X1 ~5 K0 s( m  e( y6 t9 x$ L修改好后,保存回源数据集。注意先删除原来的再导入新的。4 a+ u1 ^  M! S1 r* o( d! f5 M, s1 d

: ]  l6 a; p2 k2 z8 Q% f6 k9 W3 o- k3 v1 l# b! y
重新生成报表测试下:3 U3 K) ~/ A. u+ u' \
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

0

主题

60

回帖

356

积分

中级会员

积分
356
发表于 2014-12-19 13:38:29 | 显示全部楼层
支持一下楼主,谢谢了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

31

回帖

409

积分

中级会员

积分
409
发表于 2015-12-1 14:03:02 | 显示全部楼层
ddddddddddddddd
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

3

回帖

12

积分

新手上路

积分
12
发表于 2017-4-11 16:52:27 | 显示全部楼层
支持楼主,非常感谢。
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

10

回帖

26

积分

新手上路

积分
26
发表于 2018-6-3 11:17:10 | 显示全部楼层
必须认真学习这类资料。
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

26

回帖

72

积分

注册会员

积分
72
发表于 2018-7-4 16:08:19 | 显示全部楼层
666666,给力
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

0

主题

13

回帖

52

积分

注册会员

积分
52
发表于 2018-10-12 11:15:15 | 显示全部楼层
632255555555
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

1

主题

6

回帖

55

积分

注册会员

积分
55
发表于 2019-7-10 18:59:24 | 显示全部楼层
ddddddddddd
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部