Bonjour,
Sous PowerAMC V16.5, et en Vb script, je cherche à lister tous les attributs étendus d'un objet, et plus particulièrement des objets Enterprise Application du modèle Enterprise Achitect.
Si je connais le nom de l'attribut étendu (ici pour l'exemple ProjetAnneeDebut) : pas de soucis, le code suivant fonctionne très bien :
1 2 3
| for each App in M.EnterpriseApplications
App.getExtendedAttribute ("DEf_etendu_Carto_URBA_PAMC_V16.5.ProjetAnneeDebut")
next |
où "DEf_etendu_Carto_URBA_PAMC_V16.5" est mon "extension";
Mais je voudrais lister tous les attributs étendus (et leur valeurs) de façon générique, cad sans à avoir à connaitre à l'avance le nombre et le nom de ces attributs étendus.
En gros quelque chose comme :
1 2 3 4 5
| for each App in M.EnterpriseApplications
for each ExtAttrib In .....
text = ExtAttrib.name & " = " & App.getExtendedAttribute ("DEf_etendu_Carto_URBA_PAMC_V16.5." & ExtAttrib)
next
next |
j'ai essayé le code suivant :
1 2 3 4 5 6 7 8 9
| For Each ModelExtension In ActiveModel.ExtendedModelDefinitions
output "extension : " & ModelExtension.name
For Each ExtAttr in ModelExtension.GetMetaExtensionsForClass(PdEAM.cls_EnterpriseApplication, Cls_ExtendedAttributeTargetItem)
output "Nom de l'attribut : " + ExtAttr.Name
output "Identification de l'objet : " + ExtAttr.ObjectID
output "Nom du modele : " + ExtAttr.Model
Next
Next |
si la seconde ligne est ok, elle renvoie bien la référence de l'extension :
output "extension : " & ModelExtension.name => extension : DEf_etendu_Carto_URBA_PAMC_V16.5
par contre j'ai une erreur à la 4éme ligne :
1 2 3
| Erreur d'exécution Microsoft VBScript
Cet objet ne gère pas cette propriété ou cette méthode: 'ModelExtension.GetMetaExtensionsForClass' (0x800A01B6)
At line 4, character 2 |
merci d'avance pour tous les éléments de réponse que vous pourriez m'amener.
PS. ci joint copie d'écran de mon extension.
bien cordialement
Partager