专业化管理 > 定制业务对象 > 对象初始化规则管理 > 了解对象初始化规则 > 更改版本方案 > 设置基于文件或基于状态的版本方案 > 为对象设置基于文件或基于状态的版本
  
为对象设置基于文件或基于状态的版本
默认的哈佛序列版本方案在站点级别设置,并随后在组织、产品和存储库级别使用,除非将其覆盖。加载的一个上下文模板 (演示“产品设计”模板) 会将部件、文档和 CAD 文档的版本控制设置为基于状态的版本控制。此外,新创建的上下文模板可设置基于文件或基于状态的版本控制;但是,PTC 建议您通过在站点级别设置方案,为所有组织、产品和存储库设置相同的版本方案。
在上下文模板 XML 文件中,可将您希望用于每一对象类型的版本控制指定为该对象类型的相应 <TypeBasedRule> 标记中的一个元素。例如,在“产品设计”模板 XML 文件中,以下示例 <AttrValue> 标记会将部件的版本控制设置为 StateBased (在加载的出厂设置版本控制 XML 文件中设置的序列):
<TypeBasedRule>
<EngineRule isDefault="false" enabled="true">
<ruleName>Part</ruleName>
<ruleSpecification><![CDATA[
<AttributeValues objType="wt.part.WTPart">
:
:
<!-- set the version info to a generated version info -->
<AttrValue id="MBA|versionInfo" algorithm="com.ptc.core.foundation.vc.server.
impl.VersionInfoGenerator">
<Arg>wt.series.HarvardSeries.StateBased</Arg>
</AttrValue>
</AttributeValues>
]]></ruleSpecification>
<ruleType type="INIT"/>
</EngineRule>
<className>wt.part.WTPart</className>
</TypeBasedRule>
在此示例中,部件的版本控制设置为 wt.series.HarvardSeries.StateBased。版本控制代码会查找 wt.series.HarvardSeries.StateBased 属性,如果未找到这些属性,它将在加载的版本控制 XML 文件中查找名称为 StateBased 的序列。如果您已将要使用的序列命名为 StateBased 以外的名称,则用此名称取代参数中的 StateBased。
此外,您可通过在您希望发生更改的上下文内使用“对象初始化规则管理”实用程序将版本控制更改为基于文件或基于状态的版本控制。但是,所有更改都应在使用产品或存储库前进行。更改已经使用的值可能在版本更新时导致不可预见的结果。
用于在对象初始化规则中设置基于文件或基于状态版本控制的 <attrValue> 标记的格式与先前显示在定义对象初始化规则所使用的 XML 文档的内容中的格式相同。有关使用“对象初始化规则管理”实用程序的详细信息,请参阅访问对象初始化规则管理实用程序