PLM之家PLMHome-国产软件践行者

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

  [复制链接]

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

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

admin 楼主

2013-10-4 14:10:19

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

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

x
Teamcenter二次开发实例教程-报表开发教程
- Z7 k, Z. n! v2 y$ D+ k1 T- F
/ V3 U  U: Y1 Q( ?& J: m$ D9 n, _: P   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。  g/ s# f3 U  B% h4 P
   下面我对两类报表开发方式优缺点做了个简单对比
- t4 y7 d; {7 v9 y
2 Q; k) B, Y  |) c8 m传统报表开发手段5 S" y( f. i8 v" U. C
OOTB报表/ c* i5 n3 X$ Q. ^* ^
比分
/ `  O1 c# _6 x0 H1
' G2 G. q/ F+ P5 I自定义模板,灵活多变
3 w* D; q! I: Q' x8 G7 |) U# C6 l6 ~格式不能完全满足客户需求4 F& T  Y- d0 p
或非常难满足客户需求
$ \2 J/ X. J1 [! D# o6 y/ _1:0
' |8 f6 K0 v8 r; e2% N5 `& b9 e5 Q% J  c& P* [2 C
大量开发和代码维护
( W" x2 O0 U2 T7 W3 U9 p或用POI,Excel报表
# ?) t, M- ?+ M% R/ F7 n2 }开发量小,仅需简单配置+ W! s" l$ g) I! h# w* |1 l
1:1
0 R/ r9 O. s' H- j8 m3
6 }5 ]1 k% w# S9 p" V8 o0 L遇到大数据量报表生成不了. `; G$ y, y3 y( [) l# I8 X( W
速度很慢
8 u* \% s$ [- v/ S处理大数据量有优势8 \( y! x% Q1 v9 ~6 p: p# _
速度非常快
6 r, T5 |2 i+ Q0 G1:27 ~3 f9 J1 R; _2 U4 T
4# M/ T( W1 J6 w- E4 B$ N! P
开发周期长,BUG
% W- W# h" R5 S4 p+ f+ ?8 c$ {开发迅速容易$ }& X% x+ M# z- h+ u
1:3
/ W: s" }% ^' W  X3 ?
2 s3 _; q6 W3 [一、报表生成
$ v0 m; \+ `" L/ K4 H/ b& j首先来开OOTB的零部件BOM
+ W" N1 d1 u; O' e8 o5 S) H. g3 r& Y8 B7 z
右键点击顶层部件,生成报告。5 C- L8 w9 B1 D- N! [2 T' T* W/ C

1 C7 y* d& |, F2 |: T% ~$ f7 {出现报告生成向导界面,选择PS – BOM结构,下一步$ `1 X& b: B1 w2 y  g
4 B! ^0 i8 K, |5 _1 {. ?) B. i
OOTB为我们提供了两种方式的报表:" K/ u5 s! i) Q* J& _2 H( f" X
 HTML. B# Q- s3 d, w3 o
 XSL3 k' T1 R3 i% ^
每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。
4 V1 a  m4 ]4 [3 l& E4 B  ^. g6 |- ?. A1 h. m1 C
生成报表如下:
/ B, g: ], O0 G/ o7 \8 }$ P* G3 {: m; L$ g1 P, V& x" p" l

* W  Z0 I2 U% j, u+ Z& Q二、报表配置
+ r7 w& Q1 ~6 E0 a0 B: h  q% m报表配置涉及两个Teamcenter应用程序:
- m: X" l: k4 m! W* F7 D 报表构建器' Y2 s7 I/ `+ o1 g; K& u; a
 PLMXML
1 k  M: ]) `& P6 H. s' `; U报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则, J6 m# N4 B0 k* r& k* e5 D
2 X  I3 V  J" R' S$ m% j) D
PLMXML主要负责以PLMXML格式导出BOM数据
8 L, V/ B( V6 C! y; Q  R9 [* n, |- A, g" N( q! H5 k
; m5 d' L6 {$ q
三、应用举例
5 i6 k6 N/ G% R' g0 d9 u3 i   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。
) |2 {, x. X6 i6 Y! ^   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。
0 T3 h, N- ?. C$ l- n9 x( P: \6 X1 u* d0 o6 W! J
选中找到的数据,右击,命名引用。4 o+ N+ J# H$ e& j5 O1 u) d
2 u$ Y0 M( _/ E# e6 ?4 e
点击导出,把模板保存到本地。* s( h2 p! E* p9 U/ L( q0 n% I

7 i" C" g6 E' t下面对Javascript有一定要求。
  ^, [8 {2 t+ o- c& c* Z) }首先对表格增加一列来容纳计算的总数量:( y* `2 `; b' r

4 ~; \2 ~/ z* o: Q9 m% W/ ^在xsl中找到上面两处代码增加、修改红框部分。
/ w9 b/ y5 W' D/ S定义如下函数,并且在onload事件中调用
4 m6 N+ a9 A. K2 A/ A' w6 E* }function showPart(){
( k3 A1 }  z$ N$ Q6 _  z1 a​​​//获取html的表格对象- x& E8 h' Z8 f9 m6 B+ |; C* W. L( e
​​​​var tb = document.getElementById("table");
+ [0 g4 V6 |9 e  T' f+ U​​​​//获取表格行对象3 i( N/ L- j) c. E
​​​​var rows = tb.rows;
; C' y2 f" ~& v6 G, m9 a  P1 F​​​​//循环遍历table所有行. @& U+ C8 |7 m+ d/ c+ ], j
​​​​for(var i = 3; rows.length>i; i++){4 n% i5 h& {4 P- N: _3 }! z, Q# g- c
​​​​​//获取每一行的零件号
! }5 K6 r4 f0 `! j- A3 p0 q( Y​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;$ Q7 }& F8 K1 |1 q3 `% Y
​​​​​//初始化零件总个数
. `  S& G3 G  j- [, s, C​​​​​var quantity = 0;3 w$ L" _8 {  }+ h# m& L- G/ [
​​​​​//循环进行比较
6 K' v; N0 A6 ^) t​​​​​for(var n = 3; rows.length>n; n++){7 \. O. \. Z7 G& y
​​​​​​//获取每一行的零件号
- T$ ?5 s3 |$ E( S4 D* a; Q& i6 d​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;+ w* p* E0 k5 O8 B9 d3 z9 Q" {
​​​​​​//获取零件数量
+ `5 E$ H( Y5 ^6 @​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;5 S2 e  Z/ j+ h* |$ e
​​​​​​//判断是否是相同的零件5 _4 J$ r- w8 C7 R5 Y& k7 q  b# ?
​​​​​​if(itemStr == itemName){! r5 r6 L& Z( b6 |+ \
​​​​​​​//若零件号相同,把数量进行累加0 P( g+ K" h. s4 g2 s+ s& Z0 ~
​​​​​​​quantity = parseInt(quantity) + parseInt(qt);
3 d" t, s' _4 R# ?1 @+ f% T% F) \​​​​​​}​$ n& B' x4 ?% K# S# l- A# C( d
​​​​​}
0 v- D: j* x1 Z+ ?# I' m4 V# e0 x​​​​​//在统计列显示总数量4 N* Y" L5 K4 y) e5 E
​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;
) C9 K! {' p) S8 `7 u( c​​​​}  [# r; ^1 `5 Z: {* }! S, Y
​​​}) \, Y8 n( r  I0 h$ I- N
修改好后,保存回源数据集。注意先删除原来的再导入新的。) y1 g* x) G8 W
7 S" S4 @  P. u* W/ o
, r1 |; t+ u6 W# q$ \
重新生成报表测试下:
) N* U' w2 @5 Q: y3 j% Y# K
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了