Специализированное администрирование > Настройка бизнес-объектов > Администрирование правил инициализации объектов > Работа с правила инициализации объектов > Алгоритмы правил > Алгоритмы задания значений по умолчанию
  
Алгоритмы задания значений по умолчанию
Алгоритмы задания значений по умолчанию используются для задания значений по умолчанию для атрибутов, указанных в элементе AttrValue или VarDef.
Стандартный Windchill предоставляет следующие алгоритмы задания значений по умолчанию (имена показаны в нескольких строках таблицы; введите имя алгоритма в одной строке):
Алгоритм
Описание
com.ptc.core.foundation.folder.server.impl.
FolderPathAttributeAlgorithm
Преобразует указанную строку пути папки в ссылку на объект папки. Чаще всего этот алгоритм используется, чтобы задать значение атрибута folder.id, как показано в разделе Default Folder Path Example using the FolderPathAttributeAlgorithm.
com.ptc.core.foundation.lifecycle.server.impl.
LifeCycleTemplateAttributeAlgorithm
Преобразует заданное имя жизненного цикла в ссылку на объект шаблона жизненного цикла. Чаще всего этот алгоритм используется, чтобы задать значение атрибута lifeCycle.id, как показано в разделе Default Life Cycle Example using the LifeCycleTemplateAttributeAlgorithm.
com.ptc.core.foundation.team.server.impl.
TeamTemplateAttributeAlgorithm
Преобразует указанное имя шаблона коллектива в ссылку на объект шаблона коллектива. Чаще всего этот алгоритм используется, чтобы задать значение атрибута teamTemplate.id, как показано в разделе Default Team Template Example using the TeamTemplateAttributeAlgorithm.
com.ptc.windchill.enterprise.org.server.impl.
OwningOrgDefaultAlgorithm
Возвращает участника организации (WTOrganization) контекста, в котором создается объект. Наиболее распространенное применение данного алгоритма - задание значения атрибута organization.id.
Этот алгоритм можно использовать для задания участника организации-владельца объекта по умолчанию, связанного с контекстом приложения, в котором создается объект.
Дополнительные сведения см. в разделе Участники владеющей организации.
com.ptc.windchill.enterprise.org.server.impl.
UserSuppliedOrgDefaultAlgorithm
Возвращает участника организации (WTOrganization), который определяется через значение, переданное как аргумент алгоритма. Наиболее распространенное применение данного алгоритма - задание значения атрибута organization.id.
Этот алгоритм можно использовать для задания участника организации-владельца объекта по умолчанию для участника организации, не связанного с контекстом приложения, в котором создается объект. Например, с его помощью можно задать конкретного участника организации-поставщика (или продавца) по умолчанию.
* 
Чтобы использовать этот алгоритм, необходимо установить Тип идентификатора организации и Идентификатор организации в качестве атрибутов участника организации, который будет использован как участник организации-владельца по умолчанию. Эти атрибуты можно задать, используя утилиту Администрирование участников.
Аргумент этого алгоритма должен быть строкой следующего формата:
<ICD_number>$<org_ID>
,
где: <ICD_number> - номер международного кода указателя, назначенный типу идентификатора организации. Например, типы идентификаторов организации по умолчанию используют следующие номера описания интерфейса с ESI (ICD):
Номер описания интерфейса с ESI (ICD) CAGE — 0141.
Номер описания интерфейса с ESI (ICD) DUNS — 0060.
Номер описания интерфейса с ESI (ICD) ISO6523 — 0026.
<org_ID> - это идентификационный номер организации, назначенный при регистрации организации.
Дополнительную информацию об идентификаторах организаций и формате, требуемом для этого алгоритма, см. в разделе Создание и обновление участников владеющей организации.
com.ptc.windchill.enterprise.revisionControlled.
server.impl.NumberGenerator
Возвращает строку, которая генерируется соответственно указанным аргументам. Наиболее распространенное применение данного алгоритма - установка значения атрибута номера (хотя его можно использовать для инициализации любого атрибута строки).
В разделе Содержимое правила создания схемы нумерации есть примеры использования данного алгоритма.
com.ptc.core.foundation.vc.server.impl.
VersionInfoGenerator
Возвращает схему назначения версий с указанным именем. Наиболее распространенное применение данного алгоритма - задание значения атрибута versionInfo.
wt.rule.algorithm.BooleanConstant
Анализирует строковый аргумент как логическое значение. Возвращает значение true, если строковый аргумент равен строке "true" (игнорируя регистр). В противном случае возвращает значение "ложь".
wt.rule.algorithm.StringConstant
Преобразует заданное значение в строку.
wt.rule.algorithm.EnumTypeConstant
Преобразует указанное значение в перечисляемое значение, как показано в разделе Document Attributes Example using the EnumTypeConstant.
wt.rule.algorithm.GetNullValue
Возвращает нулевое значение. Если атрибут равен нулю, он не имеет значения. Для данного алгоритма нет аргументов. Данный алгоритм может быть удобен для определения условной логики правила, а также при установке нулевого значения атрибута.
wt.rule.algorithm.GetDefaultContent
При заданных внутренних именах типа объекта и глобального атрибута (определенных в утилите Управление типами и атрибутами) возвращает значение по умолчанию для глобального атрибута. Это значение по умолчанию, заданное с помощью утилиты Управление типами и атрибутами. Если тип объекта или глобального атрибута не существует, алгоритм генерирует исключение.
Использование значений по умолчанию атрибута вместе с генерированным значением показывает пример использования данного алгоритма в схеме нумерации.
wt.rule.algorithm.Substring
Если заданы строка, начальный индекс и конечный индекс, данный алгоритм возвращает новую строку, которая является подстрокой исходной строки. Подстрока начинается с указанного начального индекса и продолжается до символа конечного индекса — 1. Таким образом, длина подстроки равна endIndex – beginIndex.
Аргументы этого алгоритма указываются в следующем порядке.
1. Строка представляет собой исходную строку.
2. Строка или целое число представляют собой начальный индекс. Символ этого индекса является первым символом подстроки. Если beginIndex меньше или равен нулю, подстрока начинается в начале исходной строки.
3. Строка или целое число представляют конечный индекс. Подстрока продолжается до символа endIndex - 1.
Необязательный аргумент. Если endIndex отсутствует, подстрока продолжается до конца исходной строки.
Если endIndex меньше нуля или больше длины строки, подстрока продолжается до конца исходной строки.
Если задан неверный тип или число требуемых аргументов, генерируется исключительная ситуация.
wt.rule.algorithm.IndexOf
Если заданы строка, подстрока, начальный индекс, данный алгоритм возвращает индекс первого вхождения указанной подстроки, начиная от заданного начального индекса.
Аргументы этого алгоритма указываются в следующем порядке.
1. Строка представляет собой исходную строку.
2. Строка представляет собой подстроку, которую требуется найти.
3. Строка или целое число представляют собой начальный индекс, с которого следует начать поиск.
Необязательный аргумент. Если fromIndex отсутствует, поиск начинается с начала исходной строки.
Если fromIndex меньше или равен нулю, поиск начинается с начала исходной строки.
Если fromIndex больше длины строки, возвращается -1.
Если задан неверный тип или число аргументов, генерируется исключение.
Если не удается найти подстроку, возвращается -1.
wt.rule.algorithm.LastIndexOf
Если заданы строка, подстрока, начальный индекс, данный алгоритм возвращает индекс последнего вхождения указанной подстроки, выполняя поиск в обратном направлении, начиная от заданного fromIndex.
Аргументы этого алгоритма указываются в следующем порядке.
1. Строка представляет собой исходную строку.
2. Строка представляет собой подстроку, которую требуется найти.
3. Строка или целое число представляют собой начальный индекс, с которого следует начать поиск.
Необязательный аргумент. Если fromIndex отсутствует, поиск начинается с конца исходной строки.
Если fromIndex меньше или равен нулю, поиск начинается с конца исходной строки.
Если fromIndex больше длины строки, возвращается -1.
Если задан неверный тип или число требуемых аргументов, генерируется исключительная ситуация.
Если не удается найти подстроку, возвращается -1.