Идентификатор пакета в Sparx Enterprise Achitect - PullRequest
0 голосов
/ 11 сентября 2018

У меня проблема с пакетами в EA.Я создал SQLQuery, который возвращает пакет по имени.Диаграмма «Процесс 1», которую я хочу создать, получает идентификатор пакета, который является родительским пакетом, а не выбранным.Если я использую Repository.GetTreeSelectedObject(); вместо этого, я получаю правильный пакет.Я сделал обходной путь, создав «Пустой пакет» под «Моим пакетом» и использовав его вместо «/ Мой пакет / Пустой пакет /».В чем проблема?

Работает (я выбираю «Мой пакет» и запускаю скрипт):

var thePackage as EA.Package;
thePackage = Repository.GetTreeSelectedObject();

var diagram as EA.Diagram;
diagram = thePackage.Diagrams.AddNew("Process 1", "process");
diagram.Update();

Это не работает (схема создала один пакет выше «Моего пакета»):

var collection as EA.Collection;
var thePackage as EA.Package;

collection = Repository.GetElementsByQuery("Package By Name", "My Package");
thePackage = collection.GetAt(0);

var diagram as EA.Diagram;
diagram = thePackage.Diagrams.AddNew("Process 1", "process");
diagram.Update();

Обходной путь (схема '/ Мой пакет / Пустой пакет /' в 'Мой пакет'):

var collection as EA.Collection;
var thePackage as EA.Package;

collection = Repository.GetElementsByQuery("Package By Name", "Dummy Package");
thePackage = collection.GetAt(0);

var diagram as EA.Diagram;
diagram = thePackage.Diagrams.AddNew("Process 1", "process");
diagram.Update();

Спасибо!

С уважением, Патрик

...