查看: 13700|回复: 10

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

 火 [复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
Teamcenter二次开发实例教程-报表开发教程
/ L/ {' j  ~5 ]  a. u+ q2 ?0 @3 e9 H. a
   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。/ B2 c+ m9 y& f
   下面我对两类报表开发方式优缺点做了个简单对比3 Q& q1 Q; T0 l) Z: {% v3 q& S
7 G6 q. }- R' ^6 f
传统报表开发手段+ b5 L, u7 o! j" O; K- F
OOTB报表6 w: X1 l9 j; }* M/ P* J
比分$ I* u- z" u: s$ a" q2 l! S
1: p: b5 j$ ]5 q* K9 q! F
自定义模板,灵活多变# m& }% W8 ~) f% b# G! Z
格式不能完全满足客户需求
. i+ k. O* S' V+ B! V或非常难满足客户需求6 G& w/ e' }( B* q2 z& E
1:0& e( [9 b$ i. @
2' N0 l! ?! V* }9 @$ O9 ?( D
大量开发和代码维护
& b1 c+ ~2 [, p; ]  Q或用POI,Excel报表
' L( z! D+ U3 u开发量小,仅需简单配置; e& B# T0 y& d: G6 B# y
1:1
/ g$ O! n# o6 N. B  Y# u3* E" G7 ~- k% |+ X- H; R* ]3 M
遇到大数据量报表生成不了% n. v  g; u6 d, ]) j6 g
速度很慢
" ~7 g7 @" ]! T. M9 F! i处理大数据量有优势9 x8 N; [# t3 d2 q  J1 u9 p3 s
速度非常快& P' ?# {5 d2 v4 R
1:2
! R' {* p, |3 Y6 @4* h5 V# u0 E' Z/ n
开发周期长,BUG多% g1 W+ M6 ^. s) j
开发迅速容易% u# n1 l7 m0 U2 t4 j
1:3
% j: v5 {. {4 }9 i2 _. P7 X" k
$ a0 g3 B) ^) S3 z1 }! F一、报表生成9 _  M% h1 {+ p3 k
首先来开OOTB的零部件BOM
5 Y) [$ X4 @" U* f8 V! m3 [0 e; X9 j8 ]
右键点击顶层部件,生成报告。
* @, M6 Q/ `6 y/ E6 g
8 n7 r/ l/ o# q& p6 g出现报告生成向导界面,选择PS – BOM结构,下一步3 |$ |; u2 |0 I

, I& K2 k6 _" A/ N, J1 R. g6 [OOTB为我们提供了两种方式的报表:% L( R/ {; F) y. H, ]: a# n
 HTML
2 }& n) x% l, f6 [0 @1 q XSL
( k) a' x# b, m6 B/ |2 [每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。9 L0 R- ]0 s9 {- P* ?, j+ s
5 S1 @' h: \; s7 a' }
生成报表如下:! \4 b, p( X0 R8 [' @$ X! q' C% G

- [' }3 I& }% r9 B! Q : J) r/ u1 P6 e0 P+ k- c
二、报表配置. h! \7 H% l+ V8 T! ^9 u" ^; t
报表配置涉及两个Teamcenter应用程序:
  W& C5 ^2 |* ~% ^% ^% [; e 报表构建器# N6 p$ h' P% h$ r5 P
 PLMXML  ^6 N. U  n) W1 R
报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则
3 K# M3 C) r5 \9 z& r
$ }4 V, }1 `' A: @PLMXML主要负责以PLMXML格式导出BOM数据
5 n* R7 m: A/ K3 A; z
3 w- o. _3 A- W  y3 t
$ J6 z2 J- M8 f# w三、应用举例, |* p/ k/ @. Z
   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。
) X. U6 X& \  f& ~8 a9 ], w% l   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。  P* M: W8 C  F8 O1 ?; W( H
" V- o* t: F4 y  T
选中找到的数据,右击,命名引用。8 P( }1 ~+ h# f
3 P4 p7 |3 u) h# }( B
点击导出,把模板保存到本地。
7 R! x' a$ B5 R2 K# j- h: r) ^3 `0 i
下面对Javascript有一定要求。. I# ^- F) C: |5 V  H# e( a$ B* D! a
首先对表格增加一列来容纳计算的总数量:
- R9 l2 s+ M& |/ o- p  Z) I$ H+ S7 D& T4 Q
在xsl中找到上面两处代码增加、修改红框部分。
' c) D& k* o- ~* C% e* A定义如下函数,并且在onload事件中调用
7 ?: }% `& f3 Ifunction showPart(){5 W; V' E: h8 F& l( z
​​​//获取html的表格对象$ T5 {: p# ^( |( g# B. ]8 s1 @
​​​​var tb = document.getElementById("table");  o* N4 O: ~" ?; O) h
​​​​//获取表格行对象( X, w3 ?# S% Y
​​​​var rows = tb.rows;8 K5 z) r/ q; w) N
​​​​//循环遍历table所有行. J# J2 g" Q, E( G0 \& @& @
​​​​for(var i = 3; rows.length>i; i++){! F9 V/ \6 L7 z" E2 c" m$ P
​​​​​//获取每一行的零件号
$ `  G. F& ^) v; e* U​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;1 _1 k9 ^4 x, \
​​​​​//初始化零件总个数: v/ p  ?+ m' Q# `5 y2 x2 A
​​​​​var quantity = 0;
- H% V$ r3 ~" l- m​​​​​//循环进行比较
; W1 @% b2 w2 J2 d' |7 e; }  g* O​​​​​for(var n = 3; rows.length>n; n++){; r0 O+ `: m" z. _
​​​​​​//获取每一行的零件号8 u7 K+ g6 z# V. }6 `2 v
​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;
$ j1 @4 ^/ t0 a! T' h5 m8 p​​​​​​//获取零件数量
" G' \2 B, k0 L​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;4 w9 Z7 O' P- G; y4 c7 m
​​​​​​//判断是否是相同的零件
, }  _( E7 |$ i' J) i* d5 k7 p# E' @​​​​​​if(itemStr == itemName){
* g; Z- v% f1 H3 J1 r9 e$ K" R​​​​​​​//若零件号相同,把数量进行累加0 B% M  c- w; F( ~% b# o  `  r
​​​​​​​quantity = parseInt(quantity) + parseInt(qt);
9 E7 e0 D7 b$ Z1 L7 c2 @​​​​​​}​. A$ e+ I4 M/ v
​​​​​}6 S  P' U5 E% m* ~
​​​​​//在统计列显示总数量  i- T% A  Q0 \- I4 A
​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;
7 K3 O9 Y( ~# v2 k/ K​​​​}
' W" P0 K0 u( i​​​}
! c! e3 G- g% Q7 P修改好后,保存回源数据集。注意先删除原来的再导入新的。
& O2 [9 U2 b$ e
' x+ s' p/ D  v3 j9 a6 _$ M) F8 d; ~/ [, D% H# n. g
重新生成报表测试下:; Z" @; L7 d1 }: R8 T5 r1 E
上海点团信息科技有限公司,承接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客服返回顶部