PLM之家PLMHome-工业软件践行者

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

  [复制链接]

2019-7-10 18:59:24 12857 10

admin 发表于 2013-10-4 14:10:19 PLM之家手机频道 |阅读模式

admin 楼主

2013-10-4 14:10:19

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

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

x
Teamcenter二次开发实例教程-报表开发教程8 Z9 x( H; {6 V5 I- P: t

. x! I. M6 K9 M8 O; O   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。8 m- W' y3 ?! _9 [$ \4 F
   下面我对两类报表开发方式优缺点做了个简单对比
) d" b# Q0 O- ~* {8 t
$ o' ~, H" j# }3 X9 D" T- }传统报表开发手段
1 a( J  V* q8 M, \( {2 TOOTB报表
$ n. O$ J3 i: P* t% Z/ A3 {& O比分+ b- P- H. j1 @! V6 _
1, q" i/ ?( o: {! c: h, N. @
自定义模板,灵活多变6 }" v# r4 F0 _) R' O
格式不能完全满足客户需求& F, v5 c# k& x0 u$ Z# h9 M
或非常难满足客户需求
6 y; u& \' [# _& h6 [1:0
2 p* J2 ~8 w: q6 v3 c22 q8 M0 Y# M& z' N, Z) H# o9 m6 V6 I
大量开发和代码维护. }0 M5 V) d9 }" j7 m1 z) d
或用POI,Excel报表1 @7 u; j- z/ ^, D  I- t6 G* Y
开发量小,仅需简单配置
9 e; R. M' ?1 w1:19 E6 Q2 S. a, s/ y- d
3, A$ H1 v+ x& j3 P+ n
遇到大数据量报表生成不了
) r: N- A+ l) l2 l) L( h9 n速度很慢" ]9 x8 @: {/ S0 v0 q+ @
处理大数据量有优势
9 `! U2 J; n7 w  n: a* P8 s速度非常快
* y0 v  z) _% o; R$ Y1:2% ^! k/ \' J/ a5 c* s% I1 K
4
" V) f8 j  v4 w* E# y& @开发周期长,BUG3 e3 B4 j  }0 x$ l
开发迅速容易
" m, P6 s  B% F9 H) x8 b1:3
. y% {+ r& ?* P, f+ p# r! _$ y
3 O8 H" g, E( @& Z5 I一、报表生成5 b7 r0 _, G) [. a& D" Q/ o: M
首先来开OOTB的零部件BOM) N/ |7 _3 \4 `, l' _6 c7 q9 [
+ n- p7 ?$ w6 F) Z3 k7 g
右键点击顶层部件,生成报告。
) B) a2 l1 v5 c4 q4 @. [: e
/ F  U9 S4 L7 U5 @出现报告生成向导界面,选择PS – BOM结构,下一步4 W& O* q2 _& p! y* Q
( k) _! M9 C0 E+ N+ G
OOTB为我们提供了两种方式的报表:
; p3 C  U+ r& U) X& @ HTML. p6 u; S5 d; n+ s" @+ r
 XSL
' E' d- K4 ]9 d+ c+ l+ ~8 g每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。: D& d! N) u4 @6 M/ ]/ ~# @: |' Z
& S* }" P; G( N! [* Y/ k
生成报表如下:
% k) e( v* g$ o5 R1 i+ {" B! i, n5 x% ]' n
. p! Z" G* v% Y+ O
二、报表配置6 R" U6 k; D% N" O
报表配置涉及两个Teamcenter应用程序:8 z1 p+ M; a* D4 ~
 报表构建器
6 B/ O$ E3 ~; G; K3 x* w! ~ PLMXML/ x& h" U) y/ E9 W7 z) p
报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则; r4 S4 g6 O4 q% y& G
. A1 ?" ~# c8 _3 b: N$ \) S% q
PLMXML主要负责以PLMXML格式导出BOM数据
) k4 _" Q6 B6 k6 l2 h4 M9 {1 ~- n7 u- ~& V- f- G

( r& s6 N4 g2 R6 f/ u6 ^% ~三、应用举例5 s: X) v) I3 S  l" x
   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。
