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

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

  [复制链接]

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

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

admin 楼主

2013-10-4 14:10:19

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

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

x
Teamcenter二次开发实例教程-报表开发教程6 {. X# u) K2 D
' e. i& F8 S( C+ A
   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。8 ?) z. _+ W1 P" m( W7 W& r
   下面我对两类报表开发方式优缺点做了个简单对比0 b( u1 C0 y3 E9 x1 E* M
1 B2 b) E1 G7 t1 Q
传统报表开发手段% G" k3 Z, a+ n" ^( p$ Z+ }, Y  K) C
OOTB报表4 K3 d1 u4 X! z# P. n" y1 ~
比分
8 `" k5 Q1 A# [; B14 S  w5 N: a  g
自定义模板,灵活多变
3 [) H/ b; U3 h& N( u7 Z& P格式不能完全满足客户需求$ J6 W  D5 W) [8 P2 F3 m
或非常难满足客户需求0 y" \7 c; x$ N$ p4 B& e* _, f
1:0: C, I3 R6 ]& q; s* j
2' v9 C' \) M+ N$ L+ u) y" N. P" J
大量开发和代码维护
$ ]9 _0 a$ w/ P% H2 [% k: t* m) O或用POI,Excel报表4 r! L9 r/ p2 V7 \% G6 U$ S- Z
开发量小,仅需简单配置
0 ]9 ~0 O  N9 `1:1" x7 Z) I1 {. a) `( v% o
3
2 a& ]+ \& m, s4 P6 N0 H5 H. y! `遇到大数据量报表生成不了
, E  G6 X  x2 O5 G: K2 |3 {速度很慢5 l5 i; x0 e- P
处理大数据量有优势
4 Z/ I: g* s* _; E& a速度非常快: t; v8 F/ A0 ~8 _' ^" {3 t
1:2
0 A, a4 p  M/ U5 G' }# d1 z4( [$ ^1 r4 c; j  w) R
开发周期长,BUG5 a1 J5 g/ ]; e$ r; `  r! [: G4 e) c
开发迅速容易
( E' ^$ h$ ^7 v: m1:3" R) A$ O% ~- K$ m/ {

" w* n5 ]; G  B& H1 q/ |! K9 I/ U7 V一、报表生成
' U, ]- J& R$ q% O首先来开OOTB的零部件BOM
3 u$ N  j# ?  a* r* P
/ w* l4 X# Q5 e' W% {右键点击顶层部件,生成报告。
" i" R8 I& e+ R7 z  O
( D' v; L4 V$ n/ o9 Q出现报告生成向导界面,选择PS – BOM结构,下一步
' v2 u* b2 k: Y9 `5 m
! f2 y$ o% n7 w1 d4 v/ l: UOOTB为我们提供了两种方式的报表:
' e0 M& a% f* E* }! q! Z HTML/ y1 s0 }4 I9 Q
 XSL: `+ }7 [9 V) v$ s0 S/ P/ Y7 D* p  |
每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。- Q0 d5 m+ L! M
4 W/ E4 f& C# T$ i4 ]3 l& L
生成报表如下:& e5 D( X; b4 m( a2 }/ ]5 C6 Y+ z% a" d
- L# m. O* e. ~0 n) M0 ~

0 G$ y0 u0 X9 J, |2 Z二、报表配置
) I, D5 C3 e: c- s+ _0 _报表配置涉及两个Teamcenter应用程序:
& I) h  G- e1 c0 e: _1 c 报表构建器8 i0 H8 j4 @! U% t5 Y
 PLMXML- J/ L, G4 R; e
报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则
1 ^+ l4 J+ u7 n7 w! }0 p0 u
' n/ T% N; Y$ }# j5 NPLMXML主要负责以PLMXML格式导出BOM数据* p* q. a6 }0 H4 B) Q6 [/ Y
* l' r6 g0 O. }( e: S

5 r. _7 D3 y$ @/ \# {* I! Q. S三、应用举例
& `: F3 S- G& N& f' c   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。. i* q8 W& W( j+ ?) l, j
   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。& H: L' r, x- b0 X
0 T( ~& J6 C% k& {; |0 u
选中找到的数据,右击,命名引用。4 U, ?3 R3 v2 ?

  z5 Q% W- x5 x1 k: d5 |; j( s1 h2 n点击导出,把模板保存到本地。9 k' a$ @# u0 Z
! Z( ?) K/ d  c4 I" `
下面对Javascript有一定要求。
" X" G7 y( L+ L+ r( \9 w首先对表格增加一列来容纳计算的总数量:$ G0 W+ T/ j3 l4 W$ L
1 _: I+ [) Z+ G: q+ N
在xsl中找到上面两处代码增加、修改红框部分。
5 E2 y2 }" A! X0 Z. D* I定义如下函数,并且在onload事件中调用" t. n# O6 o( m; o
function showPart(){9 H: u/ I: N' n7 y) _
​​​//获取html的表格对象, g6 X! r6 f: x
​​​​var tb = document.getElementById("table");* i* W' _7 O( c9 s2 _* B
​​​​//获取表格行对象
6 {' Y* `) c: w/ F& m3 n​​​​var rows = tb.rows;
1 Y% |& f  W" r, Z; Q​​​​//循环遍历table所有行
8 h6 E' G& N3 d2 [# H7 h3 d! k​​​​for(var i = 3; rows.length>i; i++){
% ]1 z7 x( B  ?8 w* J6 f+ s​​​​​//获取每一行的零件号3 T% J9 ^$ T9 a+ T0 U
​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;
3 M  e& g/ {* v# S7 @/ `, s; V​​​​​//初始化零件总个数- c+ V$ V5 ?1 f( J1 _1 Y
​​​​​var quantity = 0;
- S! t3 B1 d0 O% I9 @​​​​​//循环进行比较3 @8 X! N$ P' b2 H4 p+ c4 g
​​​​​for(var n = 3; rows.length>n; n++){
, }& P& f# J1 ~3 o​​​​​​//获取每一行的零件号" n/ H! k# @9 L$ p3 ^+ d6 B+ e- a
​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;' {2 b; s* v4 p
​​​​​​//获取零件数量! Q6 h6 X1 Y: D$ p% ]. t  d; a
​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;6 n" Q9 k- p; R% Z+ d6 G" K
​​​​​​//判断是否是相同的零件
5 L' C, w& M6 {/ W  O8 }# O​​​​​​if(itemStr == itemName){1 ~4 K6 ~" b! ^( R
​​​​​​​//若零件号相同,把数量进行累加
: _! Q2 K" B; y& g/ H% N​​​​​​​quantity = parseInt(quantity) + parseInt(qt);# u5 z$ ?9 I& m& E* M* G
​​​​​​}​+ d3 Q1 j3 E( T1 J/ g  m6 Z
​​​​​}, U( k% M1 _4 }& _% s- s
​​​​​//在统计列显示总数量
- e$ c5 ]" ^, W0 s​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;7 |& j3 k+ w. \; q! f" ^( [  `. B
​​​​}6 m4 @. E; l- I+ o7 V+ o
​​​}
$ l! U( B5 Y& H/ G+ ~. W- D, A修改好后,保存回源数据集。注意先删除原来的再导入新的。: l: \: r5 O: e& K4 o; L6 P* k

: U: O1 [: S0 M" z# }* u$ V* c+ ?  ^; G; \3 |5 H, D
重新生成报表测试下:7 \7 a% A+ e, f  d6 x
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了