條件約束演算法
針對在 AttrConstraint 標籤中指定的屬性,使用條件約束演算法設定使用者介面欄位上的顯示特性。
Windchill 本身所具有的條件約束演算法如下 (下表中的演算法名稱可能顯示成兩行以上,但實際輸入演算法名稱時,請務必輸入為一行):
演算法
描述
com.ptc.core.rule.server.impl.
GetHiddenConstraint
使用者介面不會顯示屬性的標籤或值。
com.ptc.core.rule.server.impl.
GetDiscreteSetConstraint
可利用使用者介面從引數類型與屬性類型相符的屬性的分散值清單中進行挑選。這些值會被指定為演算法的引數。
com.ptc.core.foundation.lifecycle.server.impl.
DiscreteLifecycleTemplateSetAlgorithm
可利用使用者介面從 lifeCycle.id 屬性的分散生命週期範本值清單中挑選。這些值會被指定為演算法的引數。
com.ptc.core.foundation.team.server.impl.
DiscreteTeamTemplateSetAlgorithm
可利用使用者介面從 teamTemplate.id 屬性的分散小組範本值清單中挑選。這些值會被指定為演算法的引數。
com.ptc.core.rule.server.impl.
GetImmutableConstraint
使用者無法變更顯示的屬性值。若具有另一個條件約束的屬性沒有此條件約束,使用者即可手動輸入值。如需詳細資訊,請參閱使用 GetServerAssignedConstraint 與 GetImmutableConstraint 的範例
com.ptc.core.rule.server.impl.
GetServerAssignedConstraint
使用者介面不會顯示屬性值;使用者按一下「確定」以儲存物件實例時,便會生成此值。在替代值中顯示的文字類似於 (已生成)。如需詳細資訊,請參閱使用 GetServerAssignedConstraint 與 GetImmutableConstraint 的範例
com.ptc.core.rule.server.impl.
GetServerPreGeneratedValue
使用者介面會顯示屬性的值。該值會在使用者介面顯示前生成。顯示的值會被指定為此演算法的引數,若未指定,則可藉由執行所提供屬性的對應 AttrValue 標籤來取得。
* 
對於預設編號值依序生成的編號屬性來說,使用此條件約束可能導致順序中的編號不被使用。若使用者存取介面,然後在儲存前取消作業,便會略過編號。無法取回已略過的編號。
例如,使用下列 XML 指定條件約束演算法,此演算法可生成顯示在欄位中的屬性值:
algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"
您可以指定條件約束演算法作為 AttrConstraint 標籤的一部分,它嵌入到 com.ptc.core.rule.server.impl.GatherAttributeConstraints 演算法下的 Value 標籤中 (如 AttrConstraint 標籤語法主題中所定義)。
您可使用現成條件約束演算法,在 Value 標籤中指定零個、一個或多個演算法。
這是否有幫助?