( t$ I/ A7 g/ T+ k: T   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。4 E/ C* l, i* h% J  E: {
; W. k  z' X9 P' G
选中找到的数据,右击,命名引用。
6 X! C* N9 h/ |) X, m( c7 u0 o3 }# T9 M
点击导出,把模板保存到本地。
' X" Z# M" j: q& m. Q7 r8 |( b2 Q6 r5 {2 m- a, ^, b3 n5 _
下面对Javascript有一定要求。; @1 x, R+ Q( A, j
首先对表格增加一列来容纳计算的总数量:
  v( p* ^$ Z2 O4 |9 f% E% g- \3 U. Y7 W- `2 T( c  i. {
在xsl中找到上面两处代码增加、修改红框部分。$ d* G0 [8 h. k4 N' Q, _3 d
定义如下函数,并且在onload事件中调用
. }1 v1 K& w7 {- f- Hfunction showPart(){; u) Z' H2 p8 V6 R2 {
​​​//获取html的表格对象9 E) B1 ^3 R' y8 H/ C! O
​​​​var tb = document.getElementById("table");
% S/ y: _$ j$ N% Z' |, P​​​​//获取表格行对象- N7 `  h8 {  c& v8 R. T
​​​​var rows = tb.rows;
4 P+ @+ J' x5 G" F; a​​​​//循环遍历table所有行8 M1 v6 |  B: l+ F( f/ ]
​​​​for(var i = 3; rows.length>i; i++){$ f: t/ c& v3 J$ d1 k1 y
​​​​​//获取每一行的零件号
% `& U' b; ?$ T) e) r​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;
8 L( [( R) f2 m​​​​​//初始化零件总个数
  h1 a  I' p5 ]: `- k​​​​​var quantity = 0;
9 P" K% r8 ]" p+ U% B- d​​​​​//循环进行比较
4 J4 r" Z- t: f​​​​​for(var n = 3; rows.length>n; n++){
9 r& w( v! f# D/ R0 r- H9 ~" q​​​​​​//获取每一行的零件号! j/ n2 g* X9 L" ?8 S1 V, _
​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;9 P8 x6 J$ o8 z4 x
​​​​​​//获取零件数量
' Y/ o4 k" n6 ~' |5 ^" f​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;
, v1 }3 ^2 o9 f4 l​​​​​​//判断是否是相同的零件& V4 \) }! E. I, U5 Y& P
​​​​​​if(itemStr == itemName){
  P4 I6 m& ?# l8 ~​​​​​​​//若零件号相同,把数量进行累加
7 ~4 {2 P. @+ _8 f1 @​​​​​​​quantity = parseInt(quantity) + parseInt(qt);
- d/ a4 }& Y  A1 o5 ^' S6 o- z​​​​​​}​2 q0 J# \, i$ K& b
​​​​​}
2 g2 ?7 M  I1 @. f( H4 @​​​​​//在统计列显示总数量. j0 W- a$ E# a/ @
​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;
7 N/ x4 q/ d$ t) p​​​​}, x9 h' H, k2 o0 V0 P
​​​}
, W7 @1 G9 I7 R# O修改好后,保存回源数据集。注意先删除原来的再导入新的。& Y% X5 C# \; w7 N9 O

* ?8 N- b' D2 ^2 c7 u3 y. _: M/ P8 o+ c( E" a; c! y/ s
重新生成报表测试下:
2 T; y/ V( f% }5 I+ B
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复10

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

magic_benny 板凳

2014-12-19 13:38:29

支持一下楼主,谢谢了
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

ke111026 地板

2015-12-1 14:03:02

ddddddddddddddd
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

linnan 6#

2017-4-11 16:52:27

支持楼主,非常感谢。
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

656290267 7#

2018-6-3 11:17:10

必须认真学习这类资料。
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

Edison 8#

2018-7-4 16:08:19

666666,给力
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

jcy2024 9#

2018-10-12 11:15:15

632255555555
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

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

zhu.boo@163.com 10#

2019-7-10 18:59:24

ddddddddddd
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了