Profile picture for user S_Schulz

Hello community,

I generate a header for our BPMN models using an automatic Marko report that displays certain attributes of the model in the top left-hand corner. I would like to group this created object so that it can no longer be moved in size and position. However, I do not have the necessary line of code to do this. 

Enclosed is the working code that represents the header.

var db = ArisData.getActiveDatabase()
var lang = Context.getSelectedLanguage(); 
var model = ArisData.getSelectedModels()[0]
model.setAttrOccHandling(2)

if (db.Name(lang).compareTo("SL_Operations")== 0) 
{ 
  {  
    //Selektiere die Aktuelle Datenbank und das Model
    //try{   
        var SLAM = false
        var x=55
        var y=55
        
        if(db.Name(lang).compareTo("SL_Operations")== 0)
        {
            var SLAM = true
        }    

        // Die Schriftarten müssen der Datenbank zugeordnet sein. Ansonsten werden diese nicht korrekt angewendet
        var fontTitel = db.FontStyleList()[0]
        var fontAttr = db.FontStyleList()[0]    //Dieser Font ist SL_OP_Schriftformat_Header fü die Bezeichnung des platzierten Attributs
        var fontAttrF = db.FontStyleList()[0]   //Dieser Font ist SL_OP_Schriftformat_Header_Fett fü die Bezeichnung des platzierten Attributs
        var fontStandard = db.FontStyleList()[0]
        
        model.setTemplate("1495c1a0-fafe-11ee-0de7-8ae715322932") //--> Stelle die Vorlage des Modells ein --> GUID vom SL_Operations BPMN2.0 & Prozesslandkarte
        
        for(var i=0; i<db.FontStyleList().length; i++) 
        {
            if (db.FontStyleList()[i].Attribute(Constants.AT_NAME,lang).getValue().compareTo("SL_OP_Schriftformat_Header") == 0)
            {
                fontAttr = db.FontStyleList()[i]
            } 
            if (db.FontStyleList()[i].Attribute(Constants.AT_NAME,lang).getValue().compareTo("SL_OP_Schriftformat_Header_Fett") == 0)
            {
                fontAttrF = db.FontStyleList()[i];              
            } 
           if (db.FontStyleList()[i].Attribute(Constants.AT_NAME,lang).getValue().compareTo("Standard") == 0)
            {
                fontStandard = db.FontStyleList()[i]
            } 
        }
        if (SLAM == true){fontAttr = fontStandard}
        
        // Finde das Modell Modellkopf per GUID        
        var TextOccList = model.TextOccList()
        
        //Modellstammdaten -------------------------------------------------------------------------------------------------------------------------
        var rect = model.createRoundedRectangle (x,y,3000,650);
        rect.setZOrder(rect.getZOrder()- 1)
        rect.setFillColor(16777215)
        rect.setShaded(true)
        
        //Name Text
        var NameText = "Prozessname: ";  // Fester Textbaustein
        var NameTextObj = model.CreateTextOcc(x+1050,y+55,NameText);
        NameTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)
        //Name
        var modelNameTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("AT_NAME");
        var modelNameObj = model.CreateTextOcc(x+1500,y+55,modelNameTypeNum)
        modelNameObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
        modelNameObj.AttrOccList()[0].setFontStyleSheet(fontAttr)   
        
        //Erstelldatum Text
        var modellErstellDatumText = "Erstelldatum: ";  // Fester Textbaustein
        var modellErstellDatumTextObj = model.CreateTextOcc(x+1050,y+105,modellErstellDatumText)
        modellErstellDatumTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)
        //Erstelldatum 105
        var modellErstellDatumTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("AT_CREAT_TIME_STMP");
        var modellErstellDatumObj = model.CreateTextOcc(x+1500,y+105,modellErstellDatumTypeNum)
        modellErstellDatumObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
        modellErstellDatumObj.AttrOccList()[0].setFontStyleSheet(fontAttr)    
        
            //Letze Bearbeitung Text
            //var modellAenderungLetzteText = "Letzte Bearbeitung: ";  // Fester Textbaustein
            //var modellAenderungLetzteTextObj = model.CreateTextOcc(x+1050,y+155,modellAenderungLetzteText)
            //modellAenderungLetzteTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)              
            //Letze Bearbeitung 155
            //var modellAenderungLetzteTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("AT_LAST_CHNG_2");
            //var modellAenderungLetzteObj = model.CreateTextOcc(x+1500,y+155,modellAenderungLetzteTypeNum)
            //modellAenderungLetzteObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
            //modellAenderungLetzteObj.AttrOccList()[0].setFontStyleSheet(fontAttr)
        
            //Durch Text
            //var modellAenderungDurchText = "durch: ";  // Fester Textbaustein
            //var modellAenderungDurchTextObj = model.CreateTextOcc(x+1880,y+155,modellAenderungDurchText)
            //modellAenderungDurchTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)
            //Durch        155
            //var modellAenderungDurchTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("AT_LUSER");
            //var modellAenderungDurchObj = model.CreateTextOcc(x+2005,y+155,modellAenderungDurchTypeNum)
            //modellAenderungDurchObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
            //modellAenderungDurchObj.AttrOccList()[0].setFontStyleSheet(fontAttr)
        
        //Prozessverantwortlicher Text
        var prozessverantwortungText = "Prozessverantwortlicher: ";  // Fester Textbaustein
        var prozessverantwortungTextObj = model.CreateTextOcc(x+1050,y+170,prozessverantwortungText)
        prozessverantwortungTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)    
       //Prozessverantwortlicher180
        var prozessverantwortungTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("AT_PERS_RESP");
        var prozessverantwortungObj = model.CreateTextOcc(x+1500,y+170,prozessverantwortungTypeNum)
        prozessverantwortungObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
        prozessverantwortungObj.AttrOccList()[0].setFontStyleSheet(fontAttr)     
        
        //Prozessklassifizierung Text
        var prozessklassifizierungText = "Prozessklassifizierung: ";  // Fester Textbaustein
        var prozessklassifizierungTextObj = model.CreateTextOcc(x+1050,y+220,prozessklassifizierungText)
        prozessklassifizierungTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)
        //Prozessklassifizierung230
        var prozessklassifizierungTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("739e0831-e1de-11ee-0cc6-86ddf6366627");
        var prozessklassifizierungObj = model.CreateTextOcc(x+1500,y+220,prozessklassifizierungTypeNum)       
        prozessklassifizierungObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4) //2 = Attributnamen + Attributwert; 4 = Attributwert 
        prozessklassifizierungObj.AttrOccList()[0].setFontStyleSheet(fontAttr)         
        
        //Freigabestatus Text
        var modelstatusText = "Freigabestatus: ";  // Fester Textbaustein
        var modelstatusTextObj = model.CreateTextOcc(x+1050,y+295,modelstatusText)
        modelstatusTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)        
        //Freigabestatus305
        var modelstatusNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("1fca65d1-e2da-11ee-7126-7268366c9a82");
        model.Attribute(modelstatusNum,Context.getSelectedLanguage(),true).setValue("Offen")
        var modelstatusObj = model.CreateTextOcc(x+1500,y+295,modelstatusNum)
        modelstatusObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
        modelstatusObj.AttrOccList()[0].setFontStyleSheet(fontAttr)
        
        //FreigabeDatum Text
        var modellFreigabeDatumText = "Letzte Freigabe: ";  // Fester Textbaustein
        var modellFreigabeDatumTextObj = model.CreateTextOcc(x+1050,y+345,modellFreigabeDatumText)
        modellFreigabeDatumTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)
        //FreigabeDatum355
        var modellFreigabeDatumTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("AT_REL_ON");
        var modellFreigabeDatumObj = model.CreateTextOcc(x+1500,y+345,modellFreigabeDatumTypeNum)
        modellFreigabeDatumObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
        modellFreigabeDatumObj.AttrOccList()[0].setFontStyleSheet(fontAttr)
        //durch Text
        var modellFreigabeDatumDurchText = "durch: ";  // Fester Textbaustein
        var modellFreigabeDatumDurchTextObj = model.CreateTextOcc(x+1880,y+345,modellFreigabeDatumDurchText)
        modellFreigabeDatumDurchTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)
        //durch
        var modellFreigabeDatumDurchTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("AT_REL_BY");
        var modellFreigabeDatumDurchObj = model.CreateTextOcc(x+2005,y+345,modellFreigabeDatumDurchTypeNum)
        modellFreigabeDatumDurchObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
        modellFreigabeDatumDurchObj.AttrOccList()[0].setFontStyleSheet(fontAttr)
        
        //Prozessbeschreibung Text
        var prozessbeschreibungText = "Prozessbeschreibung: ";  // Fester Textbaustein
        var prozessbeschreibungTextObj = model.CreateTextOcc(x+1050,y+420,prozessbeschreibungText)
        prozessbeschreibungTextObj.AttrOccList()[0].setFontStyleSheet(fontAttrF)        
        //Prozessbeschreibung430
        var prozessbeschreibungTypeNum = ArisData.ActiveFilter().UserDefinedAttributeTypeNum("AT_DESC");
        var prozessbeschreibungObj = model.CreateTextOcc(x+1500,y+420,prozessbeschreibungTypeNum)
        prozessbeschreibungObj.AttrOccList()[0].SetPortOptions(Constants.ATTROCC_PORT_FREE, 4)
        prozessbeschreibungObj.AttrOccList()[0].setFontStyleSheet(fontAttr)          
        prozessbeschreibungObj.AttrOccList()[0].setTextBoxSize(1470,45)
  }
        
       
        //Logo --------------------------------------------------------------------------------------------------------------------------------       
        var curOleObj = Context.getFile ("SL_Operations_Header.jpg", Constants.LOCATION_COMMON_FILES)
        model.createPicture(x+50,y+75,950,250,curOleObj, Constants.IMAGE_FORMAT_PNG)
