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

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

  [复制链接]

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

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

admin 楼主

2013-10-4 14:10:19

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

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

x
Teamcenter二次开发实例教程-报表开发教程
1 E3 ^% N4 ?* Y* d$ f) ]% M% w( H* r: N
   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。' Z- }; y1 O& z8 e5 g1 Q/ f
   下面我对两类报表开发方式优缺点做了个简单对比2 R5 i; Y" Q! v0 j: q
& ~: V: e- o4 O& M( O2 j4 M
传统报表开发手段
: }4 p6 T* v# g6 k3 {. |3 SOOTB报表, ^+ H4 p! V9 c. G) y0 T0 b
比分
( t; I) S, e/ f5 j0 I# g1
1 T& Y5 j2 ^- N  e6 _( @$ O+ ~自定义模板,灵活多变, f# N) L" m! p8 E& W. I& d
格式不能完全满足客户需求
' C' ?5 d: B5 J$ A# s或非常难满足客户需求4 \! j) D* l* \
1:0# h& C3 T! i) A9 M) ?! ?
2& L' m/ r7 I0 s2 N1 A& m: b
大量开发和代码维护
2 h* B2 s) U* _3 O, L+ G: h或用POI,Excel报表
% ]% U/ S* ~( i- p1 [开发量小,仅需简单配置
* _8 u' ^! p2 L3 M  X1:1
) O. U; e' P6 x2 C9 b! ~) g3* Y, f5 v9 U9 `* a
遇到大数据量报表生成不了3 R' v% Z5 G  F- s6 g- |
速度很慢
' C7 \% T9 a8 ~9 k$ J+ J! m处理大数据量有优势
# H2 p& D. j8 n速度非常快
8 J7 c. ]8 G8 {, c5 m1:26 {! o, r- O& S, C7 v* S
45 q: @9 h" |0 I+ X* r
开发周期长,BUG0 ]! W: A2 _. y: h
开发迅速容易/ C* Z8 I9 u# x  B6 Z; j
1:3
! K) o$ g/ I3 Y3 Z* I9 g% k 6 j+ B, b  C4 j3 {) S) w% m; Y& ^
一、报表生成  v& J, S' w4 z7 c) u# A
首先来开OOTB的零部件BOM
, R1 w+ W9 C$ ]; z! d9 H: T/ b4 _! ?
右键点击顶层部件,生成报告。
) c6 z; R: U; o4 `9 m6 A/ Y* m) y8 `# g7 i) ?
出现报告生成向导界面,选择PS – BOM结构,下一步
! ]* F+ }" q; C0 k3 |: @$ j3 `; a: E8 _: ]$ w1 v' j8 {! L- G
OOTB为我们提供了两种方式的报表:
9 ^9 l: A. A+ L9 U) h HTML
( G& h5 Y9 a9 M  J! a4 |8 I0 z: O XSL
: z1 {/ S& V  I) x, E4 A每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。
6 M0 t& X, J3 j" m
' F! @7 N/ B( r9 j* B; ^生成报表如下:
5 s( E) o' n" `* u3 Y; s1 K
" t& Q6 Y& u% g% N
- y9 |- W) _6 k& J  R二、报表配置$ l/ ]" }4 ]  A; n4 s. K4 M
报表配置涉及两个Teamcenter应用程序:( G( r, S# p1 i* `* B! ^
 报表构建器
( ]0 V& G0 a$ u; D PLMXML9 @  i- v! ^; F7 x8 O8 m1 y8 @) p
报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则) m9 m, c) _! S, q! @

& m' t4 W0 K# _, E: FPLMXML主要负责以PLMXML格式导出BOM数据8 M1 N- a2 |6 H7 a7 M

0 E4 }% j7 b' X) ?8 b  d( z' D# e
0 U; y% s2 l" Q. c4 w2 l+ L! a三、应用举例
9 u' e! B$ _, {1 }; W4 N! [- ^   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。
- u6 S$ e* K. L9 P' h) K" D   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。! y7 l: r; o6 F9 l5 q- ]

) T$ Z0 O; Q' q8 m5 d选中找到的数据,右击,命名引用。
/ q) Q$ o* `: ~) ?
7 k% j$ @7 s$ Z; }6 _点击导出,把模板保存到本地。* Q' ]* d$ t- o  u3 A: s
# F2 F: A& O# t6 e5 }
下面对Javascript有一定要求。# g4 l& _9 H; v9 P2 Y  \  x1 Q3 z
首先对表格增加一列来容纳计算的总数量:
: D( ?; v( ^' H" y
: o- i- e" t- K* l9 ]在xsl中找到上面两处代码增加、修改红框部分。) P7 J" e0 q2 y; P# W
定义如下函数,并且在onload事件中调用
! G  F2 C/ J8 h8 f8 ~; A8 Lfunction showPart(){
5 v/ F3 {. @' D- V​​​//获取html的表格对象. E6 M: H8 H% H6 S1 s. J$ K% j
​​​​var tb = document.getElementById("table");& b' c. s* f, ]8 L
​​​​//获取表格行对象8 F! F8 L, N; @; d5 V
​​​​var rows = tb.rows;
. o$ G% [* [' A( M3 k. J: v​​​​//循环遍历table所有行7 W$ f" O/ P( B; Z7 [: n6 n" D
​​​​for(var i = 3; rows.length>i; i++){
( O" e9 v8 i, b; }/ Z* k​​​​​//获取每一行的零件号
) T. Z$ \6 ?3 r( _+ n/ @​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;2 T4 _4 }0 z: K/ v0 \
​​​​​//初始化零件总个数
  O  Q8 L2 {* e* B; G6 v! ?​​​​​var quantity = 0;
1 u) _# \: I' Z' T# G! d8 X​​​​​//循环进行比较+ @: c) Q: D) L) _) U: H. I4 k7 y
​​​​​for(var n = 3; rows.length>n; n++){: Q, {/ {6 ?" U) c0 q
​​​​​​//获取每一行的零件号
& E  j/ a6 F8 u3 j, c​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;- a* B0 ^: f) c; v9 Q" u, ~- ^
​​​​​​//获取零件数量
! _, ?8 G1 v6 c& J6 j+ r​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;& Q+ g/ P1 G9 f6 l, w8 t
​​​​​​//判断是否是相同的零件9 F; D! p# F0 n( T( w7 ]- `/ e
​​​​​​if(itemStr == itemName){/ X! d( Z# ?  q  N, [
​​​​​​​//若零件号相同,把数量进行累加# Y1 X# a  i6 r  a6 q% l
​​​​​​​quantity = parseInt(quantity) + parseInt(qt);3 ^2 s5 t/ V% X1 p0 f3 [
​​​​​​}​3 Q) t' y1 Q: K2 q& w4 q' K
​​​​​}. k$ s" @) G; e
​​​​​//在统计列显示总数量
/ d& c& ~* y: s​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;
9 [! N- F2 Q1 f6 s4 ~7 l​​​​}
+ F1 |. s- }5 @3 v( d9 y​​​}
6 ?, k) a, ?" t4 l2 y修改好后,保存回源数据集。注意先删除原来的再导入新的。
3 G" }) ]6 F7 C& R# ~2 D
. q( R' ], \; e- r/ }' J6 j) f2 V: {( x* L
重新生成报表测试下:6 O8 m# o- g* D7 N
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了