PLM之家PLMHome-工业软件与AI结合践行者

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

  [复制链接]

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

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

admin 楼主

2013-10-4 14:10:19

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

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

x
Teamcenter二次开发实例教程-报表开发教程! q% X, R# U7 V1 D( E) i" _& L: W
  ?6 W$ v4 u$ o! I6 z1 J
   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。
- h/ v1 Y. ^6 c6 R" U# N/ H- A' o   下面我对两类报表开发方式优缺点做了个简单对比; [! `; z. I# r4 r

- N7 q: v4 w+ `传统报表开发手段
5 m  ?3 P- U: U+ Y! A7 C% l/ hOOTB报表
1 {: ?# d' \, f6 I比分8 M1 d" z, H% S( f" h
1
5 R" Q5 P% W" U自定义模板,灵活多变. ?5 U+ V; V' P, T0 D
格式不能完全满足客户需求% c. e- G% ]. o/ g
或非常难满足客户需求
1 I/ t1 M4 b) O( U/ N1:0
- G  U/ s7 ~6 x$ n2
. Y# O5 z- S% `7 e大量开发和代码维护7 G5 r! v7 H; `: u' X0 W
或用POI,Excel报表
3 _5 S' X3 l5 ^) T1 f3 m8 z开发量小,仅需简单配置
7 J" c) A/ w6 N4 B5 u: v1:1
- `+ z( d8 ?. P3
- f! s1 `, r6 M9 c( P  x! W# Z遇到大数据量报表生成不了
- q, Y! H; y' {+ g" W5 ]速度很慢3 t) J, B4 H/ c2 v- n8 H8 p. U
处理大数据量有优势
" E% }( P/ h8 i速度非常快
: f7 N! q. d0 S9 o5 W1:21 w) }7 v2 L# S' i
45 I5 d4 p- ]1 t! y1 M
开发周期长,BUG2 `! {5 q& J: _& C5 T/ ]% j
开发迅速容易1 G4 i! n& k' A" b
1:3
3 G+ X* h7 m" }& @
$ X' Y3 |) R. L( q一、报表生成$ j( f: L& ~7 T! N# D* c7 h
首先来开OOTB的零部件BOM
) @1 `% G6 ~  X' _
% z9 N, @" l* \* A; \3 R右键点击顶层部件,生成报告。
3 P  f" \- x) _8 E0 o
& J! i$ j; [4 E1 N: }  R2 s$ t4 B9 y出现报告生成向导界面,选择PS – BOM结构,下一步' s( o" g! o! s4 J) _- O
5 |+ x1 C  `7 J' b- @
OOTB为我们提供了两种方式的报表:. }; Y, W4 D. M
 HTML
9 C* V- \1 H0 A XSL7 S6 K# A' m6 @' A; w+ M. v+ s
每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。$ ]" I, b$ D! c8 r( ^9 B" P

' ~% P/ x/ Q6 i; K' N! u9 ?生成报表如下:
3 w2 s9 b! E: W/ h  ~1 t5 e4 }, a
- m+ C8 S) K( B; | ( r& I. V4 G0 l. T/ \4 s
二、报表配置
8 T; t$ [. F( j4 Z2 U& i报表配置涉及两个Teamcenter应用程序:- Z8 ]( ~) B+ ?+ @  `
 报表构建器$ g3 C+ Y  X& d9 x
 PLMXML
6 ~: z* S! @# {5 i9 V4 y/ C报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则
$ M. S' M6 O0 \3 \  R. \& B% v0 S: d  s) U5 F/ Z9 z! E' B
PLMXML主要负责以PLMXML格式导出BOM数据5 @; n& M# P% i- e2 }' P8 c( t4 i

+ @' v5 L0 f) j6 G
# q* o1 ?3 h/ I5 O9 n/ u* Q三、应用举例
) r6 f$ y8 u  r4 ~& u$ X6 [& z. m   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。( ~+ U0 W9 x3 b& x
   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。
% D5 J1 L5 V+ r- t" l3 z/ [* j9 o; h2 h2 U7 B7 z+ a, t
选中找到的数据,右击,命名引用。
# _8 ]5 {% H$ X3 y5 l! p
+ d, a  e0 d& r9 n& Z点击导出,把模板保存到本地。& Q5 C6 c1 R! r$ L, \8 ~

+ G7 {3 y2 D7 l: a. P9 p3 ?下面对Javascript有一定要求。
2 C$ u% O4 B, q: N$ F7 \首先对表格增加一列来容纳计算的总数量:  b3 J+ |; l: S; x

# I, p0 f: _0 I2 o( }  V' J在xsl中找到上面两处代码增加、修改红框部分。
5 \6 |% X# }+ |5 K( w定义如下函数,并且在onload事件中调用
0 y& ]& M# C( n6 ]  [function showPart(){" }9 F7 F7 l: T! V, ^+ k1 @2 W
​​​//获取html的表格对象
( ^4 j, O9 X! i. S) }5 l  c​​​​var tb = document.getElementById("table");
: o% z6 D9 i+ R( v! L​​​​//获取表格行对象
+ w' H- t$ s+ _' G​​​​var rows = tb.rows;
" j& @" ?9 c! U' y, d/ s, N2 W​​​​//循环遍历table所有行
" o2 Z2 d$ c# _/ J+ j" U​​​​for(var i = 3; rows.length>i; i++){
  u0 p7 f: R( N​​​​​//获取每一行的零件号2 x2 \) S8 v0 ]! N. q& M
​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;
( Z  L" v' o- F7 N0 @8 k​​​​​//初始化零件总个数
7 @% v5 _; O; t​​​​​var quantity = 0;
% G# B0 b) Q1 u* {8 V6 v​​​​​//循环进行比较' l2 R' W! v) F9 X" Z' |
​​​​​for(var n = 3; rows.length>n; n++){4 Z$ @  c4 K! t
​​​​​​//获取每一行的零件号
; E+ C- i' N/ n' U& Z8 d  U2 h" b7 ?​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;. g/ s8 i( W1 }
​​​​​​//获取零件数量
( f$ x) g9 i* @$ P​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;
# k# N; ?. L) \​​​​​​//判断是否是相同的零件) d' U+ i4 H; w/ Q
​​​​​​if(itemStr == itemName){% }9 h$ ~. ^) Y. X  X* L
​​​​​​​//若零件号相同,把数量进行累加7 \" P7 K2 ^+ w* I, S7 X
​​​​​​​quantity = parseInt(quantity) + parseInt(qt);
) q# S, e7 m1 ]% M1 t% E6 Z9 Z1 M/ G​​​​​​}​) m9 Y! V" b4 @' _
​​​​​}
' s7 l) [3 |$ u  u3 h! r1 Y​​​​​//在统计列显示总数量
- H  Q' R0 \, g" L5 {  [: j1 \​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;& e3 G; }3 K, L% y+ z+ q$ j6 T! Q
​​​​}
2 S& j, a) H) i5 u8 ?- c8 `​​​}; X' A  X8 U- g9 n. I
修改好后,保存回源数据集。注意先删除原来的再导入新的。
6 E! m( j6 ]1 h! c* [- ?9 b0 h" L0 s& @
. t/ I2 R( h% w, x
重新生成报表测试下:
1 [9 p( n  s3 T$ }* e9 z7 ~; O
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了