Использование значений атрибутов по умолчанию вместе со сгенерированным значением
Если значение по умолчанию для атрибута было сохранено в утилите Управление типами и атрибутами, можно задать схему нумерации, включающую это значение. Предположим, например, что вы сохранили значение по умолчанию для атрибута раздела, где внутреннее имя атрибута раздела - com.mycompany.Section. Тогда можно будет применить правило, подобное следующему: использовать значение по умолчанию атрибута раздела в генерированном номере для документов, созданных с использованием динамического подтипа com.mycompany.MyDocument:
<AttributeValues objType="com.mycompany.MyDocument">
<AttrValue id="number" algorithm="com.ptc.windchill.enterprise.revisionControlled.server.impl.NumberGenerator">
<Arg>Section-</Arg>
<Value algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="wt.rule.algorithm.IfNullTest">
<Attr id="com.mycompany.Section"/>
</Value>
<Value algorithm="wt.rule.algorithm.GetDefaultContent">
<Arg>com.mycompany.MyDocument</Arg>
<Arg>com.mycompany.Section</Arg>
</Value>
<Attr id="com.mycompany.Section"/>
</Value> <!-- end BooleanBranch -->
<Arg>{GEN:wt.enterprise.SequenceGenerator:WTDOCUMENTID_seq:5:0}</Arg>
</AttrValue>
</AttributeValues>
Правило использует алгоритм GetDefaultContent для задания значения атрибута раздела, если тест для определения того, является ли значение атрибута значением null, возвращает значение true. Если значение по умолчанию для раздела будет "ПРОЕКТИРОВАНИЕ", сгенерированный в результате номер будет иметь следующий формат:
Section-ENGINEERINGxxxxx
,
где xxxxx - сгенерированный номер.
Аналогично можно определить переменную вместо того, чтобы устанавливать числовой атрибут, используя тег VarDef вместо тега AttrValue.
Было ли это полезно?