L'action Script permet à un utilisateur de cadre d'architecture d'exécuter un script dans le noeud ou dans la cellule. Vous pouvez utiliser le script afin de créer un document de projet et l'attacher au noeud ou à la cellule.
Extrait une partie du nom de la variable, cette option utilise les paramètres de largeur et de précision pour identifier la partie à extraire Personnalisation et extension de PowerAMC > Fichiers d'extension > Méthodes (Profile).
Avant de spécifier une action Script, vous devez commencer par créer une méthode script sur la métaclasse FrameworkAction dans une extension, puis l'attacher à votre projet. Dans le cas présent, le script suivant s'appelle GenererModele, et va générer un MPD :
Sub %Method%(obj) ' Ceci est une méthode exemple qui peut être utilisée avec l'action script ' Elle génère un MPD à partir d'un MCD de cellule source et l'attache à la cellule courante ' Etapes : ' 1- Lire la cellule source : trouvée par son code "mySourceCell" ' 2- Lire le modèle source : premier document dans la cellule source ' 3- Générer un MPD à partir du modèle source ' 4- Attacher le modèle généré à la cellule courante ' 5- Définir l'action courante comme action source pour le nouveau document ' => Ceci empêchera de générer deux fois si l'action n'est pas muliple If obj Is Nothing Then Exit Sub Dim sourceCell, targetCell, modelDoc, sourceModel, targetModel ' Le script est défini sur l'action, donc la cellule courante ' n'est que le parent de l'action Set targetCell = obj.Parent ' Vérifions d'abord si nous pouvons exécuter l'action sur la ' cellule courante ' Pour les action non-multiple, CanExecute ne doit renvoyer true ' que la première fois If obj.CanExecute(targetCell) Then ' Obtenir la cellule source Set sourceCell = FindCellByCode(targetCell.Parent, "mySourceCell") ' voir code de fonction sous l'instruction End Sub ' Obtenir le modèle source (supposé être le premier dans ' sa liste d'artefacts) Set modelDoc = sourceCell.ArtifactDocuments.Item(0) Set sourceModel = modelDoc.TargetModelObject ' Générer le MPD Set targetModel = sourceModel.GenerateModel (Nothing, PdPDM.cls_Model) ' Attacher le modèle généré à la cellule courante Set modelDoc = targetModel.SourceModelDocument targetCell.AttachDocument(modelDoc) ' Définir l'action courante comme source pour le nouveau modèle obj.SetAsSource(modelDoc) Else ' Dans cet exemple, l'action est supposée être non-multiple ' Par conséquent, CanExecute échoue si elle est déjà une ' action source pour un document existant output "L'action a déjà été exécutée" End If End Sub ' Fonction FindCellByCode (fonction de script global) : Function FindCellByCode (fmx, Code) Set FindCellByCode = Nothing Dim Cell For Each Cell In fmx.cells If Cell.Code = Code Then Set FindCellByCode = Cell Exit For End If Next End Function >>