Дополнительные возможности > Управление производственным процессом > Преобразование ведомости конструкционных материалов в производственную ведомость материалов > Создание производственной ведомости материалов > Обзор действия "Генерировать дочернюю структуру" > Примеры использования действия "Генерировать дочернюю структуру" > Пример использования 9. Генерирование дочерней структуры путем пропуска детали на основе двух атрибутов
  
Пример использования 9. Генерирование дочерней структуры путем пропуска детали на основе двух атрибутов
Обратите внимание, что в преобразователе вед. материалов присутствует следующая структура:
Связь эквивалентности существует между Upstream Parent Part (Design) и Downstream Parent Part (Manufacturing).
Part C1 (Design), Part C4 (Design), Part C5 (Design), Part C6 (Design) и Part C7 (Design) имеют атрибут использования детали Attribute1 со значением true.
* 
Attribute1 является атрибутом логического типа. В Windchill значениями этого атрибута являются Yes и No. true и false являются синонимами для Yes и No соответственно.
Все детали в структуре имеют тип детали wt.part.WTPart.
1. Откройте файл associativity.properties.xconf в папке Windchill/codebase/com/ptc/core/foundation/associativity.
2. Добавьте следующие правила реструктуризации в файл Windchill/codebase/com/ptc/core/foundation/associativity:
<Property name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" multivalued="," default=""/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="transformoption=newPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="targetType=wt.part.WTPart"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="attributeMapping.rule1=Attribute1:true:CustomAttribute1:String1"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Source=Buy"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute2=true"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="doAndValidationForAttr=true"/>
* 
После инициирования действия с выбранной деталью в родительской структуре система Windchill проходит по структуре ниже выбранной детали. Эта конфигурация обеспечивает следующее:
Если система Windchill находит деталь в родительской структуре с атрибутом детали Attribute1 с заданным значением true, она преобразуется в дочерней структуре под деталь, у которой атрибут CustomAttribute1 имеет значение String1. Она преобразуется как новая деталь.
Если система Windchill обнаруживает в родительской структуре деталь с атрибутом детали Attribute2, имеющим значение true, а атрибуту Source задано значение Buy, деталь пропускается и не добавляется в дочернюю структуру. Однако будет выполнен проход по структуре под обнаруженной деталью.
3. Выберите Upstream Parent Part (Design и щелкните на панели инструментов средней панели.
4. В преобразователе вед. материалов появится следующая структура:
* 
Деталь Part C2 (Design) пропускается, так как она удовлетворяет критериям, заданным в следующих свойствах.
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Source=Buy"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="skipAttribute.Attribute2=true"/>
<AddToProperty name="com.ptc.windchill.associativity.reconciliation.addusage.wt.part.WTPart" value="doAndValidationForAttr=true"/>
Однако система выполняет обход структуры под этой деталью.
Part C1 (Design), Part C4 (Design), Part C5 (Design), Part C3 (Design), Part C6 (Design) и Part C7 (Design) имеют атрибут детали Attribute1 со значением true. Поэтому они добавляются как новая деталь под Part T1 (Manufacturing). Part T1 (Manufacturing) имеет атрибут детали CustomAttribute1 со значением String1.
Детали под Part T2 (Manufacturing) не добавляются. Это обусловлено тем, что для атрибута детали CustomAttribute1 задано значение String2.