PLM之家 UG NX11.0二次开发(ufun和NXOpen C++)网络培训火热报名

PLM之家-上海点团信息科技有限公司工业4.0数字化软件官方知识管理平台

查看: 4026|回复: 5

[开发资料分享] Teamcenter二次开发实例教程-报表开发教程

  [复制链接]
  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 103 天

    连续签到: 9 天

    [LV.6]常住居民II

    1920

    主题

    3194

    帖子

    5万

    积分

    管理员

    PLM之家mildcat

    Rank: 9Rank: 9Rank: 9

    积分
    57908
    发表于 2013-10-4 14:10:19 PLM之家手机频道 | 显示全部楼层 |阅读模式

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

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

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

       在大多数情况下,我们为客户做实施时,采用的是重新开发报表的功能。以满足客户多种多样的报表模板。然而Teamcenter8,9对报表开发有不错的支持。我们可以通过简单的配置开发出功能强大的报表。本文就Teamcenter OOTB报表技术展开讨论,希望能在众多报表开发方法中再增加一种可能性。
       下面我对两类报表开发方式优缺点做了个简单对比

    传统报表开发手段
    OOTB报表
    比分
    1
    自定义模板,灵活多变
    格式不能完全满足客户需求
    或非常难满足客户需求
    1:0
    2
    大量开发和代码维护
    或用POI,Excel报表
    开发量小,仅需简单配置
    1:1
    3
    遇到大数据量报表生成不了
    速度很慢
    处理大数据量有优势
    速度非常快
    1:2
    4
    开发周期长,BUG
    开发迅速容易
    1:3

    一、报表生成
    首先来开OOTB的零部件BOM

    右键点击顶层部件,生成报告。

    出现报告生成向导界面,选择PS – BOM结构,下一步

    OOTB为我们提供了两种方式的报表:
     HTML
     XSL
    每种报表都有对多国语言支持版本,所以下面对话框中有4个选项。我们选第一个。

    生成报表如下:


    二、报表配置
    报表配置涉及两个Teamcenter应用程序:
     报表构建器
     PLMXML
    报表构建器主要定义报表所应用的资源、模板文件和PLMXML导出规则

    PLMXML主要负责以PLMXML格式导出BOM数据


    三、应用举例
       下面对于一个具有广泛统计意义的功能用OOTB报表方式来实现。需求是:统计零件在整个BOM中的使用次数。
       对于这个需求我们只需要增加一段带计算功能的代码就能实现。先通过系统的搜索功能找到html报表模板文件。

    选中找到的数据,右击,命名引用。

    点击导出,把模板保存到本地。

    下面对Javascript有一定要求。
    首先对表格增加一列来容纳计算的总数量:

    在xsl中找到上面两处代码增加、修改红框部分。
    定义如下函数,并且在onload事件中调用
    function showPart(){
    ​​​//获取html的表格对象
    ​​​​var tb = document.getElementById("table");
    ​​​​//获取表格行对象
    ​​​​var rows = tb.rows;
    ​​​​//循环遍历table所有行
    ​​​​for(var i = 3; rows.length>i; i++){
    ​​​​​//获取每一行的零件号
    ​​​​​var itemName = rows[i].cells[1].childNodes[0].innerHTML;
    ​​​​​//初始化零件总个数
    ​​​​​var quantity = 0;
    ​​​​​//循环进行比较
    ​​​​​for(var n = 3; rows.length>n; n++){
    ​​​​​​//获取每一行的零件号
    ​​​​​​var itemStr = rows[n].cells[1].childNodes[0].innerHTML;
    ​​​​​​//获取零件数量
    ​​​​​​var qt = rows[n].cells[4].childNodes[0].innerHTML;
    ​​​​​​//判断是否是相同的零件
    ​​​​​​if(itemStr == itemName){
    ​​​​​​​//若零件号相同,把数量进行累加
    ​​​​​​​quantity = parseInt(quantity) + parseInt(qt);
    ​​​​​​}​
    ​​​​​}
    ​​​​​//在统计列显示总数量
    ​​​​​rows[i].cells[5].childNodes[0].innerHTML = quantity;
    ​​​​}
    ​​​}
    修改好后,保存回源数据集。注意先删除原来的再导入新的。


    重新生成报表测试下:
    上海点团信息科技有限公司,承接NX,CATIA,CREO等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施开发培训,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-8-8 22:10
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    0

    主题

    44

    帖子

    315

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    315
    发表于 2014-12-19 13:38:29 | 显示全部楼层
    支持一下楼主,谢谢了
    上海点团信息科技有限公司,承接NX,CATIA,CREO等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施开发培训,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    30

    帖子

    408

    积分

    中级会员

    Rank: 3Rank: 3

    积分
    408
    发表于 2015-12-1 14:03:02 | 显示全部楼层
    ddddddddddddddd
    上海点团信息科技有限公司,承接NX,CATIA,CREO等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施开发培训,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    3

    帖子

    12

    积分

    新手上路

    Rank: 1

    积分
    12
    发表于 2017-4-11 16:52:27 | 显示全部楼层
    支持楼主,非常感谢。
    上海点团信息科技有限公司,承接NX,CATIA,CREO等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施开发培训,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | QQ关联注册

    本版积分规则

    <

    QQ|小黑屋|手机版|Archiver|PLM之家-工业4.0数字化驱动之家 ( 沪ICP备13003373-3

    GMT+8, 2018-1-24 18:02 , Processed in 0.204202 second(s), 28 queries .

    快速回复 返回顶部 返回列表