PLM之家精品课程培训

PLM之家精品课程培训

联系电话:18301858168   |   QQ咨询:939801026
NX二次开发培训

NX二次开发培训

UFUN/NXOpen C++和实战案例

适合初级入门或想深入了解二次开发的工程师,本培训结合ufun,NXOpen C++,大量的实例及官方内部的开发技术。
公众号二维码

关注公众号

点击扫描二维码免费在线高清教程

课程详情
Catia二次开发培训

Catia二次开发培训

市场需求大,掌握核心技术前景广阔

Catia二次开发的市场需求大,人才稀缺。掌握开发技能潜力巨大,随着经验积累将在汽车、航空等领域有所作为。
B站二维码

在线原创B站视频

点击关注工业软件传道士主页

课程详情
Teamcenter培训

Teamcenter培训

全方位培训,从基础应用到高级开发全覆盖

涵盖用户应用基础培训、管理员基础培训、管理员高级培训及二次开发培训等全方位内容,由多年经验讲师打造。
QQ群二维码

加入同行交流

点击扫描二维码加入QQ群

课程详情
×

PLM之家plmhome公众号

课程涵盖: PLM之家所有原创视频

×

关注B站视频

所有高清视频一览无余,全部在线播放学习

×

加入PLM之家QQ群

同行交流,疑问解答,更多互助

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

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

  [复制链接]

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

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

admin 楼主

2013-10-4 14:10:19

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

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

x
Teamcenter二次开发实例教程-报表开发教程
0 J5 g1 B7 V7 Y& u# C  D7 Q. K. W4 ]: U
   在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。' i- R" p6 f! f3 x. l4 O8 {
   下面我对两类报表开发方式优缺点做了个简单对比* B; l- R3 l* R8 ?  ^

2 y( [% I9 \$ K2 P' s+ K3 \* j/ c传统报表开发手段
5 t& f9 R2 W- }$ N; [6 YOOTB报表, T3 `6 N/ {( ^6 x
比分
( e& ^9 [  Z# i0 y) D1
4 E6 x$ }6 p* P, E& T自定义模板,灵活多变
; `, g2 p6 i  w/ U8 w% Y' {格式不能完全满足客户需求
$ }* A9 y& J7 J- n/ P' u+ A或非常难满足客户需求
1 f7 A- u7 z% x- c( O4 R9 d1:0
3 A4 T. [& j( p, ~- Y2
1 a# Q" `1 R6 x6 w- q大量开发和代码维护
! @6 Y# b  s& X9 n$ q  y或用POI,Excel报表3 p+ j+ O" a" u& \/ [7 n. ?
开发量小,仅需简单配置/ {. P% U6 m- j5 D! P' ]0 L; u4 E: z# p
1:1- ?+ H  K+ h; |! B0 s
3
3 O0 x# y7 |3 O. ]" i+ m8 G% e遇到大数据量报表生成不了
8 f9 M8 r# o3 i4 g速度很慢
$ j! p$ L# E6 b! a处理大数据量有优势
1 I* J3 b2 _5 B% O( @' X速度非常快
1 w" v, k+ Q5 B2 _! o  v1:2
$ {2 |' A; e8 m# H' P/ \; a4
4 F. v9 L% E1 k( i" e开发周期长,BUG6 H) u6 B8 i6 @8 p
开发迅速容易
  b, u0 q+ Y8 g* g! Q' @+ _0 ?1:3
7 j* l5 A* }5 K& c9 r3 W
  y, X* D4 ?) j' s2 {! |一、报表生成) u2 ~9 X5 b7 s' T8 C
首先来开OOTB的零部件BOM. X! f3 _3 M4 u6 J) _) G. a

9 b3 A: \, D; ]1 T* G右键点击顶层部件,生成报告。0 h: `: h, }) F0 |2 N5 i

* w5 \+ [7 Z) M' V3 e0 J3 x出现报告生成向导界面,选择PS – BOM结构,下一步! y* q; E2 ~) b/ h( z( s% ?9 P* J
$ \3 l( w6 b8 V8 }  r# t: l' E
OOTB为我们提供了两种方式的报表:* O! k2 O% y0 b9 y8 n- A
 HTML
6 S  i, [0 `) r0 C% ]" s XSL- P, @/ t% ?+ P# ]9 s
每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。- O" O; v+ L. {
5 [4 g- E: ^0 t! k' J/ c2 y
生成报表如下:
! Z; |4 ^; s& {! o9 g/ P' e4 E
4 Q- G  j5 T/ ]( i, N+ n - h8 }: r/ }% W/ C% R
二、报表配置
% m- Z, G) E/ H- K6 a' T报表配置涉及两个Teamcenter应用程序:$ W* l7 F  P9 \: o
 报表构建器8 i6 K% C0 U' P
 PLMXML
