自訂服務生失效
請遵循下列步驟來將「服務生失效」物件的自訂類型與屬性新增至顯示在「管理適用性」對話方塊的「類型」下拉選單以及「編輯篩選器」對話方塊的「服務生失效」標籤之清單中。
1. 請參閱組態檔:
codebase/com/ptc/arbortext/windchill/serviceEffectivityFilter
/server/serviceEffectivityConfig.xml
此檔案定義了對應至可從「服務生失效」設定與篩選的「類型」選單中選取之物件清單的屬性清單。
* 
在編輯此檔案之前,請將其新增至可自訂檔案的「安全區域」,以確保不會在後續升級/安裝期間遭到覆寫。
2. 如需您要包括之屬性的內部名稱,請參閱「類型及屬性管理」公用程式。您需要在此公用程式中建立任何新自訂屬性。如需資訊,請參閱使用類型及屬性管理公用程式
3. serviceEffectivityConfig.xml 中,以如下所示的格式輸入 ServiceEffectivtyType 來宣告屬性:
<ServiceEffectivityType name="seLotNumber" renderer="com.ptc.arbortext.windchill.serviceEffectivityFilter.client.ui.
renderers.configTypes.DefaultCustomConfigType" effectivityType="com.ptc.arbortext.windchill.siscore.serviceeff.
ServiceEffectivity"/>
在此範例中:
name 是「服務生失效」屬性的內部名稱。它必須符合在「類型及屬性管理」中定義之屬性的內部名稱。
renderer 是決定將針對類型顯示哪些欄位以及如何在 UI 中處理它們的 Java 類別。作為預設,這是泛用 DefaultCustomConfigType。此轉換程式會產生簡單的顯示 - 屬性的顯示名稱及 Value 文字欄位。
您可以建立自訂轉換程式以實行 ServiceEffectivityConfigType 並在此屬性下宣告它。
轉換程式也會決定如何將自訂屬性傳送到 JSON 物件內的篩選器。
如需有關為屬性建立自訂資料輸入欄位的資訊,請參閱建立自訂服務生失效組態面板
effectivityType 是「服務生失效」類型 (物件) 的內部名稱,自訂屬性以該名稱建立。這可以是 ServiceEffectivity 的子類型。它必須符合在「類型及屬性管理」中定義之類型的內部名稱。
4. 同樣在 serviceEffectivityConfig.xml 中,在結構的根節點之物件類型的前後關聯中建立屬性的項目,例如 WTPart。必須有此項目,才能在「類型」下拉選單中為相關物件顯示屬性。
以如下所示的格式為相關 ServiceEffectivityInstance 元素建立 csvalid 項目:
<csvalid serviceeffectivitytype="seLotNumber"/>
以下是 WTPart 之完整 ServiceEffectivityInstance 項目的範例:
<ServiceEffectivityInstance objectType="wt.part.WTPart,wt.part.WTPartMaster,wt.part.alternaterep.WTPartAlternateRep"
objectMaster="wt.part.WTPartMaster">
<csvalid serviceeffectivitytype="serialNumber"/>
<csvalid serviceeffectivitytype="date"/>
<csvalid serviceeffectivitytype="seLotNumber"/>
</ServiceEffectivityInstance>
其中 serialNumberdate 是檔案的預設項目,而 seLotNumber 是您的自訂屬性。
* 
此檔案中 csvalid 項目的順序決定了下拉選單中類型的順序。
5. 根據在設定目錄結構以管理自訂檔案與自訂文字中描述的慣例將變更儲存到 serviceEffectivityConfig.xml
欲於根據服務生失效篩選時有效使用自訂屬性,請建立自訂篩選器委派以處理篩選器物件與「服務生失效」物件之間的比較。如需詳細資訊,請參閱建立自訂篩選器委派
為自訂服務生失效屬性建立自訂篩選器委派
Windchill 提供委派來在篩選時處理服務生失效屬性 (略過換行):
com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.
DefaultServiceEffectivityDelegate
您可以在 Windchill 中使用服務內容,取代此委派以提供自訂委派:
1. 建立包含下列內容之適當新值的 XCONF 檔案:
com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.
DefaultServiceEffectivityDelegate
下列 XML 文件是用來在篩選時處理服務生失效物件的 XCONF 指令:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Configuration
SYSTEM "xconf.dtd">
<Configuration targetFile="codebase/typedservices.properties">
<Service context="default" name="com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivityFilterFactory">
<Option requestor="WCTYPE|com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivity"
serviceClass="com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.DefaultServiceEffectivityDelegate"/>
</Service>
<Service context="default" name="wt.filter.NavigationFilterDelegate2">
<Option cardinality="singleton" requestor="null"
serviceClass="com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.DefaultServiceEffectivityDelegate"
selector="com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivityFilter"/>
</Service>
</Configuration>
變更 serviceClass 屬性下的DefaultServiceEffectivityDelegate 參考來反映新自訂委派。
如需使用 xconfmanager 公用程式的詳細資訊,請參閱 Using the xconfmanager Utility
2. 使用 xconfmanager 公用程式來更新 Windchill 服務內容。下列指令會註冊新檔案及其內容:
xconfmanager -i codebase/custom/myServiceXconfFile.properties.xconf -p
這是否有幫助?