Правило выпуска ведомости материалов
Это бизнес-правило обеспечивает надлежащее состояние всех результирующих объектов и их зависимых объектов первого уровня. То есть является ли дочерний объект и результирующим объектом, который переходит в целевое состояние при выпуске по извещению об изменении, а не остается в текущем состоянии.
Следующие опции конфигурации являются обязательными.
• targetState - допустимое состояние результирующих объектов. Можно определить несколько значений targetState.
• validDependentState - допустимое состояние зависимых объектов. Можно определить несколько значений validDependentState.
• collectionComponentID - идентификатор компонента набора, используемый для сбора зависимых объектов. Идентификатор компонента набора по умолчанию COLLECT_ITEMS_FOR_BOM_RELEASE_RULE доступен в вашей системе Windchill. Собираемые объекты определяются настройками, которые имеются для каждого идентификатора компонента набора. Настройка Коллектор готовых выпусков ведомости материалов в разделе Бизнес-правила утилиты Управление настройками управляет правилами сбора.
Следующие опции конфигурации являются необязательными.
• checkPredecessorRevisions - проверка допустимости состояния предыдущих ревизий зависимого объекта. Если установлено значение true, правило проверяет, в допустимом ли состоянии находятся предыдущие ревизии. Если значение не задано или равно false, правило не проверяет допустимость предыдущих ревизий. По умолчанию используется значение false.
• invalidDependentState - недопустимое состояние для зависимых объектов. Можно определить несколько значений invalidDependentState.
Следующие примеры иллюстрируют использование правила выпуска ведомости материалов.
Любая сборка, выпускаемая в состоянии Выпущено или Прототип и не в состоянии Устарело. Если зависимый объект не находится в состоянии Выпущено, Прототип или Устарело, проверяется предыдущая ревизия
Если какие-либо зависимые детали компонента находятся в недопустимом состоянии, правило дает сбой и в отчете
Показать конфликты приводится список недопустимых сборок. Дополнительные сведения см. в разделе
Просмотр конфликтов правил.
Пример атрибутов конфигурации:
|
Если опция конфигурации поддерживает несколько значений, можно определить несколько состояний, указывая отдельную запись конфигурации для каждого дополнительного значения, как показано в приведенном ниже примере.
|
<configs>
<config name="targetState" value="RELEASED"/>
<config name="validDependentState" value="RELEASED"/>
<config name="validDependentState" value="PROTOTYPE"/>
<config name="invalidDependentState" value="OBSOLETE"></config>
<config name="invalidDependentState" value="INWORK"></config>
<config name="checkPredecessorRevisions" value="true"></config>
<config name="collectionComponentID"
value="COLLECT_ITEMS_FOR_BOM_RELEASE_RULE"/>
</configs>
Ниже приведены примеры, иллюстрирующие использование правила выпуска ведомости материалов.
Пример
Предположим, что необходимо изменить сборку, у которой много деталей-потомков. Однако перед изменением сборки требуется обеспечить, чтобы все потомки находились в состоянии ВЫПУЩЕНО или перешли в состояние ВЫПУЩЕНО в результате этого изменения. Также требуется обеспечить, чтобы все детали-потомки были обновлены, то есть нужно убедиться, что ни одна из деталей-потомков не стала УСТАРЕВШЕЙ. Для настройки такой операции можно создать следующие объекты бизнес-правил.
Набор бизнес-правил:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRuleSet SYSTEM "standardX20.dtd">
<BusinessRuleSet>
<ObjectID><localId>wt.businessRules.BusinessRuleSet:45347</localId>
</ObjectID>
<objectContainerPath>/wt.inf.container.OrgContainer=
BusinessRulesTestOrganization/wt.pdmlink.PDMLinkProduct=
BusinessRulesTestProduct</objectContainerPath>
<key>CHANGEABLE_PRE_RELEASE</key>
<name>Test_Changeable_ReleaseRuleSet</name>
<description>To test basic Attribute RuleSet Validation</description>
<enabled>true</enabled>
<overridable>true</overridable>
<updateIfExists>true</updateIfExists>
</BusinessRuleSet>
Бизнес-правило:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRule SYSTEM "standardX20.dtd">
<BusinessRule>
<ObjectID><localId>wt.businessRules.BusinessRule:158927</localId>
</ObjectID>
<objectContainerPath>/wt.inf.container.OrgContainer=
BusinessRulesTestOrganization/wt.pdmlink.PDMLinkProduct=
BusinessRulesTestProduct</objectContainerPath>
<key>BOM_RELEASE_RULE_RELEASED_STATE</key>
<selector>BOM_RELEASE_RULE</selector>
<name>Test BOM release Rule</name>
<description>Test BOM release Rule RELEASED State</description>
<enabled>true</enabled>
<updateIfExists>true</updateIfExists>
<configs>
<config name="targetState" value="RELEASED"></config>
<config name="validDependentState" value="RELEASED"></config>
<config name="invalidDependentState" value="OBSOLETE"></config>
<config name="checkPredecessorRevisions" value="true"></config>
<config name="collectionComponentID" value=
"COLLECT_ITEMS_FOR_BOM_RELEASE_RULE"></config>
</configs>
</BusinessRule>
Связь бизнес-правила:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE BusinessRuleLink SYSTEM "standardX20.dtd">
<BusinessRuleLink>
<ObjectID><localId>wt.businessRules.BusinessRuleLink:168920</localId>
</ObjectID>
<ruleSet><ObjectReference><localId>wt.businessRules.BusinessRuleSet:45347
</localId></ObjectReference></ruleSet>
<rule><ObjectReference><localId>wt.businessRules.BusinessRule:158927
</localId></ObjectReference></rule>
<blockNumber>1</blockNumber>
<updateIfExists>true</updateIfExists>
</BusinessRuleLink>