; O4 d& h- Y3 V8 n4 z3 s% m报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则0 L/ J  R5 I" I
' i; E' C0 m* m7 m6 r7 Q
PLMXML主要负责以PLMXML格式导出BOM数据
4 ^9 t+ R1 R% F) |! V. o# g* V) F% Z; G" [: H
7 ]: u0 o! `/ k& D& c
三、应用举例
' v/ y# {; w( Z) W+ I. }6 h! ?   下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。
/ [# z0 W4 f+ N; P, H5 e! h   对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。! ?2 x" ?2 Y* h$ p

! X9 t4 p' H, u选中找到的数据,右击,命名引用。; K! p6 \* n4 Z% W- p* y$ @  z" G2 c2 A

, m- g( C; ~# E% C) O% R: ?点击导出,把模板保存到本地。
' j% }2 i' a( |: ~8 L9 N( T) @2 ~1 O  \3 m: a3 t
下面对Javascript有一定要求。9 G, {$ p$ R: w% f! @8 L" x6 T  }
首先对表格增加一列来容纳计算的总数量:
. `* i2 Z, e0 n6 s& L, U! L' q9 B3 u
在xsl中找到上面两处代码增加、修改红框部分。
9 }; R2 ]6 w6 k6 W2 d定义如下函数,并且在onload事件中调用" ~# y+ G" |5 X. v/ S4 P% ?4 e
function showPart(){
) S- I0 N0 e6 T* S, b) A$ \​​​//获取html的表格对象
+ X: t( o' A& G​​​​var tb = document.getElementById("table");
* E& C) }7 S2 P# i8 k, Y* J" K0 h! D: w​​​​//获取表格行对象- Y7 ?3 h' `: n$ F' ?
​​​​var rows = tb.rows;, U" G; o6 v* Y) ?- w8 j' F4 l" ?
​​​​//循环遍历table所有行5 `& B/ b$ Q+ Y2 s" I* I; e6 p# c& ~
​​​​for(var i = 3; rows.length>i; i++){
/ _( {. S5 e3 ?% u/ y- Q7 `2 a* P​​​​​//获取每一行的零件号
/ e  ~- r2 V5 t1 [; K' ]4 ~​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;
8 c) u9 ?( d# {1 ?​​​​​//初始化零件总个数/ g7 u5 u0 `0 v* _" n
​​​​​var quantity = 0;& T4 k* o0 C# S! l: q" i+ A. ]
​​​​​//循环进行比较
8 w: i, p0 p$ ~​​​​​for(var n = 3; rows.length>n; n++){+ z4 I( {6 r% s5 E2 G: X; P
​​​​​​//获取每一行的零件号
; B- h0 U' v' O3 j2 s0 o. D' o  n​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;
+ Q2 G. H! i: @# O/ \: n& S) d​​​​​​//获取零件数量
8 {' K# d3 i  H5 L2 q% A, L  R8 C​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;( {. l! J+ `6 {+ |
​​​​​​//判断是否是相同的零件: P' y+ K1 B( q& J$ d" v
​​​​​​if(itemStr == itemName){
* g+ c; M# A$ r- N6 J​​​​​​​//若零件号相同,把数量进行累加4 y" t* I& `  D/ E% O% k# ~
​​​​​​​quantity = parseInt(quantity) + parseInt(qt);
4 G0 `* B4 W7 p0 h) ^  @​​​​​​}​0 d" k& |1 s/ U; U
​​​​​}5 f5 N1 I# m5 B+ R- d
​​​​​//在统计列显示总数量; Q3 e/ W+ r7 Y) S& I4 |' X/ O3 [; \$ j
​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;
( ]9 ?! W2 b4 e: O# R​​​​}; b4 r" C! `1 l8 B" \5 Q
​​​}
8 D, L5 L7 B- R6 u5 R" a' M. w修改好后,保存回源数据集。注意先删除原来的再导入新的。
( H9 u- }$ u% q5 s# c+ q% f! \( T& o7 }  ?) [1 g0 {# t
0 G2 z% `5 y7 S: |2 ?) W  A4 K. o
重新生成报表测试下:2 p) D% i3 f; H2 T- F8 |
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了