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