搭建Windchill环境开发工具设置在Eclipse中选择: Window --> Preferences --> java --> Compiler --> Building去掉:□的选中注意:一定要取消选中,否则在清工作区时将删除windchill codebase下的文件5.此时会在Eclipse的工作空间里面生成一个 HelloWindchill的文件,此文件很小只有几KB创建Java项目第一种创建方式:1.在Eclipse中选择: File --> New --> Java Project 创建一个Test 的Java项目2.在当前创建的java项目Test:在Eclipse中选择:当前项目上(Test) --> New --> Properties --> Java Build Path --> Add Class Folder --> Create New Folder单击 ok 完成 codebase 文件夹的创建和指定(由于Windchill的codebase文件夹很大,所以这一步骤需要等待片刻)成功之后,将会看到:第二种创建方式:1.在Eclipse中选择: File --> New --> Java Project 创建一个TestWindchill 的Java项目Link additional source --> Browse --> Finish2.Browse 选择codebase3.添加自定义的library库3.指定codebase 的映射:3.指定codebase文件夹编译之后的.class 文件和工程下面的 java源文件的映射关系在Eclipse中选择:当前项目上(HelloWindchill) --> New --> Properties --> Java Build Path --> Browse-->单击 OK 之后,你可能会发现 Java 项目 Referenced Libraries里面有个 codebase 文件夹了4.添加Windchill环境所需的jar包(推荐使用1)D:\ptc\\Windchill里面需要的被导入的jar文件按有:lib、srclib、installlib、WHC\WEB-INF\lib、ant\lib、codebase\WEB-INF\lib、codebase\lib 7个文件夹下的所有jar文件1.可用自定义一个类库,然后把Windchill 7个lib下面的jar都添加到该库中,以后就可以在开发中直接引用该类库(注意:最好不要覆盖相同名字的jar包,因为他们的jar的文件大小不同,所以作用也不同,避免在开发中因jar的冲突和版本问题而引起些莫名奇妙的错误)在Eclipse中选择:当前项目上(HelloWindchill) --> New --> Properties --> Java Build Path --> Libraries 选项卡2.直接引用,7个lib下面的所有jar包第一个Hello World创建在Eclipse中选择:当前项目上(HelloWindchill) src --> New --> Package创建一个的类内容为:package ;public class TestWindchill {/*** @param args*/public static void main(String[] args) {..");}}启动Windchill 服务1.启动 Oracle10g 监听服务:OracleOraDb10g_home1TNSListener2.启动 Oracle10g 主数据库服务:OracleServiceWIND3.启动 Apache 服务4.启动 Tomcat 服务成功标志:5.启动服务D:\ptc\\WindchillDS\server\bat6.启动 Windchill Shell 服务,输入 windchill start目标:D:\ptc\\Windchill\bin\ shell起始位置:D:\ptc\\Windchill\bin7.观察Windchill 的两个窗口:ServerManager :MethodServer8.Windchill 启动成功的标志:在MethodServer窗口出现如下标志,表明Windchill 服务启动成功运行1.Eclipse控制台会打印:Hello World…2.此时会在Windchill系统的安装目录(D:\ptc\\Windchill\codebase)生成如下目录:angus --> com里面会生成源文件的编译后的文件:此时表明第一个Hello World 程序运行成功3.第一个JSP与 Hello Word创建在Windchill的安装目录(D:\ptc\\Windchill\codebase\netmarkets\jsp)下面新建一个文件夹angus,在里面新建一个页面页面内容为:<%@ page language="java" import=".*,.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-.";}}编译后的文件会自动映射,放到D:\ptc\\Windchill\codebase\angus\com 目录下注意:该目录下的的更新时间访问:在浏览器地址栏输入: java 类的方法。
注意:如果你在里面添加了一个方法,然后在中调用,注意一定要删除:D:\ptc\\Windchill\codebase\angus\com 目录下的文件然后在Windchill Shell 中输入重启Windchill 然后重启 Tomcat ,再在浏览器地址栏输入:,不然就会报错Windchill菜单定制顶级菜单定制1.在安装的Windchill 系统的Windchill Shell 中运行命令:ant –f bin\ createSafeArea会在Windchill的安装D:\ptc\\Windchill\wtSafeArea 目录出现3个文件夹:ptcCurrent、ptcOrig、siteMod2.在文件夹siteMod下创建codebase config actions三个文件夹(内嵌结构)3.在 WC_Home安装目录的actions文件夹下面添加如下两个xml文件把、两个xml文件添加到..\wtSafeArea\siteMod\codebase\config\actions 目录下文件一定要是UTF-8编码格式的4.在文件里面需要配置如下代码:Example:(模型文件)<xml version="" encoding="UTF-8"><!DOCTYPE actionmodels SYSTEM ""><actionmodels><!-- 顶级菜单 main navigation --><model name="main navigation"><description>Main navigation (tabs)</description><action name="home" type="navigation"/><action name="program" type="navigation"/><action name="product" type="navigation"/><action name="project" type="navigation"/><action name="change" type="navigation"/><action name="library" type="navigation"/><action name="org" type="navigation"/><action name="site" type="navigation"/><action name="supplier" type="navigation"/><action name="customization" type="navigation"/><action name="fiberhomereport" type="navigation"/></model></actionmodels>5.在文件里面需要配置如下代码:Example: (动作文件)<!-- 顶级菜单 main navigation --><xml version="" encoding="UTF-8"><!DOCTYPE listofactions SYSTEM ""><listofactions><objecttype name="navigation" class=""><action name="fiberhomereport" renderType="GENERAL" resourceBundle=""><command class="netmarkets" method="servlet/Navigationtab=fiberhomereport" windowType="</action></objecttype></listofactions>6.Windchill英文资源文件里面的代码()存放的位置:D:\ptc\\Windchill\src\ext\resource (resource目录是自己建的,名字可以取)Example: (英文资源文件)<!-- 必须引入的 -->= 顶级菜单 -->7.Windchill中文资源文件里面的代码存放的位置:D:\ptc\\Windchill\src\ext\resource (resource目录是自己建的,名字可以取)Example: (中文资源文件)<!-- 必须引入的 -->= 顶级菜单 -->8.在Windchill Shell 下面运行:Resourcebuild 或Resourcebuild -f bin\ installSiteChanges1.清除Tomcat下面的缓存:D:\ptc\\Tomcat\work2.清除资源文件编译后目录:D:\ptc\\Windchill\codebase\ext\resource3.清除IE缓存、历史记录、cookies:4.清除xml文件的编译目录:D:\ptc\\Windchill\codebase\config\actions5.查看Windchill的日子记录:D:\ptc\\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : - MethodServer ready (in secs).9.显示效果如图:二级菜单定制1.二级菜单的定制,跟上面顶级菜单的定制差不多,主要涉及的文件也是4个(2个xml、2个资源文件),为了测试二级菜单是否成功,我们需要在Windchill中访问Jsp页面、只是里面的代码有所不同,添加代码之后再 Windchill Shell 里面运行的命令也是一样的注意:文件一定要是UTF-8编码格式的2.配置2级菜单在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下文件里面添加的代码为:Example:(模型文件)<xml version="" encoding="UTF-8"><!DOCTYPE actionmodels SYSTEM ""><actionmodels><!--二级菜单定制 --><model name="fiberhomereport navigation" defaultActionType="fiberhomereport" defaultActionNam <action name="ChangeReports" type="fiberhomereport"/><action name="ArchiveReports" type="fiberhomereport"/></model></actionmodels>3.配置2级菜单在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下文件里面添加的代码为:Example:(动作文件)<xml version="" encoding="UTF-8"><!DOCTYPE listofactions SYSTEM ""><listofactions><!-- 二级菜单定制 --><objecttype name="fiberhomereport" resourceBundle=""><action name="ChangeReports"><command url="/netmarkets/jsp/angus/report/tab=fiberhomereport" windowType="page"/></action><action name="ArchiveReports"><command url="/netmarkets/jsp/angus/report/tab=fiberhomereport" windowType="page"/></action></objecttype></listofactions>4.配置2级菜单在 D:\ptc\\Windchill\src\ext\resource 目录下()英文资源文件里面添加的代码为:Example:(英文资源文件)5.配置2级菜单在 D:\ptc\\Windchill\src\ext\resource 目录下中文资源文件里面添加的代码为:Example:(中文资源文件)<!-- 必须引入的(如果已经引入则无需再引入) -->=二级菜单定制 -->6.为了测试二级菜单是否新建成功,我们需要在Windchill安装系统.. codebase\netmarkets\jsp目录新建几个Jsp文件,如下在D:\ptc\\Windchill\codebase\netmarkets\jsp\angus\report 目录下面新建:、两个Jsp页面jsp页面的内容为:<%@ include file="/netmarkets/jsp/util/"%>Windchill test<%@ include file="/netmarkets/jsp/util/"%>7.在Windchill Shell 下面运行:Resourcebuild 或Resourcebuild -f bin\ installSiteChanges1.清除Tomcat下面的缓存:D:\ptc\\Tomcat\work2.清除资源文件编译后目录:D:\ptc\\Windchill\codebase\ext\resource3.清除IE缓存、历史记录、cookies:4.查看Windchill的日子记录:D:\ptc\\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : - MethodServer ready (in secs).8.显示效果如图:Action 下拉菜单1.Action下拉菜单的定制,跟上面二级菜单的定制差不多,主要涉及的文件也是4个(2个xml、2个资源文件),添加代码之后再 Windchill Shell 里面运行的命令也是一样的注意:文件一定要是UTF-8编码格式的2.定制Action下拉菜单在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下文件里面添加的代码为:Example:(模型文件)<xml version="" encoding="UTF-8"><!DOCTYPE actionmodels SYSTEM ""><actionmodels><!-- Action 下拉菜单的定制 --><model name="more parts actions" menufor=""><action name="ExportBom" type="part"/><action name="ExportData" type="part"/></model></actionmodels>3.定制Action下拉菜单在..\wtSafeArea\siteMod\codebase\config\actions 目录下文件里面添加的代码为:Example:(动作文件)4.定制Action下拉菜单在 D:\ptc\\Windchill\src\ext\resource 目录下()英文资源文件里面添加的代码为:Example:(英文资源文件)5.定制Action下拉菜单在 D:\ptc\\Windchill\src\ext\resource 目录下中文资源文件里面添加的代码为:Example:(中文资源文件)<!-- 必须引入的(如果已经引入则无需再引入) -->= 导出物料 -->导出数据 -->6.在Windchill Shell 下面运行:Resourcebuild 或Resourcebuild -f bin\ installSiteChangeswindchill stop & windchill start1.清除Tomcat下面的缓存:D:\ptc\\Tomcat\work2.清除资源文件编译后目录:D:\ptc\\Windchill\codebase\ext\resource3.清除IE缓存、历史记录、cookies:4.查看Windchill的日子记录:D:\ptc\\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : - MethodServer ready (in secs).7.显示效果如图:文件夹工具栏菜单定制1.文件夹工具栏菜单定制,跟上面二级菜单的定制差不多,主要涉及的文件也是4个(2个xml、2个资源文件),添加代码之后再 Windchill Shell 里面运行的命令也是一样的注意:文件一定要是UTF-8编码格式的2.配置文件夹工具栏菜单定制在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下,文件里面添加的代码为:Example:(模型文件)<xml version="" encoding="UTF-8"><!DOCTYPE actionmodels SYSTEM ""><actionmodels><!--文件夹工具栏菜单定制--><model name="folder_list_toolbar"><action name="list_cut" type="object"/><action name="list_copy" type="object"/><action name="fbpaste" type="object"/><action name="pasteAsCopy" type="saveas"/><action name="list_delete" type="object"/><action name="CONTAINERMOVE" type="pdmObject"/><action name="PAGERELOADINGMULTICHECKOUT" type="folder"/><action name="WFADDTOWORKSPACE" type="folder"/><action name="separator" type="separator"/><action name="create" type="folder"/><action name="create" type="document"/><action name="createMulti" type="document"/><action name="createFromTemplateWizard" type="document"/><action name="createPartWizard" type="part"/><action name="createMultiPart" type="part"/><action name="create" type="requirement" resourceBundle="" /> <action name="createSpecification" type="specification" resourceBundle="" /> <action name="importWordRequirements" type="requirement" resourceBundle="" /> <action name="add_link" type="bookmark"/><action name="create" type="problemReport"/><action name="create" type="changeRequest"/><action name="create" type="changeNotice"/><action name="SBUpdatePrj" type="sandbox"/><action name="separator" type="separator"/><action name="createChangeDirective" type="changeDirective"/><action name="list6" type="object"/></model></actionmodels>3.文件夹工具栏菜单定制..\wtSafeArea\siteMod\codebase\config\actions 目录下文件里面添加的代码为:Example:(动作文件)<xml version="" encoding="UTF-8"><!DOCTYPE listofactions SYSTEM ""><listofactions><!--文件夹工具栏菜单定制--><objecttype name="object" resourceBundle=""><action name="list6"><command url="/netmarkets/jsp/angus/report/" windowType="page"/> </action></objecttype></listofactions>4.文件夹工具栏菜单定制在 D:\ptc\\Windchill\src\ext\resource 目录下()英文资源文件里面添加的代码为:Example:(英文资源文件)<!-- 必须引入的(重复则无需引入) -->=文件夹工具栏菜单定制-->5.文件夹工具栏菜单定制在 D:\ptc\\Windchill\src\ext\resource 目录下中文资源文件里面添加的代码为:Example:(中文资源文件)<!-- 必须引入的(如果已经引入则无需再引入) -->=文件夹工具栏菜单定制-->=6.在Windchill Shell 下面运行:Resourcebuild 或Resourcebuild -f bin\ installSiteChangeswindchill stop & windchill start1.清除Tomcat下面的缓存:D:\ptc\\Tomcat\work2.清除资源文件编译后目录:D:\ptc\\Windchill\codebase\ext\resource3.清除IE缓存、历史记录、cookies:4.查看Windchill的日子记录:D:\ptc\\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : - MethodServer ready (in secs).7.显示效果如图:三级导航菜单1.三级导航菜单定制,跟上面二级菜单的定制差不多,主要涉及的文件也是4个(2个xml、2个资源文件)添加代码之后再 Windchill Shell 里面运行的命令也是一样的注意:文件一定要是UTF-8编码格式的2.配置三级导航菜单定制在 ..\wtSafeArea\siteMod\codebase\config\actions 目录下文件里面添加的代码为:Example:(模型文件)<xml version="" encoding="UTF-8"><!DOCTYPE actionmodels SYSTEM ""><actionmodels><!--三级导航菜单定制--><model name="third_level_nav_promotionRequest" defaultActionName="promotionItemsTable"defaultActionType="promotionRequest" ><description>Third level for promotion request with default action promotion items ta<submodel name="general"/><submodel name="relatedItems"/><submodel name="history"/><submodel name="collaboration"/><submodel name="replaceout"/></model><model name="replaceout" resourceBundle=""><description>ReplaceOut 3rd level nav menu</description><action name="BatchReplace" type="object"/><action name="MaterialsOut" type="object"/></model></actionmodels>3.三级导航菜单定制..\wtSafeArea\siteMod\codebase\config\actions 目录下文件里面添加的代码为:Example:(动作文件)<xml version="" encoding="UTF-8"><!DOCTYPE listofactions SYSTEM ""><listofactions><!--三级导航菜单定制--><objecttype name="object" class=""><action name="BatchReplace" resourceBundle=""/><action name="MaterialsOut" resourceBundle=""/></objecttype></listofactions>4.三级导航菜单定制在 D:\ptc\\Windchill\src\ext\resource 目录下()英文资源文件里面添加的代码为:Example:(英文资源文件)<!-- 必须引入的(重复则无需引入) -->=三级导航菜单定制-->三级导航菜单定制在 D:\ptc\\Windchill\src\ext\resource 目录下中文资源文件里面添加的代码为:Example:(中文资源文件)<!-- 必须引入的(如果已经引入则无需再引入) -->=三级导航菜单定制-->替换淘汰替换淘汰替换淘汰批量淘汰批量淘汰批量淘汰物料淘汰物料淘汰物料淘汰6.在Windchill Shell 下面运行:Resourcebuild 或Resourcebuild -f bin\ installSiteChangeswindchill stop & windchill start1.清除Tomcat下面的缓存:D:\ptc\\Tomcat\work2.清除资源文件编译后目录:D:\ptc\\Windchill\codebase\ext\resource3.清除IE缓存、历史记录、cookies:4.清除xml文件的编译目录:D:\ptc\\Windchill\codebase\config\actions5.查看Windchill的日子记录:D:\ptc\\Windchill\logsWindchill重新启动成功的标志(3min左右):INFO : - MethodServer ready (in secs).7.显示效果如图:产品文件夹选择一个部件或者是文档在操作里面选择升级,升级流程执行完成之后,回到:单击主页工作总揽,在列表里面找到你刚才升级的部件或文档,单击链接然后你会看到:客制工作流的角色1.客制工作流的角色,主要涉及的文件也是2个(英文、中文资源文件),添加代码之后再 Windchill Shell 里面运行编译资源文件的命令和打包的命令注意:客制工作流的角色的时候,因为修改了Java应用程序中的枚举类型,所以应该使用以下命令打一次包...编译资源文件的时候先编译中文的,文件一定要是UTF-8编码格式的打包成功的标志:2.在% wt_home %Src/wt/project/ (目录)找文件,如:D:\ptc\\Windchill\src\wt\project找到如下3个文件:复制到:D:\ptc\\Windchill\wtCustom\wt\project中,沒有路径则建立编辑D:\ptc\\Windchill\wtCustom\wt\project目录下英文资源文件里面添加的代码为: Example:(英文资源文件)Linenum:496行添加如下代码:# custom role=PM Project Leader=Workflow Approver Role=990编辑D:\ptc\\Windchill\wtCustom\wt\project目录下中文资源文件里面添加的代码为: Example:(中文资源文件)Linenum:494行添加如下代码:# custom role=PM项目负责人=工作流程核准者角色=9903.进入Windchill Shell 运行一下命令:执行中文资源文件:ResourceBuild 执行英文编译文件:ResourceBuild 执行打包命令:ant -f D:\ptc\\Windchill\codebase\简写打包命令:ant -f codebase\停止 Windchill: windchill stop启动 Windchill: windchill start删除 D:\ptc\\Tomcat\work 缓存登陆Windchill系统验证客制工作流角色是否成功工作流角色资源文件编译后的目录:D:\ptc\\Windchill\codebase\wt\project自己建的工作流角色资源文件存放目录:D:\ptc\\Windchill\wtCustom\wt\project如果工作流角色资源文件编译成功你会看到:4.显示效果如图:站点实用程序工作流管理器在列表随便选择一个,然后编辑,双击人图标,然后选择参与者选项卡角色找到自己客制化的角色5.如果遇到角色乱码,请参考下面的解决步骤:角色客制化乱码的问题解决了,方法步骤是:1.保证系统中:D:\ptc\\Windchill\src\wt\project的角色资源文件的编码没有问题,如果不行,去备份的codebase目录拷贝2.保证自己新建客制化目录的资源文件的编码格式没有问题D:\ptc\\Windchill\wtCustom\wt\project3.保证工作流角色资源文件编译后的目录是最新的文件:D:\ptc\\Windchill\codebase\wt\project4.编译、打包、重启Windchill、重启Tomcat、删除Tomcat缓存客制生命周期的状态1.客制生命周期的状态,主要涉及的文件也是2个(英文、中文资源文件),添加代码之后再 Windchill Shell 里面运行编译资源文件的命令和打包的命令注意:客制生命周期状态的时候,因为修改了Java应用程序中的枚举类型,所以应该使用以下命令打一次包...编译资源文件的时候先编译中文的,文件一定要是UTF-8编码格式的打包成功的标志:2.在Windchill的安装% wt_home %Src/wt/project/ (目录)找文件,如:D:\ptc\\Windchill\src\wt\lifecycle找到如下3个文件:复制到:D:\ptc\\Windchill\wtCustom\wt\lifecycle中,沒有路径则建立编辑D:\ptc\\Windchill\wtCustom\wt\lifecycle目录下英文资源文件里面添加的代码为: Example:(英文资源文件)Linenum:496行添加如下代码:# custom stateQC =品管科主管审核中QC =品管科主管审核中状态编辑D:\ptc\\Windchill\wtCustom\wt\project目录下中文资源文件里面添加的代码为: Example:(中文资源文件)Linenum:194行添加如下代码:3.进入Windchill Shell 运行一下命令:执行中文资源文件:ResourceBuild 执行英文编译文件:ResourceBuild 执行打包命令:ant -f D:\ptc\\Windchill\codebase\ant -f codebase\停止 Windchill: windchill stop启动 Windchill: windchill start删除 D:\ptc\\Tomcat\work 缓存登陆Windchill系统验证客制生命周期状态是否成功生命周期状态资源文件编译后的目录:D:\ptc\\Windchill\codebase\wt\lifecycle自己建的生命周期状态资源文件存放目录:D:\ptc\\Windchill\wtCustom\wt\lifecycle如果生命周期状态资源文件编译成功你会看到:4.显示效果如图:站点实用程序生命周期管理器在列表随便选择一个,然后编辑,双击任一一个状态,然后选择状态下拉条找到自己客制化的生命周期状态5.如果遇到生命周期状态乱码,请参考下面的解决步骤:角色客制化乱码的问题解决了,方法步骤是:1.保证系统中:D:\ptc\\Windchill\src\wt\lifecycle的角色资源文件的编码(UTF-8- 系统\ANSI- -自定义)没有问题,如果不行,去备份的codebase目录拷贝2.保证自己新建客制化目录的资源文件的编码格式没有问题D:\ptc\\Windchill\wtCustom\wt\lifecycle3.保证工作流角色资源文件编译后的目录是最新的文件:D:\ptc\\Windchill\codebase\wt\lifecycle4.编译、打包、重启Windchill、重启Tomcat、删除Tomcat缓存客制单位1.客制Windchill中的单位,主要涉及的文件也是2个(英文、中文资源文件),添加代码之后再 Windchill Shell 里面运行编译资源文件的命令和打包的命令注意:客制生命周期状态的时候,因为修改了Java应用程序中的枚举类型,所以应该使用以下命令打一次包...编译资源文件的时候先编译中文的,文件一定要是UTF-8编码格式的打包成功的标志:2.在Windchill的安装 % wt_home %\Windchill\wt\part\ (目录)找文件,如:D:\ptc\\Windchill\src\wt\part找到如下3个文件:复制到:D:\ptc\\Windchill\wtCustom\wt\part中,沒有路径则建立编辑D:\ptc\\Windchill\wtCustom\wt\part目录下英文资源文件里面添加的代码为:Example:(英文资源文件)Linenum:54行添加如下代码:#Customization QuantityUnit=gram=g=70编辑D:\ptc\\Windchill\wtCustom\wt\part目录下中文资源文件里面添加的代码为:Example:(中文资源文件)Linenum:54行添加如下代码:#客制化单位=克=g=703.进入Windchill Shell 运行一下命令:执行中文资源文件:ResourceBuild 执行英文编译文件:ResourceBuild 执行打包命令:ant -f codebase/重启windchill: windchill stop & windchill start删除 D:\ptc\\Tomcat\work 缓存登陆Windchill系统验证客制单位是否成功客制化单位文件编译后的目录:D:\ptc\\Windchill\codebase\wt\part自己建的客制化单位资源文件存放目录:D:\ptc\\Windchill\wtCustom\wt\part4.显示效果如图:Windchill进阶JCA定制表格:Jsp页面:1.JCA表单jsp文件所在目D:\ptc\\Windchill\codebase\netmarkets\jsp\angus\report 目录下文件里面添加的代码为:Example:<%@ include file="/netmarkets/jsp/util/"%><%@ taglib uri="" prefix="c"%><%@ taglib uri="" prefix="jca"%><%@ taglib uri="" prefix="wc"%><%@ taglib uri="" prefix="fmt"%><%@page import=".*"%><%@page import=".*"%><%@page import=".*"%><html><head><title>All_List</title><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head></html><fmt:setLocale value="${}"/><fmt:setBundle basename=""/><fmt:message var="number" key="NUMBER"/><fmt:message var="name" key="NAME"/><fmt:message var="creator" key="CREATE_BY"/><fmt:message var="modifyTimestamp" key="MODIFY_TIME"/><table><jca:describeTable id="test" var="tabledesc" label="test" type="" menubarName="netmarkets_fol toolbarName="folder_list_toolbar"><jca:setComponentProperty key="selectable" value="true"/><jca:describeColumn id="number" label="${number}"/><jca:describeColumn id="name" label="${name}"/><jca:describeColumn id="creator" label="${creator}"/><jca:describeColumn id="modifyTimestamp" label="${modifyTimestamp}"/> </jca:describeTable></table><jca:getModel descriptor="${tabledesc}" var="modeldesc" serviceName="" methodName="findPart"></jca:getModel><jca:renderTable model="${modeldesc}" showCount="true" showCustomViewLink="true" pageLimit="5"/><br><%@ include file="/netmarkets/jsp/util/"%>2.dddddInfo资源文件:1.定制JCA表格在 D:\ptc\\Windchill\src\ext\resource 目录下英文资源文件里面添加的代码为:Example:(英文资源文件)<!-- 必须引入的 -->= JCA报表制作 -->=Name=Number=Description=State=Create By=Update By=Create Time=Update Time=Modify Time=Angus Liu JCA Test2.定制JCA表格在 D:\ptc\\Windchill\src\ext\resource 目录下英文资源文件里面添加的代码为:Example:(中文资源文件)<!-- 必须引入的 -->= JCA报表制作 -->=名称=NAME=编号=NUMBER=描述=DESCRIPTION=状态=STATE=建立者=CREATE_BY=修改者=UPDATE_BY=建立时间=CREATE_TIME=更新时间=UPDATE_TIME=修改时间=Modify Time=Angus Liu JCA Test=JCATestTableJava文件:在Java文件中书写如下代码:package ;import class JCATest implements RemoteAccess {/*** @author bob he 取得所有部件* @return部件的查询类型* @throws WTException*/public static QueryResult findPart() throws WTException { QuerySpec qs = new QuerySpec;return qs);}public static void main(String[] args) {try {} catch (WTException e) {ddEventListener(listener,);getManagerService().addEventListener(listener, );}/*** 内部类实现* @author angus**/class WCListenerEventListener extends ServiceEventListenerAdapter{private String post_delete = ;private String post_modify = ;/*** 有参构造函数* @param manager_name*/public WCListenerEventListener(String manager_name) {quals(post_delete)){"删除操作执行!");}else if().equals(post_modify)){"修改操作执行!");}if (target instanceof WTDocument&& ().equals(post_delete)) {WTDocument document = (WTDocument) target;if("postdelete".equals())){etNmCommandBean();if (nmcommandbean == null) {return null;}NmOid nmoid = ();WTPart wtpart;if (nmoid == null) {wtpart = getGolfCart();} else {if (! {ppend("Expected part, but was: ").append(nmoid).toString());}wtpart = (WTPart) ();}if (wtpart == null) {return null;} else {configSpec = return (wtpart);}}private WTPart getGolfCart() {WTPart wtpart = null;try {QuerySpec queryspec = new QuerySpec128M256M;import class PromotionNoticeWizardPageProcessor extends WizardFormProcessor {public static final String DESCRIPTION_PANE_ACTION = "PNDetailsPane";public static final String GATHER_PANE_ACTION = "PNGatherPane";public static final String OBJECTLIST_PANE_ACTION = "PNObjectListPane";public static final String TRANSITION_PANE_ACTION = "PNTransitionPane";public static final String PROCESS_PANE_ACTION = "PNProcessPane";public static final String ROLE_PANE_ACTION = "PNResolveUsersPane";public static final String ONLINE_HELP = "PromotionCreateHelp";private static final String RESOURCE = "";public PromotionNoticeWizardPageProcessor() {}public void initWizard(HTTPRequest httprequest, HTTPResponse httpresponse) throws WTException {try {locale = (httprequest.getProperty(""));setTitle(WTMessage.getLocalizedMessage("","23", null, locale), "PromotionCreateHelp");addStep("PNDetailsPane","","step1_title",true,"","step1_description");addStep("PNGatherPane","","step2_title",true,"","step2_description");addStep("PNObjectListPane","","step3_title",true,"","step3_description");addStep("PNTransitionPane","","step4_title",true,"","step4_description");addStep("PNProcessPane","","step5_title",true,"","step5_description");..\t" + claz + "\t" + number + "\n");List<Object> objList = new ArrayList<Object>();try {QuerySpec qSpec = new QuerySpec();etName());RevisionControlled rc = null;etNumber();rc= (WTDocument) obj;claz=;}else if (obj instanceof EPMDocument){number= ((EPMDocument) obj).getNumber();rc = (EPMDocument) obj;claz=;}List<Object> objList = getTargetAllVersions(claz, number);setLifeCycleState(), objList);}/*** 用于 main方法测试* @param number 文档编号* @return WTDocument 匹配该文档编号的对象*/@SuppressWarnings("deprecation")public WTDocument getTestTarget(String number) {WTDocument doc = null;try {QuerySpec qs = new QuerySpec;SearchCondition sc = new SearchCondition,"master>number", , number);(sc);();SearchCondition scOne = true);(scOne);QueryResult qr = 得到所有版本的对像LatestConfigSpec cfg = new LatestConfigSpec();// 构建一个过滤器QueryResult qrOne = (qr);// 按小版本排序if ()) {doc = (WTDocument) ();// 得到最小版本的对像"名称:\t" + () + "\t 版本:\t" + () + "\n");}} catch (Exception e) {();}return doc;}public static void main(String[] args) {ModifySmallVersionState m = new ModifySmallVersionState();WTDocument document = ("0000000041");List<Object> objList = getTargetAllVersions, ());setLifeCycleState(), objList);}}1.新建一个工作流:“文档失效”2.新建高级生命周期-“文档失效”,关联工作流-“文档失效”3.在类型属性管理器中新建一个“文档失效”类型4.在对象初始化规则管理器,新建一个对象初始化规则-“文档失效”,关联新建的工作流和生命周期文件里面的修改:新建一个对象初始化规则-“文档失效”5.到此为止,准备工作已完成最终效果:1.使用wcadmin/wcadmin登录系统,在某个产品文件夹下面创建一份文档,类型为自定义的“文档失效”类型,然后按流程升级和审阅,你会看到2.数据库中查询:select文档名称,最新版本,版本,版序,编号,,from wtdocument wtd, wtdocumentmaster wtdmwhere = and = '0000000182';。