Специализированное администрирование > Настройка бизнес-объектов > Администрирование правил инициализации объектов > Работа с правила инициализации объектов > Алгоритмы правил > Использование алгоритмов ограничения для полей расположения папки
  
Использование алгоритмов ограничения для полей расположения папки
Для управления параметрами расположения папок, доступными пользователям при задании пути к папке, интерфейс пользователя Windchill позволяет задавать комбинации постоянных алгоритмов в теге AttrConstraints для атрибута folder.id.
* 
Использование ограничений с атрибутом folder.id предполагает, что также задано значение по умолчанию (как описано в Пример задания пути к папке по умолчанию).
Доступны следующие опции расположения папки:
Показать расположение как предварительно созданное значение только для чтения, указав алгоритм GetServerPreGeneratedValue, отображающий значение по умолчанию, заданное для атрибута folder.id.
Чтобы отдельно использовать эту опцию, необходимо также задать алгоритм GetImmutableConstraint. Пример.
<AttrValue id="folder.id"
algorithm="com.ptc.core.foundation.folder.server.impl.FolderPathAttributeAlgorithm">
<Arg>/Default</Arg>
</AttrValue>
<AttrConstraint id="folder.id"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.GetServerPreGeneratedValue"/>
<Value algorithm="com.ptc.core.rule.server.impl.GetImmutableConstraint"/>
</AttrConstraint>
показывается следующим образом:
В этом примере атрибут folder.id имеет значение по умолчанию /GOLF_CART.
Показать расположение как значение только для чтения, которое автоматически создается из заданного для атрибута folder.id значения по умолчанию, указав алгоритм GetServerAssignedConstraint.
Чтобы отдельно использовать эту опцию, необходимо также задать алгоритм GetImmutableConstraint. Пример.
<AttrValue id="folder.id"
algorithm="com.ptc.core.foundation.folder.server.impl.FolderPathAttributeAlgorithm">
<Arg>/Default</Arg>
</AttrValue>
<AttrConstraint id="folder.id"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints">
<Value algorithm="com.ptc.core.rule.server.impl.GetServerAssignedConstraint"/>
<Value algorithm="com.ptc.core.rule.server.impl.GetImmutableConstraint"/>
</AttrConstraint>
показывается следующим образом:
Показывают расположение папки, позволяя пользователю выбрать папку в указанном месте или указать другую папку, выполнив обзор.
Логика, используемая для определения расположения папки, первоначально представлена в поле и учитывает все разнообразие возможностей интерфейса пользователя, позволяющих выбрать папку, а также предоставляет наиболее подходящее расположение папки для каждого случая. Например, когда пользователь создает объект, щелкнув значок из таблицы Содержимое папки, связанный с папкой "Конструкция", в поле стоит путь к папке, в которой был сделан щелчок (в данном случае, /GOLF_CART/Design).
Этот параметр можно использовать отдельно, указав пустой список алгоритмов ограничения. Пример.
<AttrConstraint id="folder.id"
algorithm="com.ptc.core.rule.server.impl.GatherAttributeConstraints"\>
показывается следующим образом:
Этот параметр можно использовать в комбинации с другими опциями, если задан алгоритм GetServerAssignedConstraint или алгоритм GetServerPreGeneratedValue.
* 
Чтобы был виден этот параметр, алгоритм GetImmutableConstraint не должен быть указан в списке ограничений.
Пример, демонстрирующий комбинацию поддерживаемых опций пользовательского интерфейса для поля расположения папки и алгоритмов ограничения, используемых при отображении, см. в описании опции Расположение в разделе "Стандартная настройка".