//}catch(e){}
} 

Can someone help me to add the grouping and fixing?

Many thanks in advance

 

Featured achievement

Question Solver
Share your expertise and have your answer accepted as best reply.
Recent Unlocks
  • BZ
  • Profile picture for user TEF_Bernd
  • ПЦ
  • CR
  • BH
  • PacMan

Leaderboard

|
icon-arrow-down icon-arrow-cerulean-left icon-arrow-cerulean-right icon-arrow-down icon-arrow-left icon-arrow-right icon-arrow icon-back icon-close icon-comments icon-correct-answer icon-tick icon-download icon-facebook icon-flag icon-google-plus icon-hamburger icon-in icon-info icon-instagram icon-login-true icon-login icon-mail-notification icon-mail icon-mortarboard icon-newsletter icon-notification icon-pinterest icon-plus icon-rss icon-search icon-share icon-shield icon-snapchat icon-star icon-tutorials icon-twitter icon-universities icon-videos icon-views icon-whatsapp icon-xing icon-youtube icon-jobs icon-heart icon-heart2 aris-express bpm-glossary help-intro help-design Process_Mining_Icon help-publishing help-administration help-dashboarding help-archive help-risk icon-knowledge icon-question icon-events icon-message icon-more icon-pencil forum-icon icon-lock