Manipuler des propriétés étendues d'objets à l'aide de scripts

Vous pouvez dynamiquement récupérer et définir des propriétés étendues d'objets telles que les attributs et les collections à l'aide de scripts.

La syntaxe pour identifier une propriété d'objet est la suivante :

"<TargetCode>.<PropertyName>"

Par exemple, pour récupérer l'attribut étendu MyAttribute depuis l'objet importXXX, vous utilisez :

GetExtendedAttribute("importXXX.MyAttribute")

Notez que si le script est à l'intérieur d'un profil (par exemple dans un script de vérification personnalisée), vous pouvez utiliser la variable %CurrentTargetCode% à la place de TargetCode codé en dur, afin de favoriser la réutilisation de votre script.

Par exemple :

GetExtendedAttribute("%CurrentTargetCode%.MyAttribute")

Dans l'exemple suivant, nous allons :

Exemple

If (not ExistingModel Is Nothing) and (not FoundClass Is Nothing) Then
 ' Modifier l'attribut étendu sur la classe
 Dim ExaName 
 ExaName = "importXXX.MyAttribute"  ' nom d'attribut préfixé par le code d'extension
 If FoundClass.HasExtendedAttribute(ExaName) Then
  output "Atrtribut étendu accessible" 
  FoundClass.SetExtendedAttributeText ExaName, "1024"
  FoundClass.SetExtendedAttribute ExaName, 2048
  Dim valAsText, valAsInt
  valAsText = FoundClass.GetExtendedAttributeText(ExaName)
  valAsInt = FoundClass.GetExtendedAttribute(ExaName)
 End If
 ' Modifier la collection étendue sur la classe
 Dim ExColName, ExCol
 ExColName = "importXXX.MyCollection"  ' nom de collection préfixé par le code d'extension
 Set ExCol = FoundClass.GetExtendedCollection(ExColName)
 If not ExCol is Nothing Then
  output "Collection étendue accessible" 
  ' La collection étendue peut être utilisée comme une collection standard
  ' par exemple, nous ajoutons la classe dans sa propre collection étendue
  ExCol.Add FoundClass
  Set ExCol = Nothing
 End If
End If